Presentation on theme: "Nick Feamster CS 6250: Computer Networks Fall 2011"— Presentation transcript:
1Nick Feamster CS 6250: Computer Networks Fall 2011 The Control PlaneNick Feamster CS 6250: Computer Networks Fall 2011
2What is the Control Plane? Essentially the “brain” of the networkResponsible for computing and implementingEnd-to-end paths (Routing)Permissions (Access Control Lists)Today: The “Internet control plane” as we know itLayer 2 Path Computation: Spanning TreeIntradomain routing: OSPF/ISISInterdomain routing: BGPQuestion: Where should the control plane reside?
4Life 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
6Interconnecting 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
7Problems 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
8Improving 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
9Switch: 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
10Filtering 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
11Advantages 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
12Disadvantages 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
13Motivation 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
14(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
15Cut-Through Switching Buffering a frame takes timeSuppose L is the length of the frameAnd R is the transmission rate of the linksThen, receiving the frame takes L/R time unitsBuffering delay can be a high fraction of total delay, especially over short distancesABswitches
16Cut-Through Switching Start transmitting as soon as possibleInspect the frame header and do the look-upIf outgoing link is idle, start forwarding the frameOverlapping transmissionsTransmit the head of the packet via the outgoing link… while still receiving the tail via the incoming linkAnalogy: different folks crossing different intersectionsABswitches
17Limitations 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!
18Solution: 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
19Constructing 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
20Steps 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
21Example 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
22Switches 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
23Scaling Ethernet Main limitation: Broadcast Spanning tree protocol messagesARP queriesHigh-level proposal: Distributed directory serviceEach switch implements a directory serviceHosts register at each bridgeDirectory is replicatedQueries answered locally…are there other ways to do this?
25Routing Inside an AS Intra-AS topology Intradomain routing protocols Nodes and edgesExample: AbileneIntradomain routing protocolsDistance VectorSplit-horizon/Poison-reverseExample: RIPLink StateExample: OSPF, ISIS
26Topology Design Where to place “nodes”? Where to place “edges”? Typically in dense population centersClose to other providers (easier interconnection)Close to other customers (cheaper backhaul)Note: A “node” may in fact be a group of routers, located in a single city. Called a “Point-of-Presence” (PoP)Where to place “edges”?Often constrained by location of fiber
28Where’s Georgia Tech? 10GigE (10GbpS uplink) Southeast Exchange (SOX) is at 56 Marietta Street
29Intradomain Routing: Two Approaches Routing: the process by which nodes discover where to forward traffic so that it reaches a certain nodeWithin an AS: there are two “styles”Distance vector: iterative, asynchronous, distributedLink State: global information, centralized algorithm
30Forwarding vs. Routing Forwarding: data plane Routing: control plane Directing a data packet to an outgoing linkIndividual router using a forwarding tableRouting: control planeComputing paths the packets will followRouters talking amongst themselvesIndividual router creating a forwarding table
31Distance Vector Algorithm Each node:Iterative, asynchronous: each local iteration caused by:Local link cost changeDistance vector update message from neighborDistributed:Each node notifies neighbors only when its DV changesNeighbors then notify their neighbors if necessarywait for (change in local link cost or message from neighbor)recompute estimatesif DV to any destination has changed, notify neighbors
32Link-State Routing Keep track of the state of incident links Whether the link is up or downThe cost on the linkBroadcast the link stateEvery router has a complete view of the graphCompute Dijkstra’s algorithmExamples:Open Shortest Path First (OSPF)Intermediate System – Intermediate System (IS-IS)
33Link-State Routing Idea: distribute a network map Each node performs shortest path (SPF) computation between itself and all other nodesInitialization stepAdd costs of immediate neighbors, D(v), else infiniteFlood costs c(u,v) to neighbors, NFor some D(w) that is not in ND(v) = min( c(u,w) + D(w), D(v) )
34Detecting Topology Changes BeaconingPeriodic “hello” messages in both directionsDetect a failure after a few missed “hellos”Performance trade-offsDetection speedOverhead on link bandwidth and CPULikelihood of false detection“hello”
35Broadcasting the Link State FloodingNode sends link-state information out its linksThe next node sends out all of its links except the one where the information arrivedXAXACBDCBD(a)(b)XAXACBDCBD(c)(d)
36Broadcasting the Link State Reliable floodingEnsure all nodes receive the latestlink-state informationChallengesPacket lossOut-of-order arrivalSolutionsAcknowledgments and retransmissionsSequence numbersTime-to-live for each packet
37When to Initiate Flooding Topology changeLink or node failureLink or node recoveryConfiguration changeLink cost changePeriodicallyRefresh the link-state informationTypically (say) 30 minutesCorrects for possible corruption of the data
38Scaling Link-State Routing Message overheadSuppose a link fails. How many LSAs will be flooded to each router in the network?Two routers send LSA to A adjacent routersEach of A routers sends to A adjacent routers…Suppose a router fails. How many LSAs will be generated?Each of A adjacent routers originates an LSA …
39Scaling Link-State Routing Two scaling problemsMessage overhead: Flooding link-state packetsComputation: Running Dijkstra’s shortest-path algorithmIntroducing hierarchy through “areas”Area 0areaborderrouter
40Link-State vs. Distance-Vector ConvergenceDV has count-to-infinityDV often converges slowly (minutes)DV has timing dependencesLink-state: O(n2) algorithm requires O(nE) messagesRobustnessRoute calculations a bit more robust under link-stateDV algorithms can advertise incorrect least-cost pathsIn DV, errors can propagate (nodes use each others tables)Bandwidth Consumption for MessagesMessages flooded in link state
41Open Shortest Paths First (OSPF) Area 0Key Feature: hierarchyNetwork’s routers divided into areasBackbone area is area 0Area 0 routers perform SPF computationAll inter-area traffic travles through Area 0 routers (“border routers”)
42Another Example: IS-IS Originally: ISO Connectionless Network ProtocolCLNP: ISO equivalent to IP for datagram delivery servicesISO or RFC 1142Later: Integrated or Dual IS-IS (RFC 1195)IS-IS adapted for IPDoesn’t use IP to carry routing messagesOSPF more widely used in enterprise, IS-IS in large service providers
43Hierarchical Routing in IS-IS BackboneAreaAreaLevel-1RoutingLevel-1RoutingLevel-2RoutingLike OSPF, 2-level routing hierarchyWithin an area: level-1Between areas: level-2Level 1-2 Routers: Level-2 routers may also participate in L1 routing
45Interdomain RoutingSee (Chapter ) for good coverage of today’s topics.
46Internet Routing The Internet AbileneGeorgiaTechComcastAT&TCogentLarge-scale: Thousands of autonomous networksSelf-interest: Independent economic and performance objectivesBut, must cooperate for global connectivity
47Internet Routing Protocol: BGP Autonomous Systems (ASes)Route AdvertisementDestination Next-hop AS Path/16174… 2637SessionTrafficDiagram of routing table is very confusing because it’s not pointing to anythingGreen arrow shorter, and too thick… green is a msgMore intuition about how the system actually works.Don’t say “interdomain”DESTINATION-BASED RoutingTables look like a set of possible routes and a rankings over these routes(pop up a simplified table fragment)
48Question: What’s the difference between IGP and iBGP? Two Flavors of BGPiBGPeBGPExternal BGP (eBGP): exchanging routes between ASesInternal BGP (iBGP): disseminating routes to external destinations among the routers within an ASQuestion: What’s the difference between IGP and iBGP?
49Example BGP Routing Table The full routing table> show ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i i*>i i*>i / i* i / i> show ip bgpBGP routing table entry for /16Paths: (1 available, best #1, table Default-IP-Routing-Table)Not advertised to any peerfrom ( )Origin IGP, metric 0, localpref 150, valid, internal, bestCommunity: 10578: :950Last update: Sat Jan 14 04:45:Specific entry. Can do longest prefix lookup:PrefixAS pathNext-hop
50Routing Attributes and Route Selection BGP routes have the following attributes, on which the route selection process is based:Local preference: numerical value assigned by routing policy. Higher values are more preferred.AS path length: number of AS-level hops in the pathMultiple exit discriminator (“MED”): allows one AS to specify that one exit point is more preferred than another. Lower values are more preferred.eBGP over iBGPShortest IGP path cost to next hop: implements “hot potato” routingRouter ID tiebreak: arbitrary tiebreak, since only a single “best” route can be selected
51Other BGP AttributesNext-hop:Next-hop:iBGPNext-hop: IP address to send packets en route to destination. (Question: How to ensure that the next-hop IP address is reachable?)Community value: Semantically meaningless. Used for passing around “signals” and labelling routes. More in a bit.
52Local Preference Control over outbound traffic Higher local prefPrimaryDestinationBackupLower local prefControl over outbound trafficNot transitive across ASesCoarse hammer to implement route preferenceUseful for preferring routes from one AS over another (e.g., primary-backup semantics)
53Communities and Local Preference PrimaryDestinationBackup“Backup” CommunityCustomer expresses provider that a link is a backupAffords some control over inbound trafficMore on multihoming, traffic engineering in Lecture 7
54AS Path LengthTrafficDestinationAmong routes with highest local preference, select route with shortest AS path lengthShortest AS path != shortest path, for any interpretation of “shortest path”
55Hot-Potato Routing Prefer route with shorter IGP path cost to next-hop Idea: traffic leaves AS as quickly as possibleDest.New YorkAtlantaTrafficCommon practice: Set IGP weights in accordance with propagation delay (e.g., miles, etc.)105IWashington, DC
56Problems with Hot-Potato Routing Small changes in IGP weights can cause large traffic shiftsDest.San FranNew YorkTrafficQuestion: Cost of sub-optimal exit vs. cost of large traffic shifts11105ILA
57Internet Business Model (Simplified) ProviderPreferences implemented with local preference manipulationFree to usePay to usePeerGet paid to useCustomerDestinationCustomer/Provider: One AS pays another for reachability to some set of destinations“Settlement-free” Peering: Bartering. Two ASes exchange routes with one another.
58A Clean Slate 4D Approach to Internet Control and Management
59Layers of the 4D Architecture Network-level objectivesDecisionDisseminationDirect controlNetwork-wide viewsDiscoveryDataData Plane:Spatially distributed routers/switchesCan deploy with today’s technologyLooking at ways to unify forwarding paradigms across technologies
60Advantages of 4DSeparate network logic from distributed systems issuesenables the use of existing distributed systems techniques and protocols to solve non-networking issuesHigher robustnessraises level of abstraction for managing the networkallows operators to focus on specific network-level objectivesBetter securityreduces likelihood of configuration mistakesAccommodating heterogeneityEnable Innovationsonly decision plane needs to be changed
61Challenges of 4D Reducing complexity Dramatically simplifying overall system? Or is it just moving complexity?Unavoidable delays to have network-wide view.Is it possible to have a network-wide view sufficiently accurate and stable to manage the network?The logic is centralized in Decision Element (DE)Is it possible to respond to network failures and restore data flow within an acceptable time?DE can be a single point of failure.Attackers can compromise the whole network by controlling DE
62Research Agenda: Decision Plane Algorithms to satisfy Network-level objectivesTraffic Engineering: beyond intractable problems?Reachability PoliciesPlanned MaintenanceSpecification of network-level objectives: new language?Coordination between Decision ElementsTo avoid a single point of failure, multiple DE’s1) only elected leader sends instructions to all2) independent DE’s without coordination: network elements resolves commands from different DE’sHierarchy in Decision Plane
63Research Agenda: Dissemination Plane Separate control from data “logically”supervisory channel in SONET, optical linksno separation channel for control and data in the InternetHow to achieve robust, efficient connection of DE with routers and switches?floodingspanning-tree protocolssource routingWhen to apply the new logic in data planeeach router applies update ASAPcoordinate update at a pre-specified time: need time synch
64Research Agenda: Discovery Plane Todayconsistency between management logic, configuration files, and physical reality is maintained manually!4DBootstrapping with zero pre-configurationAutomatically discovering the identities of devices and the logical/physical relationships between themSupporting cross-layer auto-discovery
65Research Agenda: Data Plane Data plane handles data packets under direct control of the decision planeDecision plane algorithms should vary depending on the forwarding paradigms in data planePacket-forwarding paradigmsLongest-prefix matching (IPv4, IPv6)Exact-match forwarding (Ethernet)Label switching (MPLS, ATM, Frame Relay)Weighted splitting over multiple outgoing links or single out-going link?
67End-to-End Routing Behavior Importance of paperRevitalized field of network measurementUse of statistical techniques to capture new types of measurementsEmpirical findings of routing behavior (motivation for future work)Various routing pathologiesRouting loopsErroneousConnectivity altered mid-streamFluttering…
69Routing Loops Persistent Routing Loops Temporary Routing Loops 10 persistent routing loops in D150 persistent routing loops in D2Temporary Routing Loops2 loops in D121 in D2Location of Routing Loops: All in one AS
70Erroneous and Transient Routing Transatlantic route to London via Israel!Connectivity altered mid-stream10 cases in D1155 cases in D2Fluttering: Packets to the same flow changing mid-stream
71Routing Prevalence and Persistence Prevalence: How often is the route present in the routing tables?Internet paths are strongly dominated by a single routePersistence: How long do routes endure before changing?Routing changes occur over a variety of time scales