220 likes | 285 Views
Announcements. Prelim and submission for 3 rd CS 415 project Homework 4 graded. The Link Layer. 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:
E N D
Announcements • Prelim and submission for 3rd CS 415 project • Homework 4 graded
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)
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)
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
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
0 1 1 0 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?
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
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
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
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
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
CSMA Wait until carrier free
CSMA/CA Garbled signals If the sender detects a collision, it will stop and then retry! What is the problem?
No Yes attempts < 16 attempts == 16 CSMA/CD Packet? Sense Carrier Detect Collision Send Discard Packet Jam channel b=CalcBackoff(); wait(b); attempts++;
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}
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
Ethernet Problems • What if there is a malicious user? • Might not use exponential backoff • Might listen promiscuously to packets • Integrating Fast and Gigabit Ethernet
Addressing & ARP • ARP is used to discover physical addresses • ARP = Address Resolution Protocol 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”
Addressing & RARP • RARP is used to discover virtual addresses • RARP = Reverse Address Resolution Protocol ??? 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”
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