1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment...

85
1 CSE524: Lecture 4 Data-link Layer (Part 1)

Transcript of 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment...

Page 1: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

1

CSE524: Lecture 4

Data-link Layer (Part 1)

Page 2: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

2

Administrative

• Homework #1 due

• Reading assignment due by Mon. 10/8/2001– Chapter 5: Sections 5.1-5.4

• CSE524 e-mail list– E-mail TA if you still have not received any

messages from the list

Page 3: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

3

Last class

• Physical layer– Copper– Fiber– Wireless

Page 4: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

4

Next layer

• Data-link layer– Functions– Specific link layer examples– Data-link layer devices

Page 5: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

5

Data-link layer

Page 6: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

6

Data-link layer

• Two physically connected devices:– host-router, router-router, host-host, host-switch, host-hub

• Implemented on network adapter card– typically includes: RAM, DSP chips, host bus interface, and link

interface

applicationtransportnetwork

linkphysical

networklink

physical

M

M

M

M

Ht

HtHn

HtHnHl MHtHnHl

framephys. link

data linkprotocol

adapter card

Page 7: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

7

Data-link layer functions

• Moving datagrams between adjacent nodes– Digital to analog conversion

– Framing

– Physical addressing

– Demux to upper protocol

– Flow control

– Error detection and correction

– Reliable delivery

– Security

– Media access and quality of service

Page 8: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

8

Data-link layer examples

• Specific implementations– Ethernet 802.3– Token ring 802.5– WiFi 802.11b– PPP– FDDI– ATM– SONET/SDH

Page 9: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

9

Data-link layer devices

• Devices which operate at the data-link layer level– Hubs– Bridges– Switches

Page 10: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

10

DL: Digital to analog conversion

• Bits sent as analog signals– Photonic pulses of a given wavelength over optical

fiber– Electronic signals of a given voltage

Page 11: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

11

DL: Digital to analog conversion

• Will cover electronic transmission (optical transmission left for you to research)

• When to sample voltage?• Detecting sequences involves clocking with the same

clock– How to synchronize sender and receiver clocks?

• Need easily detectible event at both ends– Signal transitions help resync sender and receiver– Need frequent transitions to prevent clock skew

• http://www.mouse.demon.nl/ckp/telco/encode.htm

Page 12: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

12

DL: RZ

• Return to Zero (RZ)– 1=pulse to high, dropping back to low– 0=no transition

Page 13: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

13

DL: NRZ-L

• Non-Return to Zero Level (NRZ-L)– 1=high signal, 0=lower signal– Long sequence of same bit causes difficulty

• DC bias hard to detect – low and high detected by difference from average voltage

• Clock recovery difficult

– Used by Synchronous Optical Network (SONET)• SONET XOR’s bit sequence to ensure frequent transitions

– Used in early magnetic tape storage

Page 14: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

14

DL: NRZ-L

Page 15: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

15

DL: NRZ-M

• Non-Return to Zero Mark– Less power to transmit versus NRZ– 1=signal transition at start of bit, 0=no change– No problem with string of 1’s– NRZ-like problem with string of 0’s– Used in SDLC (Synchronous Data Link Control)– Used in modern magnetic tape storage

Page 16: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

16

DL: NRZ-S

• Non-Return to Zero Space– 1=no change, 0=signal transition at start of bit– No problem with string of 0’s– NRZ-like problem with string of 1’s

Page 17: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

17

DL: Manchester (Bi-Phase-Level) coding

• Used by Ethernet

• 0=low to high transition, 1=high to low transition

• Transition for every bit simplifies clock recovery

• Not very efficient– Doubles the number of transitions– Circuitry must run twice as fast

Page 18: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

18

DL: Manchester coding

• Encoding for 110100

Bit stream

1 1 0 1 0 0

Manchester encoding

Page 19: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

19

DL: Other coding schemes

• Bi-Phase-Mark, Bi-Phase-Space– Level change at every bit period boundary– Mid-period transition determines bit

• Bi-Phase-M: 0=no change, 1=signal transition

• Bi-Phase-S: 0=signal transition, 1=no change

Page 20: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

20

DL: Other coding schemes

