Download presentation
Presentation is loading. Please wait.
1
Chapter 5 Data Link Layer
CMPT 371 Data Communications and Networking Chapter 5 Data Link Layer 5: DataLink Layer
2
Chapter 5: The Data Link Layer
Our goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple access link layer addressing reliable data transfer, flow control: done! instantiation and implementation of various link layer technologies 5: DataLink Layer
3
Chapter 5 outline 5.1 Introduction and services
5.2 Error detection and correction 5.3Multiple access protocols CDMA Aloha, CSMA/CD 5.4 Ethernet 5.5 Wireless links and LANs (WiFi) 5: DataLink Layer
4
Link Layer: Introduction
Some terminology: hosts and routers are nodes (bridges and switches too) communication channels that connect adjacent nodes along communication path are links wired links wireless links LANs Data unit is a frame, encapsulates datagram data-link layer has responsibility of transferring datagram from one node to adjacent node over a link 5: DataLink Layer
5
Where is the link layer implemented !
datagram link layer protocol rcving node sending node frame frame adapter adapter link layer implemented in “adaptor” (aka NIC) or on a chip Ethernet card, card/chipset Combining hardware, software, firmware 5: DataLink Layer
6
Link layer: context transportation analogy
trip from Princeton to Lausanne limo: Princeton to JFK plane: JFK to Geneva train: Geneva to Lausanne tourist = datagram transport segment = communication link transportation mode = link layer protocol travel agent = routing algorithm Datagram transferred by different link protocols over different links: e.g., Ethernet on first link, frame relay on intermediate links, on last link Each link protocol provides different services e.g., may or may not provide rdt over link 5: DataLink Layer
7
Link Layer Services Reliable delivery between adjacent nodes
we learned how to do this already (chapter 3)! Q: why both link-level and end-end reliability? 5: DataLink Layer
8
Link Layer Services (more)
Flow Control (Chap 3): pacing between adjacent sending and receiving nodes Error Detection: errors caused by signal attenuation, noise. receiver detects presence of errors: signals sender for retransmission or drops frame Error Correction: receiver identifies and corrects bit error(s) without resorting to retransmission 5: DataLink Layer
9
Chapter 5 outline 5.1 Introduction and services
5.2 Error detection and correction 5.3Multiple access protocols 5.4 Ethernet 5.5 Hubs, bridges, and switches 5.6 Wireless links and LANs 5: DataLink Layer
10
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 5: DataLink Layer
11
Internet checksum Goal: detect “errors” (e.g., flipped bits) in transmitted segment (note: used at transport layer only) Receiver: compute checksum of received segment check if computed checksum equals checksum field value: NO - error detected YES - no error detected. But maybe errors nonetheless? 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 5: DataLink Layer
12
Example of checksum - Recall
Segments += 1’s complement 5: DataLink Layer
13
Parity Checking Two Dimensional Bit Parity: Single Bit Parity:
Detect single bit errors Two Dimensional Bit Parity: Detect and correct single bit errors 5: DataLink Layer
14
Chapter 5 outline 5.1 Introduction and services
5.2 Error detection and correction 5.3Multiple access protocols 5.4 Ethernet 5.5 Hubs, bridges, and switches 5.6 Wireless links and LANs 5: DataLink Layer
15
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) traditional Ethernet Satellite wireless LAN Or lecture room 5: DataLink Layer
16
Multiple Access protocols
single shared broadcast channel two or more simultaneous transmissions by nodes: interference only one node can send successfully at a time multiple access protocol algorithm that determines how nodes share channel, i.e., determine when node can transmit communication about channel sharing must use channel itself! what to look for in multiple access protocols: 5: DataLink Layer
17
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: no special node to coordinate transmissions no synchronization of clocks, slots 4. Simple 5: DataLink Layer
18
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 Random Access channel not divided, allow collisions “recover” from collisions “Taking turns” speak only if “token” is at hand tightly coordinate shared access to avoid collisions 5: DataLink Layer
19
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 example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle Problem unused slots go idle More ? 6-slot frame 6-slot frame 1 3 4 1 3 4 5: DataLink Layer
20
Channel Partitioning MAC protocols: FDMA
FDMA: frequency division multiple access channel spectrum divided into frequency bands each station assigned fixed frequency band example: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6 idle Problem unused transmission time in frequency bands go idle More ? time frequency bands FDM cable 5: DataLink Layer
21
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access) Analogy Public Key Encryption Only the one holing the key can decrypt Motivation Sender – Mix information encoded with “codes” of receivers Receiver – Decode mixed information using its own code, and find that for itself 5: DataLink Layer
22
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access) used mostly in wireless broadcast channels (cellular, satellite, etc) unique “code” assigned to each user; i.e., code set partitioning all users share same frequency, but each user has own “chipping” sequence (i.e., 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”) 5: DataLink Layer
23
CDMA Encode/Decode 5: DataLink Layer
24
CDMA: two-sender interference
5: DataLink Layer
25
CDMA: two-sender interference
Assume codes (1,-1) for recv1 (1,1) for recv2 Data bit 1 for recv 1: 1·(1,-1) Decoded using code for recv1: 1·(1,-1) ·(1,-1) =(1,-1) ·(1,-1)=2 Decoded using code for recv 2: 1·(1,-1) ·(1,1) =(1,-1) ·(1,1)=0 5: DataLink Layer
26
Frequency Hopping (origin of CDMA)
Frequency Hopping Spread Spectrum: transmitting radio signal by rapidly switching among many frequency channels, using a sequence known to both transmitter and receiver Google “Mother of CDMA” 5: DataLink Layer
27
Random Access Protocols
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 (Ethernet), CSMA/CA ( WLAN or Wi-Fi) 5: DataLink Layer
28
Slotted ALOHA Assumptions all frames same size
time is divided into equal size slots, time to transmit 1 frame nodes start to transmit frames only at beginning of slots nodes are synchronized if 2 or more nodes transmit in slot, all nodes detect collision Operation when node obtains fresh frame, it transmits in next slot no collision, node can send new frame in next slot if collision, node retransmits frame in each subsequent slot with prob. p until success 5: DataLink Layer
29
Slotted ALOHA 1 2 3 node 1 node 2 node 3 C S E 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 nodes may be able to detect collision in less than time to transmit packet – but sill waste a slot clock 5: DataLink Layer
30
Slotted Aloha efficiency
Efficiency: long-run fraction of successful slots (many nodes, each with many frames to send) For max efficiency with N nodes, find p* that maximizes Np(1-p)N-1 For many nodes, take limit of Np*(1-p*)N-1 as N goes to infinity: max efficiency 1/e = .37 Suppose a node transmits a frame in a slot with probability p prob that a node has success in a slot = p(1-p)N-1 prob that any node has a success = Np(1-p)N-1 At best: channel used for useful transmissions 37% of time! 5: DataLink Layer
31
CSMA (Carrier Sense Multiple Access)
CSMA: listen before transmit: If channel sensed idle: transmit entire frame If channel sensed busy, defer transmission No time slot – fully distributed Human analogy: listen and don’t interrupt others Seems perfect – no collision ! (not really though) 5: DataLink Layer
32
“Taking Turns” MAC protocols
channel partitioning MAC protocols: share channel efficiently and fairly 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! – but practically not 5: DataLink Layer
33
“Taking Turns” MAC protocols
Type 1: Polling: master node “invites” slave nodes to transmit in turn Ask round-robin: do you have frame to send ? (e.g., USB polling) concerns: polling overhead latency single point of failure (master) data poll master data slaves 5: DataLink Layer
34
“Taking Turns” MAC protocols
Type 2: Token passing: control token passed from one node to next sequentially. token message concerns: token overhead latency single point of failure (token) T (nothing to send) T data 5: DataLink Layer
35
Chapter 5 outline 5.1 Introduction and services
5.2 Error detection and correction 5.3Multiple access protocols 5.4 Ethernet 5.5 Wireless links and LANs 5: DataLink Layer
36
Ethernet “dominant” LAN technology: cheap $20 for 100Mbs!
first widely used LAN technology Simpler, cheaper than competitors Kept up with speed race: 10, 100, 1000 Mbps … Metcalfe’s Ethernet sketch 5: DataLink Layer
37
(Traditional) Ethernet uses CSMA/CD
adapter doesn’t transmit if it senses that some other adapter is transmitting, that is, carrier sense transmitting adapter aborts when it senses that another adapter is transmitting, that is, collision detection Before attempting a retransmission, adapter waits a random time, that is, random access 5: DataLink Layer
38
Manchester encoding Each bit has a transition
Allows clocks in sending and receiving nodes to synchronize to each other no need for a centralized, global clock among nodes! 5: DataLink Layer
39
Chapter 5 outline 5.1 Introduction and services
5.2 Error detection and correction 5.3Multiple access protocols 5.4 Ethernet 5.5 Wireless links and LANs 5: DataLink Layer
40
IEEE 802.11 Wireless LAN 802.11b 802.11a 802.11g 802.11n (2009)
2.4-5 GHz unlicensed radio spectrum up to 11 Mbps direct sequence spread spectrum (DSSS) in physical layer all hosts use same chipping code 802.11a 5-6 GHz range up to 54 Mbps 802.11g 2.4-5 GHz range 802.11n (2009) 2.4/5GHz, MIMO All use CSMA/CA for multiple access All have base-station and ad-hoc network versions 5: DataLink Layer
41
Base station approach Wireless host communicates with a base station
base station = access point (AP) Basic Service Set (BSS) (a.k.a. “cell”) contains: wireless hosts access point (AP): base station 5: DataLink Layer
42
Ad Hoc Network approach
No AP (i.e., base station) wireless hosts communicate with each other to get packet from wireless host A to B may need to route through wireless hosts X,Y,Z Applications: “laptop” meeting in conference room, car interconnection of “personal” devices battlefield IETF MANET (Mobile Ad hoc Networks) working group 5: DataLink Layer
43
IEEE : multiple access Collision if 2 or more nodes transmit at same time CSMA makes sense: get all the bandwidth if you’re the only one transmitting try to avoid collision if you sense another transmission 5: DataLink Layer
44
Enhancement: CSMA/CD ? Collision detection doesn’t work: hidden terminal problem 5: DataLink Layer
45
Collision avoidance mechanisms
Problem: two nodes, hidden from each other, transmit complete frames to base station wasted bandwidth for long duration ! Solution: small reservation packets nodes track reservation interval with internal “network allocation vector” (NAV) 5: DataLink Layer
46
Collision Avoidance: RTS-CTS exchange
sender transmits short RTS (request to send) packet: indicates duration of transmission receiver replies with short CTS (clear to send) packet notifying (possibly hidden) nodes hidden nodes will not transmit for specified duration: NAV 5: DataLink Layer
47
Collision Avoidance: RTS-CTS exchange
RTS and CTS short: collisions less likely, of shorter duration end result similar to collision detection IEEE allows: CSMA CSMA/CA: reservations polling from AP 5: DataLink Layer
48
A word about Bluetooth Low-power, small radius, wireless networking technology meters omnidirectional not line-of-sight infrared Interconnects gadgets GHz unlicensed radio band up to 721 kbps Interference from wireless LANs, digital cordless phones, microwave ovens: frequency hopping helps MAC protocol supports: error correction ARQ Each node has a 12-bit address 5: DataLink Layer
49
Chapter 5: Summary principles behind data link layer services:
error detection, correction sharing a broadcast channel: multiple access link layer addressing, ARP link layer technologies: Ethernet, IEEE LANs journey down the protocol stack now OVER! future stops: multimedia, security, network management 5: DataLink Layer
50
Finally: a day in the life of a web request
journey down protocol stack complete! application, transport, network, link putting-it-all-together: synthesis! goal: identify, review, understand protocols (at all layers) involved in seemingly simple scenario: requesting www page scenario: student attaches laptop to campus network, requests/receives Link Layer
51
A day in the life: scenario
browser DNS server Comcast network /13 school network /24 web page web server Google’s network /19
52
A day in the life… connecting to the Internet
DHCP UDP IP Eth Phy DHCP DHCP connecting laptop needs to get its own IP address, addr of first-hop router, addr of DNS server: use DHCP router (runs DHCP) DHCP DHCP DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in Ethernet DHCP UDP IP Eth Phy DHCP Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server Ethernet demuxed to IP demuxed, UDP demuxed to DHCP
53
A day in the life… connecting to the Internet
DHCP DHCP UDP IP Eth Phy DHCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server router (runs DHCP) encapsulation at DHCP server, frame forwarded (switch learning) through LAN, demultiplexing at client DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP client receives DHCP ACK reply Client now has IP address, knows name & addr of DNS server, IP address of its first-hop router
54
A day in the life… ARP (before DNS, before HTTP)
before sending HTTP request, need IP address of DNS DNS UDP IP Eth Phy DNS router (runs DHCP) ARP ARP query DNS query created, encapsulated in UDP, encapsulated in IP, encapsulated in Eth. To send frame to router, need MAC address of router interface: ARP Eth Phy ARP ARP reply ARP query broadcast, received by router, which replies with ARP reply giving MAC address of router interface client now knows MAC address of first hop router, so can now send frame containing DNS query
55
A day in the life… using DNS
UDP IP Eth Phy DNS DNS server DNS UDP IP Eth Phy DNS router (runs DHCP) DNS DNS DNS DNS Comcast network /13 IP datagram forwarded from campus network into comcast network, routed (tables created by RIP, OSPF, IS-IS and/or BGP routing protocols) to DNS server IP datagram containing DNS query forwarded via LAN switch from client to 1st hop router demux’ed to DNS server DNS server replies to client with IP address of
56
A day in the life…TCP connection carrying HTTP
IP Eth Phy router (runs DHCP) SYN SYNACK SYN to send HTTP request, client first opens TCP socket to web server TCP SYN segment (step 1 in 3-way handshake) inter-domain routed to web server TCP IP Eth Phy SYNACK SYN SYNACK web server responds with TCP SYNACK (step 2 in 3-way handshake) web server TCP connection established!
57
A day in the life… HTTP request/reply
web page finally (!!!) displayed HTTP HTTP TCP IP Eth Phy router (runs DHCP) HTTP HTTP HTTP request sent into TCP socket IP datagram containing HTTP request routed to HTTP TCP IP Eth Phy HTTP HTTP web server responds with HTTP reply (containing web page) web server IP datagram containing HTTP reply routed back to client
58
Data Center Networks (some hot topics in recent years; FYI only)
10’s to 100’s of thousands of hosts, often closely coupled, in close proximity: e-business (e.g. Amazon) content-servers (e.g., YouTube, Akamai, Apple, Microsoft) search engines, data mining (e.g., Google) challenges: multiple applications, each serving massive numbers of clients managing/balancing load, avoiding processing, networking, data bottlenecks Inside a 40-ft Microsoft container, Chicago data center
59
Data Center Networks load balancer: application-layer routing
receives external client requests directs workload within data center returns results to external client (hiding data center internals from client) Internet Border router Load balancer Load balancer Access router Tier-1 switches B A C Tier-2 switches TOR switches Server racks 1 2 3 4 5 6 7 8 5: DataLink Layer
60
Data Center Networks rich interconnection among switches, racks:
Server racks TOR switches Tier-1 switches Tier-2 switches 1 2 3 4 5 6 7 8 rich interconnection among switches, racks: increased throughput between racks (multiple routing paths possible) increased reliability via redundancy 5: DataLink Layer
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.