1 Announcements Prelim and submission for 3 rd 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 (10 Mbps, 100 Mbps, 1 Gbps) –Wireless: IEEE 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
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?
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 – –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: 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 header data CRC
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 ” “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 ?” RARP Server ??? “Your name is ”
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