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