Download presentation
Presentation is loading. Please wait.
1
5: DataLink Layer5a-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing a broadcast channel: multiple access m link layer addressing m reliable data transfer, flow control: done! r instantiation and implementation of various link layer technologies Overview: r link layer services r multiple access protocols and LANs r error detection, correction r link layer addressing, ARP r specific link layer technologies: m Ethernet m hubs, bridges, switches m IEEE 802.11 LANs and wireless m PPP m ATM
2
5: DataLink Layer5a-2 Link Layer: Introduction “link” r data-link layer has responsibility of transferring datagram from one node to adjacent node over a link r Datagram transferred by different link protocols over different links: m e.g., Ethernet on first link, frame relay on intermediate links, 802.11 on last link r Each link protocol provides different services m e.g., may or may not provide rdt over link
3
5: DataLink Layer5a-3 Link Layer: setting the context
4
5: DataLink Layer5a-4 Link Layer: setting the context r two physically connected devices: m host-router, router-router, host-host r unit of data: frame application transport network link physical network link physical M M M M H t H t H n H t H n H l M H t H n H l frame phys. link data link protocol adapter card (NIC)
5
5: DataLink Layer5a-5 Link Layer Services r Framing, link access: m encapsulate datagram into frame, adding header, trailer m channel access if shared medium m ‘physical addresses’ used in frame headers to identify source, dest different from IP address! r Reliable delivery between adjacent nodes m we learned how to do this already (chapter 3)! m seldom used on low bit error link (fiber, some twisted pair) m wireless links: high error rates Q: why both link-level and end-end reliability?
6
5: DataLink Layer5a-6 Link Layer Services (more) r Flow Control: m pacing between adjacent sending and receiving nodes r Error Detection: m errors caused by signal attenuation, noise. m receiver detects presence of errors: signals sender for retransmission or drops frame r Error Correction: m receiver identifies and corrects bit error(s) without resorting to retransmission r Half-duplex and full-duplex m with half duplex, nodes at both ends of link can transmit, but not at same time
7
5: DataLink Layer5a-7 Adaptors Communicating r link layer implemented in “adaptor” (aka NIC) m Ethernet card, PCMCI card, 802.11 card r sending side: m encapsulates datagram in a frame m adds error checking bits, rdt, flow control, etc. r receiving side m looks for errors, rdt, flow control, etc m extracts datagram, passes to receiving node r adapter is semi- autonomous r link & physical layers sending node frame receiving node datagram frame adapter link layer protocol
8
5: DataLink Layer5a-8 Multiple Access Links and Protocols Two types of “links”: r point-to-point m PPP for dial-up access m point-to-point link between Ethernet switch and host r broadcast (shared wire or medium) m traditional Ethernet m upstream HFC m 802.11 wireless LAN
9
5: DataLink Layer5a-9 Multiple Access protocols r single shared broadcast channel r two or more simultaneous transmissions by nodes: interference m only one node can send successfully at a time multiple access protocol r distributed algorithm that determines how nodes share channel, i.e., determine when node can transmit r communication about channel sharing must use channel itself! r claim: humans use multiple access protocols all the time
10
5: DataLink Layer5a-10 Ideal Mulitple 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: m no special node to coordinate transmissions m no synchronization of clocks, slots 4. Simple
11
5: DataLink Layer5a-11 MAC Protocols: a taxonomy Three broad classes: r Channel Partitioning m divide channel into smaller “pieces” (time slots, frequency, code) m allocate piece to node for exclusive use r Random Access m channel not divided, allow collisions m “recover” from collisions r “Taking turns” m tightly coordinate shared access to avoid collisions
12
5: DataLink Layer5a-12 Channel Partitioning MAC protocols: TDMA TDMA: time division multiple access r access to channel in "rounds" r each station gets fixed length slot (length = pkt trans time) in each round r unused slots go idle r example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle r TDM (Time Division Multiplexing): channel divided into N time slots, one per user; inefficient with low duty cycle users and at light load. r FDM (Frequency Division Multiplexing): frequency subdivided.
13
5: DataLink Layer5a-13 Channel Partitioning MAC protocols: FDMA FDMA: frequency division multiple access r channel spectrum divided into frequency bands r each station assigned fixed frequency band r unused transmission time in frequency bands go idle r example: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6 idle r TDM (Time Division Multiplexing): channel divided into N time slots, one per user; inefficient with low duty cycle users and at light load. r FDM (Frequency Division Multiplexing): frequency subdivided. frequency bands time
14
5: DataLink Layer5a-14 Channel Partitioning (CDMA) CDMA (Code Division Multiple Access) r unique “code” assigned to each user; i.e., code set partitioning r used mostly in wireless broadcast channels (cellular, satellite, etc) r all users share same frequency, but each user has own “chipping” sequence (i.e., code) to encode data r encoded signal = (original data) X (chipping sequence) r decoding: inner-product of encoded signal and chipping sequence r allows multiple users to “coexist” and transmit simultaneously with minimal interference (if codes are “orthogonal”)
15
5: DataLink Layer5a-15 CDMA Encode/Decode
16
5: DataLink Layer5a-16 CDMA: two-sender interference
17
5: DataLink Layer5a-17 Random Access Protocols r When node has packet to send m transmit at full channel data rate R. m no a priori coordination among nodes r two or more transmitting nodes -> “collision”, r random access MAC protocol specifies: m how to detect collisions m how to recover from collisions (e.g., via delayed retransmissions) r Examples of random access MAC protocols: m slotted ALOHA m ALOHA m CSMA, CSMA/CD, CSMA/CA
18
5: DataLink Layer5a-18 Slotted Aloha r time is divided into equal size slots (= pkt trans. time) r node with new arriving pkt: transmit at beginning of next slot r if collision: retransmit pkt in future slots with probability p, until successful. Success (S), Collision (C), Empty (E) slots
19
5: DataLink Layer5a-19 Slotted Aloha efficiency Q: what is max fraction slots successful? A: Suppose N stations have packets to send m each transmits in slot with probability p m 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: channel use for useful transmissions 37% of time!
20
5: DataLink Layer5a-20 Pure (unslotted) ALOHA r unslotted Aloha: simpler, no synchronization r pkt needs transmission: m send without awaiting for beginning of slot r collision probability increases: m pkt sent at t 0 collide with other pkts sent in [t 0 -1, t 0 +1]
21
5: DataLink Layer5a-21 Pure Aloha (cont.) P(success by given node) = P(node transmits). P(no other node transmits in [t 0 -1,t 0 ]. P(no other node transmits in [t 0,t 0 +1] = p. (1-p) N-1. (1-p) N-1 P(success by any of N nodes) = N p. (1-p) N-1. (1-p) N-1 … choosing optimum p as n -> infty... = 1/(2e) =.18 S = throughput = “goodput” (success rate) G = offered load = Np 0.51.0 1.5 2.0 0.1 0.2 0.3 0.4 Pure Aloha Slotted Aloha protocol constrains effective channel throughput!
22
5: DataLink Layer5a-22 CSMA: Carrier Sense Multiple Access) CSMA: listen before transmit: r If channel sensed idle: transmit entire pkt r If channel sensed busy, defer transmission m Persistent CSMA: retry immediately with probability p when channel becomes idle (may cause instability) m Non-persistent CSMA: retry after random interval r human analogy: don’t interrupt others!
23
5: DataLink Layer5a-23 CSMA collisions collisions can occur: propagation delay means two nodes may not year hear each other’s transmission collision: entire packet transmission time wasted spatial layout of nodes along Ethernet note: role of distance and propagation delay in determining collision prob.
24
5: DataLink Layer5a-24 CSMA/CD (Collision Detection) CSMA/CD: carrier sensing, deferral as in CSMA m collisions detected within short time m colliding transmissions aborted, reducing channel wastage m persistent or non-persistent retransmission r collision detection: m easy in wired LANs: measure signal strengths, compare transmitted, received signals m difficult in wireless LANs: receiver shut off while transmitting r human analogy: the polite conversationalist
25
5: DataLink Layer5a-25 CSMA/CD collision detection
26
5: DataLink Layer5a-26 “Taking Turns” MAC protocols channel partitioning MAC protocols: m share channel efficiently and fairly at high load m inefficient at low load: delay in channel access, 1/N bandwidth allocated even if only 1 active node! Random access MAC protocols m efficient at low load: single node can fully utilize channel m high load: collision overhead “taking turns” protocols look for best of both worlds!
27
5: DataLink Layer5a-27 “Taking Turns” MAC protocols Polling: r master node “invites” slave nodes to transmit in turn r concerns: m polling overhead m latency m single point of failure (master) Token passing: r control token passed from one node to next sequentially. r token message r concerns: m token overhead m latency m single point of failure (token)
28
5: DataLink Layer5a-28 Reservation-based protocols Distributed Polling: r time divided into slots r begins with N short reservation slots m reservation slot time equal to channel end-end propagation delay m station with message to send posts reservation m reservation seen by all stations r after reservation slots, message transmissions ordered by known priority
29
5: DataLink Layer5a-29 Summary of MAC protocols r What do you do with a shared media? m Channel Partitioning, by time, frequency or code Time Division,Code Division, Frequency Division m Random partitioning (dynamic), ALOHA, S-ALOHA, CSMA, CSMA/CD carrier sensing: easy in some technologies (wire), hard in others (wireless) CSMA/CD used in Ethernet m Taking Turns polling from a central site, token passing
30
5: DataLink Layer5a-30 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
31
5: DataLink Layer5a-31 Parity Checking Single Bit Parity: Detect single bit errors Two Dimensional Bit Parity: Detect and correct single bit errors 0 0
32
5: DataLink Layer5a-32 Internet checksum Sender: r treat segment contents as sequence of 16-bit integers r checksum: addition (1’s complement sum) of segment contents r sender puts checksum value into UDP checksum field Receiver: r compute checksum of received segment r check if computed checksum equals checksum field value: m NO - error detected m YES - no error detected. But maybe errors nonetheless? More later …. Goal: detect “errors” (e.g., flipped bits) in transmitted segment (note: used at transport layer only)
33
5: DataLink Layer5a-33 Checksumming: Cyclic Redundancy Check r view data bits, D, as a binary number r choose r+1 bit pattern (generator), G r goal: choose r CRC bits, R, such that m exactly divisible by G (modulo 2) m receiver knows G, divides by G. If non-zero remainder: error detected! m can detect all burst errors less than r+1 bits r widely used in practice (ATM, HDCL)
34
5: DataLink Layer5a-34 CRC Example Want: D. 2 r XOR R = nG equivalently: D. 2 r = nG XOR R equivalently: if we divide D. 2 r by G, want remainder R R = remainder[ ] D.2rGD.2rG
35
5: DataLink Layer5a-35 LAN technologies Data link layer so far: m services, error detection/correction, multiple access Next: LAN technologies m addressing m Ethernet m hubs, bridges, switches m 802.11 m PPP m ATM
36
5: DataLink Layer5a-36 LAN Addresses and ARP 32-bit IP address: r network-layer address r used to get datagram to destination IP network (recall IP network definition) LAN (or MAC or physical or Ethernet) address: r used to get datagram from one interface to another physically-connected interface (same network) r 48 bit MAC address (for most LANs) burned in the adapter ROM
37
5: DataLink Layer5a-37 LAN Addresses and ARP Each adapter on LAN has unique LAN address
38
5: DataLink Layer5a-38 LAN Address (more) r MAC address allocation administered by IEEE r manufacturer buys portion of MAC address space (to assure uniqueness) r Analogy: (a) MAC address: like Social Security Number (b) IP address: like postal address r MAC flat address => portability m can move LAN card from one LAN to another r IP hierarchical address NOT portable m depends on IP network to which node is attached
39
5: DataLink Layer5a-39 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.2 223.1.3.1 223.1.3.27 A B E Starting at A, given IP datagram addressed to B: r look up net. address of B, find B on same net. as A r link layer send datagram to B inside link-layer frame B’s MAC addr A’s MAC addr A’s IP addr B’s IP addr IP payload datagram frame frame source, dest address datagram source, dest address
40
5: DataLink Layer5a-40 ARP: Address Resolution Protocol r Each IP node (Host, Router) on LAN has ARP table r ARP Table: IP/MAC address mappings for some LAN nodes m TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min) Question: how to determine MAC address of B knowing B’s IP address?
41
5: DataLink Layer5a-41 ARP protocol r A wants to send datagram to B, and A knows B’s IP address. r Suppose B’s MAC address is not in A’s ARP table. r A broadcasts ARP query packet, containing B's IP address m all machines on LAN receive ARP query r B receives ARP packet, replies to A with its (B's) MAC address m frame sent to A’s MAC address (unicast) r A caches (saves) IP-to- MAC address pair in its ARP table until information becomes old (times out) m soft state: information that times out (goes away) unless refreshed r ARP is “plug-and-play”: m nodes create their ARP tables without intervention from net administrator
42
5: DataLink Layer5a-42 Routing to another LAN walkthrough: send datagram from A to B via R assume A know’s B IP address r Two ARP tables in router R, one for each IP network (LAN) r In routing table at source Host, find router 111.111.111.110 r In ARP table at source, find MAC address E6-E9-00-17-BB-4B, etc A R B
43
5: DataLink Layer5a-43 r A creates datagram with source A, destination B r A uses ARP to get R’s MAC address for 111.111.111.110 r A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram r A’s data link layer sends frame r R’s data link layer receives frame r R removes IP datagram from Ethernet frame, sees its destined to B r R uses ARP to get B’s physical layer address r R creates frame containing A-to-B IP datagram sends to B A R B
44
5: DataLink Layer5a-44 Ethernet “dominant” LAN technology: r cheap $20 for 100Mbs! r first widely used LAN technology r Simpler, cheaper than token LANs and ATM r Kept up with speed race: 10, 100, 1000 Mbps Metcalfe’s Ethernet sketch
45
5: DataLink Layer5a-45 Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame Preamble: r 7 bytes with pattern 10101010 followed by one byte with pattern 10101011 r used to synchronize receiver, sender clock rates
46
5: DataLink Layer5a-46 Ethernet Frame Structure (more) r Addresses: 6 bytes m if adapter receives frame with matching destination address, or with broadcast address (eg ARP packet), it passes data in frame to net-layer protocol m otherwise, adapter discards frame r Type: indicates the higher layer protocol, mostly IP but others may be supported such as Novell IPX and AppleTalk) r CRC: checked at receiver, if error is detected, the frame is simply dropped
47
5: DataLink Layer5a-47 Unreliable, connectionless service r Connectionless: No handshaking between sending and receiving adapter. r Unreliable: receiving adapter doesn’t send acks or nacks to sending adapter m stream of datagrams passed to network layer can have gaps m gaps will be filled if app is using TCP m otherwise, app will see the gaps
48
5: DataLink Layer5a-48 Ethernet uses CSMA/CD r No slots r adapter doesn’t transmit if it senses that some other adapter is transmitting, that is, carrier sense r transmitting adapter aborts when it senses that another adapter is transmitting, that is, collision detection r Before attempting a retransmission, adapter waits a random time, that is, random access
49
5: DataLink Layer5a-49 Ethernet: uses CSMA/CD A: sense channel, if idle then { transmit and monitor the channel; If detect another transmission then { abort and send jam signal; update # collisions; delay as required by exponential backoff algorithm; goto A } else {done with the frame; set collisions to zero} } else {wait until ongoing transmission is over and goto A}
50
5: DataLink Layer5a-50 Ethernet’s CSMA/CD (more) Jam Signal: make sure all other transmitters are aware of collision; 48 bits; Exponential Backoff: r Goal: adapt retransmission attempts to estimated current load m heavy load: random wait will be longer r first collision: choose K from {0,1}; delay is K x 512 bit transmission times r after second collision: choose K from {0,1,2,3}… r after ten or more collisions, choose K from {0,1,2,3,4,…,1023}
51
5: DataLink Layer5a-51 Ethernet Technologies: 10Base2 r 10: 10Mbps; 2: under 200 meters max cable length r thin coaxial cable in a bus topology r repeaters used to connect up to multiple segments r repeater repeats bits it hears on one interface to its other interfaces: physical layer device only! r has become a legacy technology
52
5: DataLink Layer5a-52 10BaseT and 100BaseT r 10/100 Mbps rate; latter called “fast ethernet” r T stands for Twisted Pair r Nodes connect to a hub: “star topology”; 100 m max distance between nodes and hub r Hubs are essentially physical-layer repeaters: m bits coming in one link go out all other links m no frame buffering m no CSMA/CD at hub: adapters detect collisions m provides net management functionality hub nodes
53
5: DataLink Layer5a-53 Manchester encoding r Used in 10BaseT, 10Base2 r Each bit has a transition r Allows clocks in sending and receiving nodes to synchronize to each other m no need for a centralized, global clock among nodes! r Hey, this is physical-layer stuff!
54
5: DataLink Layer5a-54 Gbit Ethernet r use standard Ethernet frame format r allows for point-to-point links and shared broadcast channels r in shared mode, CSMA/CD is used; short distances between nodes to be efficient r uses hubs, called here “Buffered Distributors” r Full-Duplex at 1 Gbps for point-to-point links r 10 Gbps now !
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.