1 / 85

CSE524: Lecture 4

CSE524: Lecture 4. Data-link Layer (Part 1). 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. Last class. Physical layer Copper Fiber Wireless.

cheryl
Download Presentation

CSE524: Lecture 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 e-mail list • E-mail TA if you still have not received any messages from the list

  3. Last class • Physical layer • Copper • Fiber • Wireless

  4. Next layer • Data-link layer • Functions • Specific link layer examples • Data-link layer devices

  5. Data-link layer

  6. M H H H H H H H H H t n l t t n l t n M M application transport network link physical M 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 network link physical data link protocol M frame phys. link adapter card

  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

  8. Data-link layer examples • Specific implementations • Ethernet 802.3 • Token ring 802.5 • WiFi 802.11b • PPP • FDDI • ATM • SONET/SDH

  9. Data-link layer devices • Devices which operate at the data-link layer level • Hubs • Bridges • Switches

  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

  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

  12. DL: RZ • Return to Zero (RZ) • 1=pulse to high, dropping back to low • 0=no transition

  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

  14. DL: NRZ-L

  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

  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

  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

  18. DL: Manchester coding • Encoding for 110100 Bit stream 1 1 0 1 0 0 Manchester encoding

  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

  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

  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)

  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

  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

  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

  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

  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

  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

  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

  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)

  30. DL: LAN Addresses and ARP Each adapter on LAN has unique LAN address

  31. 223.1.1.1 223.1.2.1 E B A 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 DL: Recall earlier routing discussion 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 frame source, dest address datagram source, dest address A’s IP addr B’s IP addr B’s MAC addr A’s MAC addr IP payload datagram frame

  32. Question: how to determine MAC address of B given B’s IP address? 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)

  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

  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 R B

  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 R B

  36. DL: RARP, BOOTP, DHCP ARP: Given an IP address, return a hardware address RARP: Given a hardware address, give me the IP address DHCP, BOOTP: Similar to RARP Hosts (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

  37. DL: Flow control • Pacing between sender and receiver • Sender prevented from overrunning receiver • Ready-To-Send, Clear-To-Send

  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

  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

  40. DL: Parity checking Two Dimensional Bit Parity: Detect and correct single bit errors Single Bit Parity: Detect single bit errors 0 0

  41. 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 …. DL: Checksums Goal: detect bit errors in transmitted segment 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

  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

  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

  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)

  45. DL: Cyclic Redundancy Check (CRC) • CRC-16 implementation • Shift register and XOR gates

  46. DL: CRC example Data: 101110 Generator Polynomial: x3 + 1 (1001) Send: 101110011

  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.

  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)

  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

  50. Packet ACK DL: Stop and Wait • Simplest ARQ protocol • Send a packet, stop and wait until acknowledgement arrives Sender Receiver Time Timeout

More Related