Transcript
Announcement Homework #3 was due last night Homework #4 is out
1
Last class Data link layer
Introduction and services Error detection and correction Multiple access protocols
2
Link Layer: Big Picture Some terminology:
“link”
hosts and routers are nodes communication channels that
connect adjacent nodes along communication path are links
wired links wireless links LANs
layer-2 packet is a frame,
encapsulates datagram
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link 3
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
4
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” Nodes take turns, but nodes with more to send can take longer turns
5
Overview Random Access Protocols “Taking Turns” Protocols
Link-Layer Addressing Ethernet Hubs and switches
6
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, CSMA/CA 7
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
8
Slotted ALOHA
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 clock synchronization
9
Slotted Aloha efficiency Efficiency is the long-run fraction of successful slots when there are many nodes, each with many frames to send Suppose N nodes with
many frames to send, each transmits in slot with probability p prob that node 1 has success in a slot = p(1-p)N-1
prob that there is a success = Np(1-p)N-1
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, gives 1/e = .37 At best: channel used for useful transmissions 37% of time! 10
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]
11
Pure Aloha efficiency P(success by given node) = P(node transmits) . P(no other node transmits in [p0-1,p0] .
P(no other node transmits in [p0-1,p0] = p . (1-p)N-1 . (1-p)N-1 = p . (1-p)2(N-1)
… choosing optimum p and then letting n -> infty ...
Even worse !
= 1/(2e) = .18
12
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!
13
CSMA collisions
spatial layout of nodes
collisions can still occur: propagation delay means two nodes may not hear each other’s transmission
collision:
entire packet transmission time wasted
note:
role of distance & propagation delay in determining collision probability
14
CSMA/CD (Collision Detection) CSMA/CD: carrier sensing, deferral as in CSMA collisions detected within short time colliding transmissions aborted, reducing channel wastage
collision detection: easy in wired LANs: measure signal strengths, compare transmitted, received signals difficult in wireless LANs: receiver shut off while transmitting human analogy: the polite conversationalist 15
CSMA/CD collision detection
16
Overview Random Access Protocols “Taking Turns” Protocols
Link-Layer Addressing Ethernet Hubs and switches
17
“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! 18
“Taking Turns” MAC protocols Token passing: Polling: control token passed from master node one node to next “invites” slave nodes sequentially. to transmit in turn token message concerns: concerns: polling overhead
latency single point of failure (master)
token overhead latency single point of failure (token)
19
Summary of MAC protocols What do you do with a shared media?
Channel Partitioning, by time, frequency or code • Time Division, Frequency Division
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 • CSMA/CA used in 802.11
Taking Turns • polling from a central site, token passing 20
LAN technologies Data link layer so far:
services, error detection/correction, multiple access
Next: LAN technologies Link-Layer Addressing Ethernet Hubs and switches
21
MAC Addresses and ARP 32-bit IP address: network-layer address used to get datagram to destination IP subnet
MAC (or LAN or physical or Ethernet)
address:
used to get datagram from one interface to another physically-connected interface (same network) 48 bit MAC address (for most LANs) burned in the adapter ROM
22
LAN Addresses and ARP Each adapter on LAN has unique LAN address
1A-2F-BB-76-09-AD
71-65-F7-2B-08-53
LAN (wired or wireless)
Broadcast address = FF-FF-FF-FF-FF-FF
= adapter 58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
23
LAN Address (more) MAC address allocation administered by IEEE manufacturer buys portion of MAC address space
(to assure uniqueness)
2^24 MAC addresses are currently free
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 IP subnet to which node is attached 24
ARP: Address Resolution Protocol Question: how to determine MAC address of B knowing B’s IP address? 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.23
Each IP node (Host,
Router) on LAN has ARP table ARP Table: IP/MAC address mappings for some LAN nodes
237.196.7.14
LAN 71-65-F7-2B-08-53
237.196.7.88
< IP address; MAC address; TTL>
58-23-D7-FA-20-B0
TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)
0C-C4-11-6F-E3-98
25
ARP protocol: Same LAN (network) A wants to send datagram
to B, and B’s MAC address not in A’s ARP table. A broadcasts ARP query 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
frame sent to A’s MAC address (unicast)
A caches (saves) 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
26
Routing to another LAN walkthrough: send datagram from A to B via R assume A knows B’s IP address
A
R
B
Two ARP tables in router R, one for each IP
network (LAN)
27
A creates datagram with source A, destination B A uses ARP to get R’s MAC address for 111.111.111.110 A creates link-layer frame with R's MAC address as dest,
frame contains A-to-B IP datagram A’s adapter sends frame R’s adapter receives frame R removes IP datagram from Ethernet frame, sees its destined to B R uses ARP to get B’s MAC address R creates frame containing A-to-B IP datagram sends to B
A R
B 28
Overview Link-Layer Addressing Ethernet Hubs and switches
29
Ethernet “dominant” wired LAN technology: cheap $20 for 100Mbs! first widely used LAN technology Simpler, cheaper than token LANs and ATM Kept up with speed race: 10 Mbps – 10 Gbps
Metcalfe’s Ethernet Sketch (PhD Harvard 1970, 3Com)
30
Star topology Bus topology popular through mid 90s Now star topology prevails Connection choices: hub or switch (more later)
hub or switch
31
Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame
Preamble: 7 bytes with pattern 10101010 followed by one byte with pattern 10101011 used to synchronize receiver, sender clock rates
32
Ethernet Frame Structure (more) Addresses: 6 bytes if adapter receives frame with matching destination address, or with broadcast address (eg ARP packet), it passes data in frame to net-layer protocol otherwise, adapter discards frame
Type: indicates the higher layer protocol (mostly
IP but others may be supported such as Novell IPX and AppleTalk) CRC: checked at receiver, if error is detected, the frame is simply dropped
33
Unreliable, connectionless service Connectionless: No handshaking between sending
and receiving adapter. Unreliable: receiving adapter doesn’t send acks or nacks to sending adapter
stream of datagrams passed to network layer can have gaps gaps will be filled if app is using TCP otherwise, app will see the gaps
34
Ethernet uses CSMA/CD No slots 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
35
Ethernet CSMA/CD algorithm 1. Adaptor receives 4. If adapter detects datagram from net layer & another transmission while creates frame transmitting, aborts and sends jam signal (48 bits) 2. If adapter senses channel idle, it starts to transmit 5. After aborting, adapter frame. If it senses enters exponential channel busy, waits until backoff: after the mth channel idle and then collision, adapter chooses transmits a K at random from {0,1,2,…,2m-1}. 3. If adapter transmits entire frame without Adapter waits K·512 bit detecting another times and returns to Step transmission, the adapter 2 is done with frame ! 36
Ethernet’s CSMA/CD (more) Jam Signal: make sure all other transmitters are aware of collision; 48 bits Bit time: .1 microsec for 10 Mbps Ethernet ; for K=1023, wait time is about 50 msec
Exponential Backoff: Goal: adapt retransmission attempts to estimated current load
heavy load: random wait will be longer
first collision: choose K
from {0,1}; delay is K· 512 bit transmission times after second collision: choose K from {0,1,2,3}… after ten collisions, choose K from {0,1,2,3,4,…,1023}
37
CSMA/CD efficiency Tprop = max prop between 2 nodes in LAN ttrans = time to transmit max-size frame
efficiency
1 1 5t prop / ttrans
Efficiency goes to 1 as tprop goes to 0 Goes to 1 as ttrans goes to infinity
Much better than ALOHA, but still decentralized,
simple, and cheap
38