Presentation on theme: "Link-Layer Addressing and Forwarding"— Presentation transcript:
1Link-Layer Addressing and Forwarding Nick Feamster Computer Networking I Spring 2013
2The Internet Protocol Stack Need to interconnect many existing networksHide underlying technology from applicationsDecisionsNetwork provides minimal functionalityIP as the “Narrow waist”WWW phone...SMTP HTTP RTP...TCP UDP…IPethernet PPP…CSMA async sonet...copper fiber radio...ApplicationsTechnology
3Layering Helps manage complexity Each layer: Relies on services from layer belowProvides services to layer aboveFor example: IP (network) layerIP relies on connectivity to next hop, access to mediumIP provides a datagram serviceBest effort deliveryPackets may be lost, corrupted, reordered, etc.Layers on top of IP (e.g., TCP) may guarantee reliable, in-order delivery
4Layering Mechanism: Encapsulation User AUser BApplication (message) Transport (segment) Network (datagram) Link (frame)Get index.htmlConnection IDSource/DestinationLink AddressThis can be more complexExample: Network layers can be encapsulated within another network layer
5The “Narrow Waist” Facilitates interconnection and interoperability IP over anything, anything over IPHas allowed for much innovation both above and below the IP layer of the stackAny device with an IP stack can “get on the Internet”Drawback: very difficult to make changes to IP
6From Signals to Packets Analog Signal“Digital” SignalBit StreamPacketsHeader/BodyReceiverSenderPacketTransmission
7Analog versus Digital Encoding Digital transmissions.Interpret the signal as a series of 1’s and 0’sE.g. data transmission over the InternetAnalog transmissionDo not interpret the contentsE.g broadcast radioWhy digital transmission?
8Non-Return to Zero (NRZ) 1111.85V-.851 -> high signal; 0 -> low signalLong sequences of 1’s or 0’s can cause problems:Sensitive to clock skew, i.e. hard to recover clockDifficult to interpret 0’s and 1’s
9Ethernet Manchester Encoding 11.85V-.85.1sPositive transition for 0, negative for 1Transition every cycle communicates clock (but need 2 transition times per bit)DC balance has good electrical properties
10What are the advantages to separating network layer from MAC layer? The Link LayerLAN/Physical/MAC addressFlat structureUnique to physical interface (no two alike)…how?datagramlink layer protocolreceiversenderframeframeadapteradapterFrames can be sent to a specific MAC address or to the broadcast MAC addressWhat are the advantages to separating network layer from MAC layer?
11Services Provided by the Link Layer Framing: Encapsulation of a network-layer datagramLink Access: Sharing of broadcast links and shared mediaReliable Delivery: Guarantee to deliver the frame to the other end of the link without error.Flow Control: The link layer can provide mechanisms to avoid overflowing the bufferError Correction: Determining where errors have occurred and then correcting those errors.
12Local Area Networks Benefits of being “local”: Examples: Lower cost Short distance = faster links, low latencyEfficiency less pressingOne management domainMore homogenousExamples:EthernetToken ring, FDDIwireless
13Life of a Packet: On a Subnet Packet destined for outgoing IP address arrives at network interfacePacket must be encapsulated into a frame with the destination MAC addressFrame is sent on LAN segment to all hostsHosts check destination MAC address against MAC address that was destination IP address of the packet
15Interconnecting LANs with Hubs All packets seen everywhereLots of flooding, chances for collisionCan’t interconnect LANs with heterogeneous media (e.g., Ethernets of different speeds)hubhubhubhub
16Problems with Hubs: No Isolation ScalabilityLatencyAvoiding collisions requires backoffPossible for a single host to hog the mediumFailuresOne misconfigured device can cause problems for every other device on the LAN
17Improving on Hubs: Switches Link-layerStores and forwards Ethernet framesExamines frame header and selectively forwards frame based on MAC dest addressWhen frame is to be forwarded on segment, uses CSMA/CD to access segmentTransparentHosts are unaware of presence of switchesPlug-and-play, self-learningSwitches do not need to be configured
18Switch: Traffic Isolation Switch breaks subnet into LAN segmentsSwitch filters packetsSame-LAN-segment frames not usually forwarded onto other LAN segmentsSegments become separate collision domainsswitchcollision domainhubhubhubcollision domaincollision domain
19Filtering and Forwarding Occurs through switch tableSuppose a packet arrives destined for node with MAC address x from interface AIf MAC address not in table, flood (act like a hub)If MAC address maps to A, do nothing (packet destined for same LAN segment)If MAC address maps to another interface, forwardHow does this table get configured?LAN ALAN BLAN CABC
20Advantages vs. Hubs Better scaling Better privacy Heterogeneity Separate collision domains allow longer distancesBetter privacyHosts can “snoop” the traffic traversing their segment… but not all the rest of the trafficHeterogeneityJoins segments using different technologies
21Limitations on Topology Switches sometimes need to broadcast framesUnfamiliar destination: Act like a hubSending to broadcastFlooding can lead to forwarding loops and broadcast stormsE.g., if the network contains a cycle of switchesEither accidentally, or by design for higher reliabilityWorse yet, packets can be duplicated and proliferated!
22Limitations on Topology Switches sometimes need to broadcast framesUnfamiliar destination: Act like a hubSending to broadcastFlooding can lead to forwarding loops and broadcast stormsE.g., if the network contains a cycle of switchesEither accidentally, or by design for higher reliabilityWorse yet, packets can be duplicated and proliferated!
23Solution: Spanning Trees Ensure the topology has no loopsAvoid using some of the links when flooding… to avoid forming a loopSpanning treeSub-graph that covers all vertices but contains no cyclesLinks not in the spanning tree do not forward frames
24Constructing a Spanning Tree Elect a rootThe switch with the smallest identifierEach switch identifies if its interface is on the shortest path from the rootAnd it exclude from the tree if notAlso exclude from tree if same distance, but higher identifierMessage Format: (Y, d, X)From node XClaiming Y as rootDistance is drootOne hopThree hops
25Steps in Spanning Tree Algorithm Initially, every switch announces itself as the rootExample: switch X announces (X, 0, X)Switches update their view of the rootUpon receiving a message, check the root idIf the new id is smaller, start viewing that switch as rootSwitches compute their distance from the rootAdd 1 to the distance received from a neighborIdentify interfaces not on a shortest path to the root and exclude those ports from the spanning tree
26Example From Switch #4’s Viewpoint Switch #4 thinks it is the rootSends (4, 0, 4) message to 2 and 7Switch #4 hears from #2Receives (2, 0, 2) message from 2… and thinks that #2 is the rootAnd realizes it is just one hop awaySwitch #4 hears from #7Receives (2, 1, 7) from 7And realizes this is a longer pathSo, prefers its own one-hop pathAnd removes 4-7 link from the tree1352467
27Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame
28Ethernet Frame Structure (cont.) Preamble: 8 bytes101010…1011Used to synchronize receiver, sender clock ratesCRC: 4 bytesChecked at receiver, if error is detected, the frame is simply dropped
29Ethernet Frame Structure (cont.) Each protocol layer needs to provide some hooks to upper layer protocolsDemultiplexing: identify which upper layer protocol packet belongs toE.g., port numbers allow TCP/UDP to identify target applicationEthernet uses Type fieldType: 2 bytesIndicates the higher layer protocol, mostly IP but others may be supported such as Novell IPX and AppleTalk)
30Addressing Alternatives Broadcast media all nodes receive all packetsAddressing determines which packets are kept and which are packets are thrown awayPackets can be sent to:Unicast – one destinationMulticast – group of nodes (e.g. “everyone playing Quake”)Broadcast – everybody on wireDynamic addresses (e.g. Appletalk)Pick an address at randomBroadcast “is anyone using address XX?”If yes, repeatStatic address (e.g. Ethernet)
31Ethernet Frame Structure (cont.) Addresses: 6 bytesEach adapter is given a globally unique address at manufacturing timeAddress space is allocated to manufacturers24 bits identify manufacturerE.g., 0:0:15:* 3com adapterFrame is received by all adapters on a LAN and dropped if address does not matchSpecial addressesBroadcast – FF:FF:FF:FF:FF:FF is “everybody”Range of addresses allocated to multicastAdapter maintains list of multicast groups node is interested in
32LAN Switching Extend reach of a single shared medium Connect two or more “segments” by copying data frames between themSwitches only copy data when needed key difference from repeatersLAN 1LAN 2
33Switched Network Advantages Higher link bandwidthPoint to point electrically simpler than busMuch greater aggregate bandwidthSeparate segments can send at onceImproved fault toleranceRedundant pathsChallenge (next lecture)Learning which packets to copy across linksAvoiding forwarding loops
34Disadvantages vs. Hubs Delay in forwarding frames Bridge/switch must receive and parse the frame… and perform a look-up to decide where to forwardStoring and forwarding the packet introduces delaySolution: cut-through switchingNeed to learn where to forward framesBridge/switch needs to construct a forwarding tableIdeally, without intervention from network administratorsSolution: self-learning
35Motivation For Self-Learning Switches forward frames selectivelyForward frames only on segments that need themSwitch tableMaps destination MAC address to outgoing interfaceGoal: construct the switch table automaticallyBACswitchD
36(Self)-Learning Bridges Switch is initially emptyFor each incoming frame, storeThe incoming interface from which the frame arrivedThe time at which that frame arrivedDelete the entry if no frames with a particular source address arrive within a certain timeBSwitch learns how to reach A.ACD
37ARP: IP Addresses to MAC addresses Query is IP address, response is MAC addressQuery is sent to LAN’s broadcast MAC addressEach host or router has an ARP tableChecks IP address of query against its IP addressReplies with ARP address if there is a matchPotential problems with this approach?Caching on hosts is really importantTry arp –a to see an ARP table
38Switches vs. Routers Switches Switches are automatically configuring Forwarding tends to be quite fast, since packets only need to be processed through layer 2RoutersRouter-level topologies are not restricted to a spanning treeCan even have multipath routing
40Problem: Sharing a Wire Learned how to connect hosts… But what if we want more hosts?Expensive! How can we share a wire?Wires for everybody!Switches
41Random Access Protocols When node has packet to sendTransmit at full channel data rate RNo a priori coordination among nodesTwo or more transmitting nodes “collision”Random access MAC protocol specifies:How to detect collisionsHow to recover from collisions (e.g., via delayed retransmissions)Examples of random access MAC protocols:Slotted ALOHA and ALOHACSMA and CSMA/CD8
42Aloha – Basic Technique First random MAC developedFor radio-based communication in Hawaii (1970)Basic idea:When you are ready, transmitReceivers send ACK for dataDetect collisions by timing out for ACKRecover from collision by trying after random delayToo short large number of collisionsToo long underutilization9
43Slotted Aloha Time is divided into equal size slots Equal to packet transmission timeNode (w/ packet) transmits at beginning of next slotIf collision: retransmit pkt in future slots with probability p, until successfulSuccess (S), Collision (C), Empty (E) slots10
44Pure (Unslotted) ALOHA Unslotted Aloha: simpler, no synchronizationPkt needs transmission:Send without awaiting for beginning of slotCollision probability increases:Pkt sent at t0 collide with other pkts sent in [t0-1, t0+1]11
45Random Access MAC Protocols Non-Carrier-Sense protocols: doesn’t “listen” to the channel before transmittingALOHACarrier-Sense protocols: senses the channel before transmittingCSMA (Carrier Sense Multiple Access): does not detect collision.CSMA/CD (Ethernet): A node “listens” before/while transmitting to determine whether a collision happens.
46ALOHA Radio-based communication network Developed in 1970s at the Univ of HawaiiBasic idea: transmit when a node has data to be sent.Receiver sends ACK for dataDetect collisions by timing out for ACKRecover from collision by trying after random delayToo short: large number of collisionsToo long: underutilization
47Ethernet MACIf line is idle (no carrier sensed) send packet immediatelyIf line is busy (carrier sensed) wait until idle and transmit packet immediatelyIf collision detectedStop sending and jam signalJam signal: make sure all other transmitters are aware of collisionWait a random time (Exponential backoff), and try again
48QuestionsHow does sender detect collision?How long does it take?
49Ethernet Performance Ethernets work best under light loads Utilization over 30% is considered heavyPeak throughput worse withMore hostsMore collisions needed to identify single senderSmaller packet sizesMore frequent arbitrationLonger linksCollisions take longer to observe, more wasted bandwidth
52Error Detection EDC= Error Detection and Correction bits (redundancy) D = Data protected by error checking, may include header fieldsError detection not 100% reliable!protocol may miss some errors, but rarelylarger EDC field yields better detection and correction
53Parity Checking Two Dimensional Bit Parity: Single Bit Parity: Detect and correct single bit errorsSingle Bit Parity:Detect single bit errors
54Internet checksumGoal: detect “errors” (e.g., flipped bits) in transmitted segment (note: used at transport layer only)Sender:treat segment contents as sequence of 16-bit integerschecksum: addition (1’s complement sum) of segment contentssender puts checksum value into UDP checksum fieldReceiver:compute checksum of received segmentcheck if computed checksum equals checksum field value:NO - error detectedYES - no error detected. But maybe errors nonetheless? More later ….
55Checksumming: Cyclic Redundancy Check view data bits, D, as a binary numberchoose r+1 bit pattern (generator), Ggoal: choose r CRC bits, R, such that<D,R> exactly divisible by G (modulo 2)receiver knows G, divides <D,R> by G. If non-zero remainder: error detected!can detect all burst errors less than r+1 bitswidely used in practice (ATM, HDCL)
56CRC Example Want: D.2r XOR R = nG equivalently: D.2r = nG XOR R if we divide D.2r by G, want remainder RD.2rGR = remainder[ ]
57The Design Goals of Internet, v1 Interconnection/Multiplexing (packet switching)Resilience/Survivability (fate sharing)HeterogeneityDifferent types of servicesDifferent types of networksDistributed managementCost effectivenessEase of attachmentAccountabilityDecreasing PriorityThese goals were prioritized for a military network. Should priorities change as the network evolves?
58Fundamental Goal: Sharing Packet SwitchingNo connection setupForwarding based on destination address in packetEfficient sharing of resourcesTradeoff: Resource management more difficult.
59Fundamental Goal: Interconnection Need to interconnect many existing networksHide underlying technology from applicationsDecisions:Network provides minimal functionality“Narrow waist”WWW phone...SMTP HTTP RTP...TCP UDP…IPethernet PPP…CSMA async sonet...copper fiber radio...ApplicationsTechnologyTradeoff: No assumptions, no guarantees.
60Interconnection: “Gateways” Interconnect heterogeneous networksNo state about ongoing connectionsStateless packet switchesGenerally, router == gatewayBut, we can think of a NAT as also performing the function of a gateway:50878Home NetworkInternet:50879
61Gateways: Routers and Switches Interconnect nodes to nodesAnd networks to networksNo state about ongoing connectionsStateless packet switchesWe can also think of your home router/NAT as performing the function of a gateway:50878Home NetworkInternet:50879(more on NATs in lecture 17)
62Goal #2: Survivability Two Options Replication Fate-sharing Keep state at multiple places in the network, recover when nodes crashFate-sharingAcceptable to lose state information for some entity if the entity itself is lostReasons for Fate SharingIs fate sharing still satisfied today?Can support arbitrarily complex failure scenariosEngineering is easierRecent reversals of this trend: NAT (Wednesday), Routing Control Platform (Lecture 4)
63Goal #3: Heterogeneous Services TCP/IP designed as a monolithic transportTCP for flow control, reliable deliveryIP for forwardingBecame clear that not every type of application would need reliable, in-order deliveryExample: Voice and video over networksExample: DNSWhy doesn’t DNS require reliable, in-order delivery?
64Goal #3b: Heterogeneous Networks Build minimal functionality into the networkNo need to re-engineering for each type of network“Best effort” service model.Lost packetsOut-of-order packetsNo quality guaranteesNo information about failures, performance, etc.Tradeoff: Network management more difficult
65Goal #4: Distributed Management Many examples:Addressing (ARIN, RIPE, APNIC, etc.)(Though this was recently threatened.)Naming (DNS)Routing (BGP)No single entity in charge. Allows for organic growth, scalable management.Tradeoff: No one party has visibility/control.
66No Owner, No Responsible Party “Some of the most significant problems with the Internet today relate to lack of sufficient tools for distributed management, especially in the area of routing.”Hard to figure out who/what’s causing a problemWorse yet, local actions have global effects…
67Goal #5: Cost Effectiveness Packet headers introduce high overheadEnd-to-end retransmission of lost packetsPotentially wasteful of bandwidth by placing burden on the edges of the networkArguably a good tradeoff. Current trends are to exploit redundancy even more.
68Goal #6: Ease of Attachment IP is “plug and play” Anything with a working IP stack can connect to the Internet (hourglass model)A huge success!Lesson: Lower the barrier to innovation/entry and people will get creative (e.g., Cerf and Kahn probably did not think about IP stacks on phones, sensors, etc.)But….Tradeoff: Burden on end systems/programmers.
69Goal #7: Accountability Note: Accountability mentioned in early papers on TCP/IP, but not prioritizedDatagram networks make accounting tricky.The phone network has had an easier time figuring out billingPayments/billing on the Internet is much less precise(More on this in Lecture 4)Tradeoff: Broken payment models and incentives.