The Link Layer

advertisement
The Link Layer
Announcements
• No CS 415 section tomorrow, Tuesday
• Project 4 is due next Monday, April 9th
• Prelim II will be Thursday, April 26th, 7-9:30pm, in PH 101
2
Review: OSI Levels
• Physical Layer
– electrical details of bits on the wire
• Data Link Layer
– sending “frames” of bits and error detection
• Network Layer
– routing packets to the destination
• Transport Layer
– reliable transmission of messages, disassembly/assembly, ordering,
retransmission of lost packets
• Session Layer
– really part of transport, typically Not implemented
• Presentation Layer
– data representation in the message
• Application
– high-level protocols (mail, ftp, etc.)
3
Review: OSI Levels
Node A Application
Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Data Link
Data Link
Physical
Physical
Node B
Network
4
What is purpose of this layer?
• Invoke Physical 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)
5
Broadcast Networks Details
Body
(Data)
Header
(Dest:2)
ID:1
(ignore)
Message
ID:3
(sender)
ID:4
(ignore)
ID:2
(receive)
• Delivery: When you broadcast a packet, how does a receiver know who it is
for? (packet goes to everyone!)
– Put header on front of packet: [ Destination | Packet ]
– Everyone gets packet, discards if not the target
– In Ethernet, this check is done in hardware
• No OS interrupt if not for particular destination
– This is layering: we’re going to build complex network protocols by layering on
top of the packet
6
Point-to-point networks
Router
Internet
Switch
• Why have a shared broadcast medium? Why not simplify
and only have point-to-point links + routers/switches?
– Didn’t used to be cost-effective
– Now, easy to make high-speed switches and routers that can forward
packets from a sender to a receiver.
• Point-to-point network: a network in which every physical wire
is connected to only two computers
• Switch: a bridge that transforms a shared-bus configuration
into a point-to-point network.
• Router: a device that acts as a junction between two networks
to transfer data packets among them.
7
Point-to-Point Networks Discussion
• Advantages:
– Higher link performance
• Can drive point-to-point link faster than broadcast link since less capacitance/less
echoes (from impedance mismatches)
– Greater aggregate bandwidth than broadcast link
• Can have multiple senders at once
– Can add capacity incrementally
• Add more links/switches to get more capacity
– Better fault tolerance (as in the Internet)
– Lower Latency
• No arbitration to send, although need buffer in the switch
• Disadvantages:
– More expensive than having everyone share broadcast link
– However, technology costs now much cheaper
• Examples
– ATM (asynchronous transfer mode)
• The first commercial point-to-point LAN
• Inspiration taken from telephone network
– Switched Ethernet
• Same packet format and signaling as broadcast Ethernet, but only two machines
on each ethernet.
8
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)
9
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
10
Encoding
• Map 1s and 0s to electric signals
• Simple scheme: Non-Return to Zero (NRZ)
– 0 = low voltage, 1 = high voltage
1
0
1
1
0
• 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
11
Manchester Encoding
• Used by Ethernet
• Idea: Map 0 to low-to-high transition, 1 to high-to-low
0
1
1
0
• 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?
12
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
13
Example: HDLC
• High-Level Data Link Control (HLDC)
– Data link layer protocol developed by the ISO
• Same sentinel for begin and end: 0111 1110
• packet format:
0111 1110
header
data
CRC
0111 1110
• Bit stuffing
– Sender: If 5 1s then insert a 0
0111 1110
0111 1101 0
– Receiver: if 5 1s followed by a 0, remove 0
0111 1101 0
0111 1110
• Else read next bit
• Packet size now depends on the contents
14
Broadcast Network Arbitration
• Arbitration: Act of negotiating use of shared medium
– What if two senders try to broadcast at same time?
– Concurrent activity but can’t use shared memory to coordinate!
• Aloha network (70’s): packet radio within Hawaii
– Blind broadcast, with checksum at end of
packet. If received correctly (not garbled),
send back an acknowledgement. If not
received correctly, discard.
• Need checksum anyway – in case airplane
flies overhead
– Sender waits for a while, and if doesn’t
get an acknowledgement, re-transmits.
– If two senders try to send at same time, both get garbled, both simply
re-send later.
– Problem: Stability: what if load increases?
• More collisions  less gets through more resent  more load… 
More collisions…
• Unfortunately: some sender may have started in clear, get scrambled
without finishing
15
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
16
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
17
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
18
CSMA
Wait
until
carrier
free
19
CSMA/CD
Garbled signals
If the sender detects a collision, it will stop and then retry!
What is the problem?
20
CSMA/CD
Packet?
No
Sense
Carrier
Send
Detect
Collision
Yes
Discard
Packet
attempts < 16
Jam channel
b=CalcBackoff();
wait(b);
attempts++;
attempts == 16
21
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
• Adaptive and Random
– First time, pick random wait time with some initial mean. If collide
again, pick random value from bigger mean wait time. Etc.
– Randomness is important to decouple colliding senders
– Scheme figures out how many people are trying to send!
• Example
– 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}
22
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
23
Ethernet Problems
•
What if there is a malicious user?
– Might not use exponential backoff
– Might listen promiscuously to packets
•
Integrating Fast and Gigabit Ethernet
24
Addressing & ARP
128.84.96.89
128.84.96.90
128.84.96.91
“What is the physical
address of the host
named 128.84.96.89”
“I’m at 1a:34:2c:9a:de:cc”
• ARP is used to discover physical addresses
• ARP = Address Resolution Protocol
25
Addressing & RARP
???
128.84.96.90
RARP Server
128.84.96.91
“I just got here. My
physical address is
1a:34:2c:9a:de:cc.
What’s my name ?”
“Your name is
128.84.96.89”
• RARP is used to discover virtual addresses
• RARP = Reverse Address Resolution Protocol
26
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
27
Backbone Bridge
28
Summary
• Data Link Layer
– layer two of the seven-layer OSI model
• Layer two of the five-layer TCP/IP reference model as well.
– Responds to service requests from the network layer and issues service
requests to the physical layer.
• Broadcast vs Point-to-point
– Point-to-point is often higher performance, but traditionally higher cost as well
– Switched Ethernet is common now
• Data Link Layer Issues
– Encoding: map bits to analog signals
• Manchester encoding
– Framing: Group bits into frames (packets)
• Bit stuffing
– Arbitration: multiple senders, one resource
• Ethernet uses CSMA/CD (carrier sense multiple access/collision detection)
– Addressing: multiple receivers, one wire
• ARP (address resolution protocol)
29
Download