• Differential Bi-Phase-Space, Differential Bi-Phase-Mark– Level change at every mid-bit period boundary– Bit period boundary transition determines bit

• Diff-Bi-Phase-M: 0=signal transition, 1=no change

• Diff-Bi-Phase-S: 0=no change, 1=signal transition

Page 21: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

21

DL: Framing

• Data encapsulation for transmission over physical link

• Data embedded within a link-layer frame before transmission

• Data-link header and/or trailer added

• Physical addresses used in frame headers to identify source and destination (not IP)

Page 22: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

22

DL: Fixed length framing

• Length delimited– Beginning of frame has length– Single corrupt length can cause problems

• Must have start of frame character to resynchronize

• Resynchronization can fail if start of frame character is inside packets as well

Page 23: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

23

DL: Variable length framing

• Byte stuffing– Special start of frame byte (e.g. 0xFF)– Special escape byte value (e.g. 0xFE)– Values actually in text are replaced (e.g. 0xFF by

0xFEFF and 0xFE by 0xFEFE)– Worst case – can double the size of frame

• Bit stuffing– Special bit sequence (0x01111110)– 0 bit stuffed after any 11111 sequence

Page 24: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

24

DL: Clock-Based Framing

• Used by SONET

• Fixed size frames (810 bytes)

• Look for start of frame marker that appears every 810 bytes

• Will eventually sync up

Page 25: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

25

DL: Physical addressing

• LAN (or MAC or physical) address– Used to get datagram from one interface to another

physically-connected interface (same network)• IP address used to route between networks

– 48 bit MAC address (for most LANs) burned in adapter ROM• ifconfig –a• arp -a

– Address space assigned and managed by IEEE• Manufacturer buys portion of MAC address space to ensure

uniqueness

– Special LAN broadcast address• FF-FF-FF-FF-FF-FF

Page 26: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

26

DL: Physical addressing

• Why have separate IP and hardware addresses?

–Assign adapters an IP address

•Hardware only works for IP (no IPX, DECNET)

•Must be reconfigured when moved

–Use hardware address as network address

•Need standardized fixed length hardware address

•No route aggregation

Page 27: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

27

DL: Physical addressing

• Analogy:

(a) MAC address: like Social Security Number

(b) IP address: like postal address

• MAC flat address => portability – can move LAN card from one LAN to another

• IP hierarchical address NOT portable– depends on network to which one attaches

Page 28: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

28

DL: Demux to upper protocol

• Protocol type specification interfaces to network layer

• Data-link layer can support any number of network layers

• Type field in data-link header specifies network layer of packet

• IP is one of many network layers • Each data-link layer defines its own protocol

type numbering for network layer

Page 29: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

29

DL: Demux to upper protocol

• http://www.cavebear.com/CaveBear/Ethernet/type.html

• Some Ethernet protocol types– 0800 DOD Internet Protocol (IP) – 0806 Address Resolution Protocol (ARP)– 8037 IPX (Novell Netware) – 80D5 IBM SNA Services– 809B EtherTalk (AppleTalk over Ethernet)

Page 30: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

30

DL: LAN Addresses and ARP

Each adapter on LAN has unique LAN address

Page 31: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

31

DL: Recall earlier routing discussion

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Starting at A, given IP datagram addressed to B:

• look up net. address of B, find B on same net. as A

• link layer send datagram to B inside link-layer frame

B’s MACaddr

A’s MACaddr

A’s IPaddr

B’s IPaddr

IP payload

datagramframe

frame source,dest address

datagram source,dest address

Page 32: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

32

DL: ARP: Address Resolution Protocol

• Each IP node (Host, Router) on LAN has ARP module, table

• ARP Table: IP/MAC address mappings for some LAN nodes

< IP address; MAC address; TTL> < ………………………….. >

– TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)

Question: how to determineMAC address of Bgiven B’s IP address?

Page 33: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

33

DL: ARP protocol

• A knows B's IP address, wants to learn physical address of B

• A broadcasts ARP query pkt, containing B's IP address – all machines on LAN receive ARP query

