CS 457 Lecture 4 Link Layer & Reliable Delivery Part 1. Fall 2011

CS 457 – Lecture 4 Link Layer & Reliable Delivery Part 1 Fall 2011 Message, Segment, Packet, & Frame • host • host • HTTP message • HTTP • TCP s...
Author: Alvin Walsh
0 downloads 0 Views 452KB Size
CS 457 – Lecture 4 Link Layer & Reliable Delivery Part 1 Fall 2011

Message, Segment, Packet, & Frame • host

• host

• HTTP message

• HTTP

• TCP segment

• TCP • router • IP

• Ethernet • interface

• HTTP

• IP packet

• IP

• Ethernet • interface

• Ethernet frame

• TCP

• router • IP packet

• SONET • interface

• SONET • interface

• IP packet

• IP

• Ethernet • interface

• SONET frame WE ARE HERE IN THE LAYERS

• IP

• Ethernet • interface

• Ethernet frame

Point to Point Data Links

•  One sender, One receiver, One link: –  no Media Access Control –  no need for explicit MAC addressing –  e.g., dialup link, ISDN line •  Popular Point-to-Point DLC protocols: –  PPP (point-to-point protocol) –  HDLC: High level data link control

Encoding Bits On The Wire •  Simple idea of “high” for 1 and low for 0 –  Say 1 usec per bit. Sender sends 4 bits with 4 usec “high” –  Receiver sees 4.6 usec of “high”…. Was that 4 or 5 bits?

•  Allows clocks in sending and receiving nodes to synchronize to each other –  no need for a centralized, global clock among nodes!

•  Physical-layer stuff for Electrical Engineers!

Variety of Encoding Approaches

Data Frame •  Link Layer Protocols Define Data Frames –  Header information, error checking, –  Data to transmit (Body)

Ethernet Frame Structure •  Sending adapter encapsulates packet in frame

•  Preamble: synchronization –  Seven bytes with pattern 10101010, followed by one byte with pattern 10101011 –  Used to synchronize receiver, sender clock rates

Ethernet Frame Structure (Cont.) •  Addresses: source and destination MAC addresses –  Adaptor passes frame to network-level protocol •  If destination address matches the adaptor •  Or the destination address is the broadcast address

–  Otherwise, adapter discards frame

•  Type: indicates the higher layer protocol –  Usually IP –  But also Novell IPX, AppleTalk, …

•  CRC: cyclic redundancy check –  Checked at receiver –  If error is detected, the frame is simply dropped

Error Detection • 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

Parity Checking • Single Bit Parity: • Detect single bit errors

• Two Dimensional Bit Parity: • Detect and correct single bit errors

0

0

Internet Checksum •  Goal: detect “errors” (e.g., flipped bits) in transmitted segment Receiver:

Sender: •  treat segment contents as sequence of 16-bit integers •  checksum: addition (1’s complement sum) of segment contents •  sender puts checksum value into UDP checksum field

•  • 

compute checksum of received segment check if computed checksum equals checksum field value: –  NO - error detected –  YES - no error detected. But maybe errors nonetheless? More later ….

Checksumming: Cyclic Redundancy Check •  view data bits D as a polynomial •  choose r+1 polynomial C •  goal: choose r CRC bits, R, such that –  exactly divisible by C (modulo 2) –  receiver knows C, divides by C. If non-zero remainder: error detected! –  can detect all burst errors less than r+1 bits

•  widely used in practice (ATM, HDCL)

CRC Example Want: D.2r XOR R = nG equivalently: D.2r = nG XOR R equivalently: if we divide D.2r by G, want remainder R

R = remainder[

D.2r G

]

Reliable Transfer Fundamental Networking Topic Most important topic thus far in this course

•  Frames may be lost or corrupted –  Encoding failures where clocks get out of sync –  Error detection reports packet is corrupted –  And a vast number of other reasons….

•  Can we build link so it appears reliable? –  Build link so errors never occur?? •  not feasible

–  Add error correction to frames? •  Requires lots of additional overhead bytes for each frame •  Doesn’t help if entire frame lost (e.g. clock sync error)

Stop and Wait (first attempt… has an error) •  Sender writes frame onto wire and sets a timeout to wait for an ACK –  Sender now “stops” and “waits” for the ACK

•  Upon receiving a packet, receiver sends an ACK •  Sender Will Either 1) receive an ACK and can send next frame 2) times out and receives the “lost” frame

• Pack

et

• ACK

• Packet lost

et

• ACK

• Pack

et

• ACK

• Timeout

• Pack

• Pack

et

• Pack

et

• Timeout

et

• Timeout

• Pack

• Timeout

• Timeout

• Timeout

Reasons for Retransmission

• ACK

• ACK lost

• Early timeout

• DUPLICATE PACKET

• DUPLICATE PACKETS

Stop and Wait (second attempt) •  Sender writes frame onto wire with Seq #0 and sets a timeout to wait for an ACK –  Sender now “stops” and “waits” for the ACK

•  Upon receiving a packet with Seq #0 receiver sends an ACK for Seq #0 •  Sender Will Either 1) receive an ACK with Seq #0 and send next frame with Seq #1 2) times out and resends the frame with Seq #0

Stop and Wait in Action

Stop and Wait In Action (2)

What’s Next •  Read Chapter 1, 2.1 - 2.5 •  Next Lecture Topics from Chapter 2.5 –  Reliable Transmission •  Critical Topic In Networking

•  Homework –  Due Thursday

•  Project 1 –  Due 9/16 by 11:45

Suggest Documents