1 / 52

ECE/CS 372 – introduction to computer networks Lecture 16

Announcements:. ECE/CS 372 – introduction to computer networks Lecture 16. Acknowledgement: slides drawn heavily from Kurose & Ross. Our goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple access

theta
Télécharger la présentation

ECE/CS 372 – introduction to computer networks Lecture 16

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. Announcements: ECE/CS 372 – introduction to computer networksLecture 16 Chapter 4, slide: Acknowledgement: slides drawn heavily from Kurose & Ross

  2. Our goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple access link layer addressing example of link layer protocol Ethernet Chapter 5: Data Link Layer Chapter 5, slide:

  3. Some terminology: nodes = hosts or routers links = communication channels that connect adjacent nodes wired links wireless links frame = layer-2 packet Link Layer (also known as layer 2) data-link layer has responsibility of transferring datagram from one node to adjacent node over a link Chapter 5, slide:

  4. links may have ≠ protocols frames may be delivered by different link protocols over different links: e.g., Ethernet 802.11 (WiFi) link protocols may provide ≠services e.g., may or may not provide rdt over link transportation analogy Trip: Princeton to Marseille limo: Princeton to JFK plane: JFK to Paris train: Paris to Marseille tourist = frame travel agent = routing algorithm Doesn’t know/care of mode transport mode = link layer protocol ≠ legs may use ≠ modes Link layer: context Chapter 5, slide:

  5. Link Layer Services • link access and sharing: • Sharing and multiple access: allow medium/channel sharing • reliable delivery between adjacent nodes • transport layer-like reliability: ACK’ing • low bit-error link (e.g., fiber): rarely used • high bit-error link(e.g., wireless): often used • error detection: • errors caused by signal attenuation, noise. • receiver detects presence of errors • error correction: • receiver corrects errors w/o resorting to retransmission Chapter 5, slide:

  6. 1 Error detection and correction 2 Link-layer Addressing 3 Multiple access protocols 4 Ethernet Link Layer Chapter 5, slide:

  7. Error Detection D = Data protected by error checking, may include header fields EDC= Error Detection and Correction bits (redundancy) • error detection not 100% reliable!: may not detect errors (rarely) • larger EDC field yields better detection and correction Chapter 5, slide:

  8. Example: Parity Checking Two Dimensional Bit Parity: Detect and correct single bit errors Single Bit Parity: Detect single bit errors In this example: D = data bits EDC = parity bit 0 0 Chapter 5, slide:

  9. Checksumming: Cyclic Redundancy Check • Example: • D= 101110 • r = 3 bits • G = 1001 • Find R such that • G divides <D,R> (modulo 2) • equivalently • G divides <D.2r XOR R> Scheme: • View data bits, D, as a binary number • Fix r CRC bits • Choose r+1 bit pattern (generator), G • Sender: choose r CRC bits, R, such that • G exactly divides <D,R> (modulo 2) • receiver knows G, divides <D,R> by G. • If non-zero remainder: error detected! • detect burst errors less than r+1 bits Chapter 5, slide:

  10. CRC: modulo-2 arithmetic • CRC calculations are done modulo-2 arithmetic • No carries in addition • No borrows in subtraction => Addition = subtraction = bitwise-XOR • XOR review: 0 XOR 0 = 0; 0 XOR 1 = 1; 1 XOR 0 = 1; 1 XOR 1 = 0 => a XOR 0 = a , a XOR a = 0 for a=0,1 E.g.: 1010 XOR 0110 = 1110 • Multiplications and divisions are same as in base-2 arithmetic, except all additions and subtractions are done without carries or borrows • That is: addition = subtraction = bitwise-XOR Chapter 5, slide:

  11. D.2r G R = remainder[ ] CRC Example (find R) • Want: G divides <D.2r XOR R> • equivalently: D.2rXOR R = nG • equivalently: (XOR both sides) • (D.2rXOR R) XOR R = nG XOR R • equivalently: (R XOR R = 0 & a XOR 0 = a) D.2r = nGXOR R • equivalently: (division is modulo 2 too) • since remainder[(nGXOR R)/G] = R • (note: R < G), then dividing D.2r by G (modulo 2) gives remainder = R Chapter 5, slide:

  12. 1 Error detection and correction 2 Link-layer Addressing 3 Multiple access protocols 4 Ethernet Link Layer Chapter 5, slide:

  13. MAC Addresses • 32-bit IP address: • network-layer address • used to get datagram to destination IP subnet • MAC (or LAN or physical or Ethernet) address: • 48 bit MAC address (for most LANs) • burned in NIC ROM, also sometimes software settable • function:get frame from one interface to another physically-connected interface (same network) • uses hexadecimal representation; i.e., base-16 (i.e., 4 bits) • it uses 16 distinct symbols: 0,1,…,9,A,B,C,D,E,F • 4 bits needed for each symbol:  48/4 = 12 symbols E.g.: 1A-2F-BB-76-09-AD Chapter 5, slide:

  14. MAC Addresses Each adapter on LAN has unique MAC (LAN ) address Broadcast address = FF-FF-FF-FF-FF-FF 1A-2F-BB-76-09-AD LAN (wired or wireless) = adapter 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 Chapter 5, slide:

  15. Assume: • A knows B’s MAC address • A wants to send a frame to B MAC Addresses • A encapsulates B’MAC into the frame • A sends the frame into the medium • All nodes will hear the frame • Only B grabs the frame • All other nodes discard the frame 137.196.7.78 Node A 1A-2F-BB-76-09-AD 137.196.7.23 137.196.7.14 LAN 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 137.196.7.88 Node B Chapter 5, slide:

  16. Question: if A doesn’t know B’s MAC address, how does it determine this MAC address? ARP: Address Resolution Protocol Solution: ARP • Each IP node (host, router) on LAN has ARP table • ARP table: maps IP, MAC address for some LAN nodes < IP address; MAC address; TTL> • TTL (Time To Live): remove mapping after TTL (typically 20 min) • A consults its table to determine B’s MAC given it knows B’s IP • Q: how to construct these ARP tables? 137.196.7.78 Node A 1A-2F-BB-76-09-AD 137.196.7.23 137.196.7.14 LAN 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 137.196.7.88 Node B Chapter 5, slide:

  17. A wants to send datagram to B, and B’s MAC address not in A’s ARP table. A broadcasts ARP packet, containing B's IP address dest MAC address = FF-FF-FF-FF-FF-FF all machines on LAN receive ARP query B receives ARP packet, replies to A with its (B's) MAC address A sends frame to B since it knows its MAC now A caches IP-to-MAC address pair in its ARP table until information becomes old (times out) soft state: information that times out (goes away) unless refreshed ARP is “plug-and-play”: nodes create their ARP tables without intervention from net administrator ARP: Case 1—Same LAN (network) Chapter 5, slide:

  18. 88-B2-2F-54-1A-0F 74-29-9C-E8-FF-55 E6-E9-00-17-BB-4B 222.222.222.221 1A-23-F9-CD-06-9B 111.111.111.111 222.222.222.222 222.222.222.220 111.111.111.110 R 111.111.111.112 49-BD-D2-C7-56-2A CC-49-DE-D0-AB-7D ARP: Case 2—routing to another LAN datagram needs to go from A to B via R assume A knows B’s IP address • how does ARP work now ?? Would the previous scenario work? A B Chapter 5, slide:

  19. 88-B2-2F-54-1A-0F 74-29-9C-E8-FF-55 E6-E9-00-17-BB-4B 222.222.222.221 1A-23-F9-CD-06-9B 111.111.111.111 222.222.222.222 222.222.222.220 111.111.111.110 R 111.111.111.112 49-BD-D2-C7-56-2A CC-49-DE-D0-AB-7D ARP: Case 2—routing to another LAN Here’s how it works: (A wants to send IP datagram to B) • A knows that B belongs to a different subnet by checking B’s IP address • A also knows IP address of router R (routing table at layer 3) • A uses ARP to get R’s MAC address for 111.111.111.110 (IP address of router) • A creates frame with R's MAC address as dest, frame contains A-to-B IP datagram • A’s NIC sends frame and R’s NIC receives it • R removes IP datagram from Ethernet frame, sees its destined to B • R uses ARP to get B’s MAC address (R has B’s IP address, included in the just received frame) • R creates frame containing A-to-B IP datagram and sends it to B A B Chapter 5, slide:

  20. Link layer Addressing: last words • manufacturer buys portion of MAC address space (to assure uniqueness of MAC addresses) • analogy: (a) MAC address: like Social Security Number (b) IP address: like postal address • MAC flat addressing ➜ portability • can move LAN card from one LAN to another; not true for IP • Q: why can’t we just use IP addresses; i.e., no MAC addresses?? • LANs designed for all network layer protocols, not just IP • IP address will have to be stored/reconfigured to the adapter every time the adapter/computer is moved • Q: Why can’t we process/check frames at network layer instead?? • Overhead; each and every frame will be processed (including those destined to others) Lecture 15, chapter 5, slide:

  21. 1 Error detection and correction 2 Link-layer Addressing 3 Multiple access protocols 4 Ethernet Link Layer Chapter 5, slide:

  22. Multiple Access Links and Protocols Two types of “links”: • point-to-point • PPP for dial-up access • point-to-point link between Ethernet switch and host • broadcast (shared wire or medium) • Ethernet • 802.11 wireless LAN humans at a party (shared air, acoustical) shared wire (e.g., cabled Ethernet) shared RF (e.g., 802.11 WiFi) shared RF (satellite) Chapter 5, slide:

  23. Multiple Access protocols need for sharing of medium/channel • single channel needs be used by all nodes • interference/collision two or more simultaneous transmissions lead to collided signals multiple access protocol • allows multiple, concurrent access algorithm that nodes use to share channel, i.e., determines when a node can transmit • no coordination, no out-of-band channel agreeing about channel sharing must use channel itself! Chapter 5, slide:

  24. Ideal Multiple Access Protocol Broadcast channel of rate R bps 1. when one node wants to transmit, it can send at rate R. 2. when M nodes want to transmit, each can send at average rate R/M 3. fully decentralized: • no special node to coordinate transmissions • no synchronization of clocks, slots 4. simple Chapter 5, slide:

  25. MAC Protocols: a taxonomy Three broad classes: • Channel Partitioning • divide channel into smaller “pieces” (time slots, frequency, code) • allocate piece to node for exclusive use • “Taking turns” • nodes take turns, but nodes with more to send can take longer turns • Random Access • channel not divided, allow collisions • need to know how to “recover” from collisions Chapter 5, slide:

  26. Channel Partitioning MAC protocols: TDMA TDMA: time division multiple access • access to channel in "rounds" • each station gets fixed length slot (length = pkt trans time) in each round • unused slots go idle • E.g.: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle 6-slot frame 3 3 4 4 1 1 Chapter 5, slide:

  27. Channel Partitioning MAC protocols: FDMA 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 • E.g.: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6 idle time frequency bands FDM cable Chapter 5, slide:

  28. data data poll “Taking Turns” MAC protocols Polling: • master node “invites” slave nodes to transmit in turn • concerns: • polling overhead • latency • single point of failure (master) master slaves Chapter 5, slide:

  29. “Taking Turns” MAC protocols • Token passing: • control token passed from one node to next sequentially. • If token, then send message • concerns: • token overhead • latency • single point of failure (token) T (nothing to send) T data Chapter 5, slide:

  30. Announcements: ECE/CS 372 – introduction to computer networksLecture 17 Chapter 4, slide: Acknowledgement: slides drawn heavily from Kurose & Ross

  31. Random Access Protocols • distributed • unlike TDMA or FDMA • no coordination among nodes • one node at a time • when a node transmits, it does so at full data rate R. • collisions can occur • two or more transmitting nodes ➜ “collision”, • random access MAC protocol specifies: • how to detect collisions • how to recover from collisions • examples of random access MAC protocols: • ALOHA, CSMA/CD, CSMA/CA (CSMA: Carrier Sense Multiple Access; CD: Collision Detection; CA: Collision Avoidance) Chapter 5, slide:

  32. Assumptions: all frames same size time divided into slots slot = time to transmit 1 frame start transmit at beginning of slot only nodes are synchronized if multiple nodes transmit in slot, all can detect collision Operation: when node gets a fresh frame, transmits in next slot if no collision: node can send new frame in next slot if collision: node retransmits frame in each subsequent slot with prob. p until success Slotted ALOHA Chapter 5, slide:

  33. Pros single active node can continuously transmit at full rate of channel highly decentralized: only slots in nodes need to be in sync simple Cons collisions, wasting slots idle slots, wasting slots clock synchronization Slotted ALOHA Legend: C = collision E = empty/idle S = success Chapter 5, slide:

  34. suppose:N nodes with many frames to send, each transmits in slot with probability p prob that a given node has success in a slot ? p(1-p)N-1 prob that any node has a success ? Np(1-p)N-1 Efficiency = Np(1-p)N-1 Slotted Aloha efficiency Efficiency : long-run fraction of successful slots (many nodes, all with many frames to send) Chapter 5, slide:

  35. Efficiency = Np(1-p)N-1 max efficiency: find p* that maximizes Np(1-p)N-1 p* = 1/N Max Eff = (1-1/N)N-1 When N increases to , max eff = (1-1/N)N-1 goes to 1/e = .37 Slotted Aloha efficiency At best: channel used for 37% useful transmission time ! Chapter 5, slide:

  36. Pure (unslotted) ALOHA • unslotted Aloha: simpler, no synchronization • when frame first arrives • transmit immediately • collision probability increases: • frame sent at t0 collides with other frames sent in [t0-1,t0+1] Chapter 5, slide:

  37. Pure Aloha efficiency P(success by given node) = P(node transmits) x P(no other node transmits in [t0-1,t0] x P(no other node transmits in [t0,t0+1] = p . (1-p)N-1 . (1-p)N-1 = p . (1-p)2(N-1) … choosing optimum p and then letting N -> infinity ... = 1/(2e) = .18 (to be derived in homework problem) even worse than slotted Aloha! Chapter 5, slide:

  38. CSMA (Carrier Sense Multiple Access) CSMA: listen before transmit: If channel sensed idle: transmit entire frame • If channel sensed busy, defer transmission • human analogy: don’t interrupt others! Chapter 5, slide:

  39. CSMA collisions spatial layout of nodes collisions can still occur: Node B’s transmission collides with Node D’s transmission collision is a waste! A cannot hear B’s signal C cannot hear D’s signal note: role of distance & propagation delay in collision likelihood • Longer distances => weaker signals • => collision may be recovered • Longer delays => collision may be avoided Chapter 5, slide:

  40. CSMA/CD (Collision Detection) CD (collision detection): • easy in wired LANs: measure signal strengths, compare transmitted, received signals • difficult in wireless LANs: received signal strength overwhelmed by local transmission strength CSMA/CD: (CSMA w/ Collision Detection) • collisions detectable • colliding transmissions aborted • reducing channel wastage Chapter 5, slide:

  41. CSMA/CD collision detection Chapter 5, slide:

  42. 1 Error detection and correction 2 Link-layer addressing 3 Multiple access protocols 4 Ethernet Link Layer Chapter 5, slide:

  43. switch star Ethernet topology • bus topology popular through mid 90s • all nodes in same collision domain (can collide with each other) • today: star topology prevails • active switch in center • each “spoke” runs a (separate) Ethernet protocol (nodes do not collide with each other) bus: coaxial cable Chapter 5, slide:

  44. Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame Preamble: • total 8 bytes: 7 bytes, each with pattern 10101010 followed by one byte with pattern 10101011 • used to synchronize receiver, sender clock rates (sender’s data rate matches receiver’s data rate) Chapter 5, slide:

  45. Ethernet Frame Structure • Addresses: 6 bytes • if adapter receives frame with matching destination address, or with broadcast address (eg ARP packet), it passes data in frame to network layer protocol • otherwise, adapter discards frame • Type: indicates higher layer protocol (mostly IP but others possible, e.g., Novell IPX, AppleTalk) • CRC: checked at receiver, if error is detected, frame is dropped Chapter 5, slide:

  46. Ethernet: Unreliable, connectionless • connectionless: No handshaking between sending and receiving NICs • unreliable: receiving NIC doesn’t send acks or nacks to sending NIC • stream of datagrams passed to network layer can have gaps (missing datagrams) • gaps will be filled if app is using TCP • otherwise, app will see gaps • Ethernet’s MAC protocol: CSMA/CD (more on this next…) Chapter 5, slide:

  47. CSMA/CD 1. Unsychronized: NIC (adapater) may transmit at anytime; no notion of timeslots 2. Carrier-sense: Never transmit if others are transmitting 3. Collision detection: stop transmitting as soon as collision is detected 4. Random backoff: wait a random time before retransmitting (more later) CSMA/CD vs. slotted ALOHA Slotted ALOHA 1. Sychronized: transmit at beginning of a timeslot only 2. No carrier-sense: No check for whether others transmit or not 3. No collision detection: no stop during collision 4. No random backoff Chapter 5, slide:

  48. Notion of bit time Before describing CSMA/CD, let’s introduce: bit time = time to transmit one bit on a Ethernet link Example: consider a 10 Mbps Ethernet link Q1: what is a “bit time” A1: 1/(10x10^6) second = 0.1 microsecond Q2: how much time is “96 bit time” A2: 96 x 0.1 = 9.6 microsecond Chapter 5, slide:

  49. 1. adapter receives datagram from network layer, creates frame 2. If adapter senses channel idle for 96 bit time, starts frame transmission (gap to allow interface recovery) 3. If adapter senses channel busy, waits until channel idle (plus 96 bit time), then transmits 4. If adapter transmits entire frame without detecting another transmission, adapter is done with frame ! 5. If adapter detects another transmission while transmitting, aborts and sends a 48-bit jam signal (to make sure all nodes are aware of collision) 6. After aborting (after sending jam signal), adapter enters exponential backoff: adapter chooses Kat random (next slide is explained how) adapter waits K·512 bit times, returns to Step 2 Ethernet CSMA/CD algorithm Chapter 5, slide:

  50. Jam Signal: make sure all other transmitters are aware of collision; 48 bits Exponential Backoff: Goal: adapt retrans. attempts to estimate current load heavy load: random wait will be longer Light load: random wait will be shorter first collision: choose K from {0,1}… after 2nd collision: choose K from {0,1,2,3}… after 3rd collision: choose K from {0,1,2,3,4,5,6,7}… after 10th collision, choose K from {0,1,2,3,4,…,1023}… after mth collision, choose Kfrom {0,1,2,…,2m-1} Then, delay transmission until K· 512 bit times Ethernet’s CSMA/CD (more) Chapter 5, slide:

More Related