1 Announcements • Prelim and submission for 3 rd CS 415 project • Homework 4 graded
Dec 22, 2015
1
Announcements
• Prelim and submission for 3rd CS 415 project• Homework 4 graded
The Link Layer
3
What is purpose of this layer?
• Physically encode bits on the wire• Link = pipe to send information
– E.g. point to point or broadcast
• Can be built out of:– Twisted pair, coaxial cable, optical fiber, radio waves, etc
• Links should only be able to send data– Could corrupt, lose, reorder, duplicate, (fail in other ways)
4
How to connect routers/machines?
• WAN/Router Connections– Commercial:
• T1 (1.5 Mbps), T3 (44 Mbps)• OC1 (51 Mbps), OC3 (155 Mbps)• ISDN (64 Kbps)• Frame Relay (1-100 Mbps, usually 1.5 Mbps)• ATM (some Gbps)
– To your home:• DSL• Cable
• Local Area:– Ethernet: IEEE 802.3 (10 Mbps, 100 Mbps, 1 Gbps)– Wireless: IEEE 802.11 b/g/a (11 Mbps, 22 Mbps, 54 Mbps)
5
Link level Issues
• Encoding: map bits to analog signals• Framing: Group bits into frames (packets)• Arbitration: multiple senders, one resource• Addressing: multiple receivers, one wire
6
Encoding
• Map 1s and 0s to electric signals• Simple scheme: Non-Return to Zero (NRZ)
– 0 = low voltage, 1 = high voltage
• Problems:– How to tell an error? When jammed? When is bus idle?– When to sample? Clock recovery is difficult.
• Idea: Recover clock using encoding transitions
1 0 1 1 0
7
Manchester Encoding
• Used by Ethernet• Idea: Map 0 to low-to-high transition, 1 to high-to-low
• Plusses: can detect dead-link, can recover clock• Bad: reduce bandwidth, i.e. bit rate = ½ baud rate
– If wire can do X transition per second?
0 1 1 0
8
Framing
• Why send packets?– Error control
• How do you know when to stop reading?– Sentinel approach: send start and end sequence– For example, if sentinel is 11111– 11111 00101001111100 11111 10101001 11111 010011 11111
– What if sentinel appears in the data?• map sentinel to something else, receiver maps it back
– Bit stuffing
9
Example: HDLC
• Same sentinel for begin and end: 0111 1110• packet format:
• Bit stuffing– Sender: If 5 1s then insert a 0
– Receiver: if 5 1s followed by a 0, remove 0
• Else read next bit
• Packet size now depends on the contents
0111 1110 header data CRC 0111 1110
0111 1110 0111 1101 0
0111 1101 0 0111 1110
10
Arbitration
• One medium, multiple senders– What did we do for CPU, memory, readers/writers?– New Problem: No centralized control
• Approaches– TDMA: Time Division Multiple Access
• Divide time into slots, round robin among senders
• If you exceed the capacity do not admit more (busy signal)
– FDMA: Frequency Division Multiple Access (AMPS)• Divide spectrum into channels, give each sender a channel
• If no more channels available, give a busy signal
– Good for continuous streams: fixed delay, constant data rate– Bad for bursty Internet traffic: idle slots
11
Ethernet
• Developed in 1976, Metcalfe and Boggs at Xerox• Uses CSMA/CD:
– Carrier Sense Multiple Access with Collision Detection
• Easy way to connect LANs
Metcalfe’s Ethernet sketch
12
CSMA/CD
• Carrier Sense:– Listen before you speak
• Multiple Access:– Multiple hosts can access the network
• Collision Detection:– Can make out if someone else started speaking
Older Ethernet Frame
13
CSMA
Wait until
carrier free
14
CSMA/CA
Garbled signals
If the sender detects a collision, it will stop and then retry!
What is the problem?
15
CSMA/CD
Packet?
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff();
wait(b);attempts++;
No
Yes
attempts < 16
attempts == 16
16
Ethernet’s CSMA/CD (more)
Jam Signal: make sure all other transmitters are aware of collision; 48 bits;
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 x 512 bit transmission times
• after second collision: choose K from {0,1,2,3}…• after ten or more collisions, choose K from {0,1,2,3,4,
…,1023}
17
Packet Size
If packets are too small, the collision goes unnoticedÞ Limit packet sizeÞ Limit network diameterÞ Use CRC to check frame integrityÞ truncated packets are filtered out
18
Ethernet Problems
• What if there is a malicious user?– Might not use exponential backoff– Might listen promiscuously to packets
• Integrating Fast and Gigabit Ethernet
19
Addressing & ARP
• ARP is used to discover physical addresses• ARP = Address Resolution Protocol
“What is the physical address of the host named 128.84.96.89”
128.84.96.90128.84.96.89
128.84.96.91
“I’m at 1a:34:2c:9a:de:cc”
20
Addressing & RARP
• RARP is used to discover virtual addresses• RARP = Reverse Address Resolution Protocol
“I just got here. My physical address is 1a:34:2c:9a:de:cc. What’s my name ?”
128.84.96.90RARP Server
???
128.84.96.91
“Your name is 128.84.96.89”
21
Repeaters and Bridges
• Both connect LAN segments• Usually do not originate data• Repeaters (Hubs): physical layer devices
– forward packets on all LAN segments– Useful for increasing range– Increases contention
• Bridges: link layer devices– Forward packets only if meant on that segment– Isolates congestion– More expensive
22
Backbone Bridge