• B receives ARP packet, replies to A with its (B's) physical layer address

• A caches (saves) IP-to-physical address pairs until information becomes old (times out) – soft state: information that times out (goes

away) unless refreshed

Page 34: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

34

DL: Routing to another LAN

walkthrough: routing from A to B via R

– In routing table at source Host, find router 111.111.111.110– In ARP table at source, find MAC address E6-E9-00-17-BB-

4B, etc

A

RB

Page 35: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

35

– A creates IP packet with source A, destination B – A uses ARP to get R’s physical layer address for 111.111.111.110

– A creates Ethernet frame with R's physical address as dest, Ethernet frame contains A-to-B IP datagram

– A’s data link layer sends Ethernet frame

– R’s data link layer receives Ethernet frame

– R removes IP datagram from Ethernet frame, sees its destined to B

– R uses ARP to get B’s physical layer address

– R creates frame containing A-to-B IP datagram sends to B

A

RB

Page 36: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

36

DL: RARP, BOOTP, DHCPARP: Given an IP address, return a hardware addressRARP: Given a hardware address, give me the IP addressDHCP, BOOTP: Similar to RARPHosts (host portion):• hard-coded by system admin in a file• DHCP: Dynamic Host Configuration Protocol: dynamically get

address: “plug-and-play”– host broadcasts “DHCP discover” msg– DHCP server responds with “DHCP offer” msg– host requests IP address: “DHCP request” msg– DHCP server sends address: “DHCP ack” msg

Page 37: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

37

DL: Flow control

• Pacing between sender and receiver

• Sender prevented from overrunning receiver

• Ready-To-Send, Clear-To-Send

Page 38: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

38

DL: Error detection/correction

• Errors caused by signal attenuation, noise.

• Receiver detects presence of errors

• Possible actions– Signal sender for retransmission– Drops frame– Correct bit errors if possible and continue

Page 39: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

39

DL: Error detection/correction

EDC= Error Detection and Correction bits (redundancy)D = Data protected by error checking, may include header fields

• Error detection not 100% reliable!• protocol may miss some errors, but rarely• larger EDC field yields better detection and correction

Page 40: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

40

DL: Parity checking

Single Bit Parity:Detect single bit errors

Two Dimensional Bit Parity:Detect and correct single bit errors

0 0

Page 41: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

41

DL: Checksums

Sender:• treat segment contents as sequence

of 16-bit integers• checksum: addition (1’s

complement sum) of segment contents

• simple to implement, weak detection (easily tricked by common bit error patterns)

• used by TCP, UDP, IP..• sender puts checksum value into

header

Receiver:• compute checksum of received

segment

• check if computed checksum equals checksum field value:

– NO - error detected

– YES - no error detected. But maybe errors nonethless? More later ….

Goal: detect bit errors in transmitted segment

Page 42: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

42

DL: Cyclic Redundancy Check (CRC)

• Polynomial code– Treat packet bits a coefficients of n-bit polynomial– Choose r+1 bit generator polynomial (well known –

chosen in advance)– Add r bits to packet such that message is divisible by

generator polynomial

• Better loss detection properties than checksums– All single bit errors, all double bit errors, all odd-

numbered errors, burst errors less than r

Page 43: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

43

DL: Cyclic Redundancy Check (CRC)

• Calculate code using modulo 2 division of data by generator polynomial

• Record remainder after division and send after data

• Result divisible by generator polynomial

Page 44: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

44

DL: CRC polynomials

• CRC-16 = x16 + x15 + x2+ 1 (used in HDLC)

• CRC-CCITT = x16 + x12 + x5 + 1

• CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (used in Ethernet)

Page 45: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

45

DL: Cyclic Redundancy Check (CRC)

• CRC-16 implementation

• Shift register and XOR gates

Page 46: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

46

DL: CRC example

Data:

101110

Generator Polynomial:

x3 + 1 (1001)

Send:

101110011

Page 47: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

47

DL: Forward error correction

• FEC– Use error correcting codes to repair losses– Add redundant information which allows receiver to

correct bit errors– Suggest looking at information and coding theory

work.

Page 48: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

48

DL: Reliable delivery

• Reliability at the link layer

• Handled in a similar manner to transport protocols

• When and why should this be used? –Rarely done over twisted-pair or fiber optic links–Usually done over lossy links for performance improvement (versus correctness)

Page 49: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

49

DL: ARQ

• Automatic Repeat Request (ARQ)– Receiver sends acknowledgement (ACK) when it

receives packet– Sender waits for ACK and timeouts if it does not

arrive within some time period

Page 50: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

50

DL: Stop and Wait

Time

Packet

ACKTim

eou

t

• Simplest ARQ protocol

• Send a packet, stop and wait until acknowledgement arrives

Sender Receiver

Page 51: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

51

DL: Recovering from Error

Packet

ACK

Tim

eou

t

Packet

ACK

Tim

eou

t

Packet

Tim

eou

t

Packet

ACKT

ime

out

Time

Packet

ACK

Tim

eou

t

Packet

ACK

Tim

eou

t

ACK lost Packet lost Early timeout

Page 52: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

52

DL: Stop and Wait Problems

• How to recognize a duplicate?

• Performance– Can only send one packet per round trip

Page 53: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

53

DL: How to Recognize Resends?

• Use sequence numbers– both packets and acks

• Sequence # in packet is finite -- how big should it be? – For stop and wait?

• One bit – won’t send seq #1 until received ACK for seq #0

Pkt 0

ACK 0

Pkt 0

ACK 1

Pkt 1ACK 0

Page 54: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

54

DL: How to Keep the Pipe Full?

• Send multiple packets without waiting for first to be acked– Number of pkts in flight = window

• How large a window is needed– Round trip delay * bandwidth =

capacity of pipe

• Reliable, unordered delivery– Several parallel stop & waits– Send new packet after each ack– Sender keeps list of unack’ed packets;

resends after timeout– Receiver same as stop&wait

Page 55: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

55

DL: Sliding Window

• Reliable, ordered delivery

• Receiver has to hold onto a packet until all prior packets have arrived

• Sender must prevent buffer overflow at receiver

• Circular buffer at sender and receiver– Packets in transit <= buffer size – Advance when sender and receiver agree packets at

beginning have been received

Page 56: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

56

ReceiverReceiverSenderSender

DL: Sender/Receiver State

… …

Sent & Acked Sent Not Acked

OK to Send Not Usable

… …

Max acceptable

Receiver window

Max ACK received Next seqnum

Received & Acked Acceptable Packet

Not Usable

Sender window

Next expected

Page 57: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

57

DL: Window Sliding – Common Case

• On reception of new ACK (i.e. ACK for something that was not acked earlier– Increase sequence of max ACK received– Send next packet

• On reception of new in-order data packet (next expected)– Hand packet to application– Send cumulative ACK – acknowledges reception of

all packets up to sequence number– Increase sequence of max acceptable packet

Page 58: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

58

DL: Loss Recovery

• On reception of out-of-order packet– Send nothing (wait for source to timeout)– Cumulative ACK (helps source identify loss)

• Timeout (Go Back N recovery)– Set timer upon transmission of packet– Retransmit max ACK received sequence + 1– Restart from max ACK received sequence + 1

• Performance during loss recovery– No longer have an entire window in transit– Can have much more clever loss recovery

• Covered in TCP lectures

Page 59: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

59

DL: Sequence Numbers

• How large do sequence numbers need to be?– Must be able to detect wrap-around– Depends on sender/receiver window size

• E.g.– Max seq = 7, send win=recv win=7– If pkts 0..6 are sent succesfully and all acks lost

• Receiver expects 7,0..5, sender retransmits old 0..6

• Max sequence must be >= send window + recv window

Page 60: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

60

DL: Security

• Mainly for broadcast data-link layers– Encrypt payload of higher layers– Hide IP source/destination from eavesdroppers– Important for wireless LANs especially

• Parking lot attacks

• 802.11b and WEP

• If time permits, security will be covered at the end of the course….

Page 61: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

61

DL: Media access and quality of service

• How and when can a node transmit?• Directly controls per-hop quality-of-service• Three types of links

– point-to-point (single wire, e.g. PPP, SLIP)– broadcast (shared wire or medium; e.g, Ethernet, Wavelan,

etc.)

– switched (e.g., switched Ethernet, ATM etc)

Page 62: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

62

DL: Media access

• Point-to-point link and switched media no problem• Broadcast links?

– Network arbitration– Give everyone a fixed time/freq slot?

• Ok for fixed bandwidth (e.g., voice)• What if traffic is bursty?

– Centralized arbiter• Ex: cell phone base station• Single point of failure

– Distributed arbitration• Aloha/Ethernet

– Humans use multiple access protocols all the time

Page 63: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

63

DL: Media access protocols

• single shared communication channel • two or more simultaneous transmissions by nodes:

interference – only one node can send successfully at a time

• multiple access protocol:– distributed algorithm that determines how stations share channel,

i.e., determine when station can transmit– communication about channel sharing uses channel itself! – what to look for in multiple access protocols:

• synchronous or asynchronous • information needed about other stations • robustness (e.g., to channel errors) • performance

Page 64: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

64

DL: Media access protocols

Three broad classes:• Channel Partitioning

– divide channel into smaller “pieces” (time slots, frequency)

– allocate piece to node for exclusive use

• Random Access– allow collisions– “recover” from collisions

• “Taking turns”– tightly coordinate shared access to avoid collisions

Goal: efficient, fair, simple, decentralized

Page 65: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

65

DL: Channel Partitioning MAC protocols

Synchronous TDMA: time division multiple access • TDM (Time Division Multiplexing): channel divided into N

time slots, one per user; inefficient with low duty cycle users and at light load.

• access to channel in "rounds"

• each station gets fixed length slot (length = pkt trans time) in each round

• unused slots go idle

• example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle

Page 66: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

66

DL: Channel Partitioning MAC protocols

FDMA: frequency division multiple access • channel spectrum divided into frequency bands• each station assigned fixed frequency band• unused transmission time in frequency bands go idle • example: 6-station LAN, 1,3,4 have pkt, frequency

bands 2,5,6 idle fr

equ

ency

bands time

Page 67: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

67

DL: Channel Partitioning MAC protocols

CDMA (Code Division Multiple Access) • unique “code” assigned to each user; ie, code set partitioning

• used mostly in wireless broadcast channels (cellular, satellite,etc)

• all users share same frequency, but each user has own “chipping” sequence (ie, code) to encode data

• encoded signal = (original data) X (chipping sequence)

• decoding: inner-product of encoded signal and chipping sequence

• allows multiple users to “coexist” and transmit simultaneously with minimal interference (if codes are “orthogonal”)

Page 68: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

68

DL: Channel Partitioning MAC protocols

• CDMA Encode/Decode

Page 69: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

69

DL: Channel Partitioning MAC protocols

• CDMA: two sender interference

Page 70: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

70

DL: Random access protocols

• “Asynchronous” TDMA• When node has packet to send

– transmit at full channel data rate R.– no a priori coordination among nodes

• two or more transmitting nodes -> “collision”,• random access MAC protocol specifies:

– how to detect collisions– how to recover from collisions (e.g., via delayed

retransmissions)

• Examples of random access MAC protocols:– slotted ALOHA, ALOHA, CSMA, CSMA/CD

Page 71: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

71

DL: Random access MAC protocols

• Slotted Aloha– Time is divided into equal size slots (= pkt trans. time)

– Node with new arriving pkt: transmit at beginning of next slot

– if collision: retransmit pkt in future slots with probability p, until successful.

Success (S), Collision (C), Empty (E) slots

Page 72: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

72

DL: Random access MAC protocols

• Slotted Aloha efficiency

Q: what is max fraction slots successful?A: Suppose N stations have packets to send

– each transmits in slot with probability p– prob. successful transmission S is:

by single node: S= p (1-p)(N-1)

by any of N nodes

S = Prob (only one transmits) = N p (1-p)(N-1)

… choosing optimum p as n -> infty ...

= 1/e = .37 as N -> infty

At best: channeluse for useful transmissions 37%of time!

Page 73: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

73

DL: Random access MAC protocols

• Pure (unslotted) ALOHA – Simpler, no synchronization

– Packet needs transmission:• Send without awaiting for beginning of slot

– Collision probability increases:• Packet sent at t0 collides with other packets sent in [t0-1, t0+1]

Page 74: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

74

DL: Pure Aloha (cont.)

P(success by given node) = P(node transmits) .

P(no other node transmits in [p0-1,p0] .

P(no other node transmits in [p0,p0+1]

= p . (1-p) . (1-p)

P(success by any of N nodes) = N p . (1-p) . (1-p)

… choosing optimum p as n -> infty ...

= 1/(2e) = .18

S =

thro

ughput

=

“goodput”

(

succ

ess

rate

)

G = offered load = Np0.5 1.0 1.5 2.0

0.1

0.2

0.3

0.4

Pure Aloha

Slotted Aloha

protocol constrainseffective channelthroughput!

Page 75: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

75

DL: Random access MAC protocols

• CSMA: Carrier Sense Multiple AccessCSMA: listen before transmit:• If channel sensed idle: transmit entire pkt• If channel sensed busy, defer transmission

– Persistent CSMA: retry immediately with probability p when channel becomes idle (may cause instability)

– Non-persistent CSMA: retry after random interval• human analogy: don’t interrupt others!

Page 76: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

76

DL: CSMA collisions

collisions can occur:propagation delay means two nodes may not hear each other’s transmissioncollision:entire packet transmission time wasted

spatial layout of nodes along ethernet

note:role of distance and propagation delay in determining collision prob.

Page 77: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

77

DL: CSMA/CD (Collision Detection)

CSMA/CD: carrier sensing, deferral as in CSMA– collisions detected within short time– colliding transmissions aborted, reducing channel

wastage – persistent or non-persistent retransmission

• collision detection: – For wired LANs: measure signal strengths,

compare transmitted, received signals

Page 78: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

78

DL: CSMA/CD collision detection

Page 79: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

79

DL: CSMA/CD problems

• Can CSMA/CD work over wireless LANs?

– Difficult in wireless LANs: receiver shut off while transmitting

– Hidden terminal problem

Page 80: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

80

DL: Hidden Terminal effect

• A, C cannot hear each other

– obstacles, signal attenuation

– collision at B

– goal: avoid collisions at B

Page 81: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

81

DL: CSMA/CA

• Use base CSMA• Add acknowledgements

– Receiver acknowledges receipt of data– Avoids hidden terminal problem

• Avoid collisions explicitly– Sender explicitly indicates length of time its frame will be

transmitted• Others hearing frame back off

– Channel reservation• Sender sends “request-to-send” (RTS) messages• Receiver sends “clear-to-send” (CTS) messages

• Used in 802.11 wireless LAN networks

Page 82: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

82

DL: “Taking Turns” MAC protocols

channel partitioning MAC protocols:– share channel efficiently at high load– inefficient at low load: delay in channel access, 1/N

bandwidth allocated even if only 1 active node! Random access MAC protocols

– efficient at low load: single node can fully utilize channel

– high load: collision overhead“taking turns” protocols

look for best of both worlds!

Page 83: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

83

DL: “Taking Turns” MAC protocols

Polling: • master node

“invites” slave nodes to transmit in turn

• Request to Send, Clear to Send msgs

• concerns:– polling overhead – latency– single point of failure

(master)

Token passing:• control token passed from

one node to next sequentially.

• token message• concerns:

– token overhead

– latency

– single point of failure (token)

Page 84: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

84

DL: Reservation-based protocols

Distributed Polling: • time divided into slots

• begins with N short reservation slots

– reservation slot time equal to channel end-end propagation delay

– station with message to send posts reservation

– reservation seen by all stations

• after reservation slots, message transmissions ordered by

known priority

Page 85: 1 CSE524: Lecture 4 Data-link Layer (Part 1). 2 Administrative Homework #1 due Reading assignment due by Mon. 10/8/2001 –Chapter 5: Sections 5.1-5.4 CSE524.

85

DL: Media access protocols summary

• What do you do with a shared media?– Channel Partitioning, by time, frequency or code

• Time Division, Code Division, Frequency Division

– Random partitioning (dynamic), • ALOHA, S-ALOHA, CSMA, CSMA/CD• carrier sensing: easy in some technoligies (wire), hard in

others (wireless)• CSMA/CD used in Ethernet

– Taking Turns• polling from a central cite, token passing