12.07.2015 Views

第二讲路由器结构及路由协议

第二讲路由器结构及路由协议

第二讲路由器结构及路由协议

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OUTLINEInternet– intra-domain: RIP, OSPF– inter-domain: BGP


What does router look like?>


Shared BackplaneCPURouteTableBufferMemoryCPUMemoryLineInterfaceLineInterfaceLineInterfaceLineInterfaceMACMACMACTypically


CPURouteTableBufferMemoryLineCardLineCardLineCardBufferMemoryFwdingCacheMACBufferMemoryFwdingCacheMACBufferMemoryFwdingCacheMACTypically


Switched BackplaneLineCardCPUCardLineCardLineInterfaceCPULocalBufferMemoryRoutingTableLocalBufferMemoryMemoryFwdingTableFwdingTableMACMACTypically


(CRS)Optical links100sof metresSwitch Core>Linecards0.3 - 100Tb/s routers in development


1. MooreMoore 2. Moore


1:Internet1000010000Spec95Int CPU results10002x / 18 months1001011985 1990 1995 20000,12x / 7 months1985 1990 1995 2000TDM DWDM10001001010,1Fiber Capacity (Gbit/s)


DRAM10001980 1983 1986 1989 1992 1995 1998 2001Access Time (ns)1001010.1Moore’s Law2x / 18 months0.010.001


Juniper T640


OUTLINEInternet– intra-domain: RIP, OSPF– inter-domain: BGP


Network layer functions network layer protocolsin every host, routerthree important functions: path determination: routetaken by packets fromsource to dest. Routingalgorithms Route Look uplook up the route tableand match the specificroute for a packet forwarding: movepackets from router’sinput to appropriaterouter outputapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical


Routing and ForwardingDefault toupstreamrouterADRR1R4>RR2BR5ER3RNetForwarding: determine next hopRouting: find end-to-end pathsABCDEdefaultCNxt HopNetR1DirectR3R1R3R1ABCDEdefaultNxt HopR4R3R3R4DirectR4NetABCDEdefaultNxt HopR2R2DirectR5R5R2


Network service modelQ: What service model for“channel” transportingpackets from sender toreceiver? guaranteed bandwidth? preservation of interpackettiming (no jitter)? loss-free delivery? in-order delivery? congestion feedback tosender?The most importantabstraction providedby network layer:?? ?virtual circuitordatagram?service abstraction


Virtual circuits“source-to-dest path behaves much like telephonecircuit”– performance-wise– network actions along source-to-dest path call setup for each call before data can flow each packet carries VC identifier (not destinationhost ID) every router on source-dest path maintains “state”for each passing connection link, router resources (bandwidth, buffers) may beallocated to VC


Virtual circuits:signaling protocols used to setup, maintain, teardown VC used in ATM, frame-relay, X.25 not used in today’s Internetapplicationtransportnetworkdata linkphysical5. Data flow begins 6. Receive data4. Call connected3. Accept call1. Initiate call 2. incoming callapplicationtransportnetworkdata linkphysical


Datagram networks:the Internet model no call setup at network layer routers: no state about end-to-end packetsforwarded using destination host addressapplicationtransportnetworkdata linkphysical1. Send data 2. Receive dataapplicationtransportnetworkdata linkphysical


Datagram or VC network: why?Internet data exchange amongcomputers– “elastic” service, nostrict timing req. “smart” end systems(computers)– can adapt, performcontrol, errorrecovery– simple inside network,complexity at “edge” many link types– differentcharacteristics– uniform servicedifficultATM evolved from telephony human conversation:– strict timing,reliabilityrequirements– need for guaranteedservice “dumb” end systems– telephones– complexity insidenetwork


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


Structure of Router Router must complete threebasic functions(RFC1812)1. Routingbuilding up the routing table byrouting algorithms2.Route Lookupgiving the best choice for next hopby matching the route in therouting table3. Forwardingswitching the packet from input tooutput interface


Before We Go AnyFurther …Usually, IP ROUTING PROTOCOLS DO NOTDYNAMICALLY ROUTE AROUND NETWORKCONGESTIONIP traffic can be very burstyDynamic adjustments in routing typicallyoperate more slowly than fluctuations intraffic loadDynamically adapting routing to accountfor traffic load can lead to wild, unstableoscillations of routing system


RoutingRouting protocolGoal: determine “good” path(sequence of routers) thrunetwork from source to dest.Graph abstraction forrouting algorithms: graph nodes arerouters graph edges arephysical links link cost: delay, $ cost,or congestion levelA125BD2313CE “good” path:typically meansminimum costpath152F


Routing AlgorithmClassificationGlobal or decentralized information?Global: all routers have complete topology, linkcost info “link state” algorithmsDecentralized: router knows physically-connectedneighbors, link costs to neighbors iterative process of computation,exchange of info with neighbors “distance vector” algorithms


Routing AlgorithmClassificationStatic or dynamic?Static: routes no change over timeDynamic: routes change more quickly– periodic update– in response to link cost changes


A Link-State RoutingAlgorithmDijkstra’s algorithm net topology, link costsknown to all nodes– accomplished via “linkstate broadcast”– all nodes have sameinfo computes least cost pathsfrom one node (“source”)to all other nodes– gives routing table forthat node iterative: after k iterations,know least cost path to kdestinationsIdea: at each iterationincrease spanningtree by the node thathas least cost pathto itA125BD2313CE152F


A Link-State RoutingAlgorithmNotation: c(i,j): link cost fromnode i to j. cost infiniteif not direct neighbors D(v): current value ofcost of path fromsource to dest. V p(v): current node alongpath from source todest v N: set of nodes alreadyin spanning tree (leastcost path known)Examples:c(B,C) = 3D(E) = 2p(B) = AN = { A, B, D, E }2A153B23D E1C512F


Dijsktra’s Algorithm1 Initialization:2 N = {A}3 for all nodes v4 if v adjacent to A5 then D(v) = c(A,v)6 else D(v) = infinity78 Loop9 find w not in N and D(w) is a minimum10 add w to N11 update D(v) for all v adjacent to w which not in N:12 D(v) = min( D(v), D(w) + c(w,v) )13 /* new cost to v is either old cost to v or known14 shortest path cost to w plus cost from w to v */15 until all nodes in N


Dijkstra’s algorithm: exampleStep012345N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)A 2,A 5,A 1,A infinity,- infinity,-AD 2,A 4,D 1,A 2,D infinity,-ADE 2,A 3,E 1,A 2,D 4,EADEB 2,A 3,E 1,A 2,D 4,EADEBC 2,A 3,E 1,A 2,D 4,EADEBCF 2,A 3,E 1,A 2,D 4,E52A1B2D313CE152F


Spanning tree gives routing tableStep N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)ADEBCF 2,A 3,E 1,A 2,D 4,EResult from Dijkstra’s algorithmRouting table:destinationBCDEOutgoing linkto use, costB,2D,3D,1D,2A125B2D313CE152FF>D,4


Dijkstra’s algorithmperformanceAlgorithm complexity (n nodes andl links)Computation– n iterations– each iteration: need to check all nodes, w, not in N– n*(n+1)/2 comparisons: O(n 2 )– more efficient implementations possible: O(n log n)Messages– network topology and link cost known toall nodes– each node broadcasts its direct link cost


Distance Vector Routing Algorithmiterative: continues until nonodes exchange info self-terminating: no“signal” to stopasynchronous: nodes need notexchange info/iteratein lock step!distributed: each nodecommunicates onlywith directly-attachedneighborsDistance Table data structure each node has its own row for each possibledestination column for each directlyattachedneighbor to node example: in node X, for dest.Y via neighbor Z:XD (Y,Z)==distance from X toY, via Z as next hopZc(X,Z) + min {D (Y,w)}w


Distance Table: exampleA17ED (C,D)ED (A,D)ED (A,B)BE812CDD= c(E,D) + min {D (C,w)}w= 2+2 = 4D= c(E,D) + min {D (A,w)}w= 2+3 = 5 loop!2Bc(E,B) + min {D (A,w)}w== 8+6 = 14loop!destinationED ()ABCDcost to destination viaA1764B148911D5542


Distance table gives routingtableED ()cost to destination viaABDEOutgoing linkto use, costA1145AA,1destinationBC768954destinationBCD,5D,4D4112DD,2Distance tableRouting table


Distance Vector Routing:overviewIterative, asynchronous:each local iterationtriggered by: local link cost change message from neighbor:its least cost path changefrom neighborDistributed: each node notifiesneighbors only when itsleast cost path to anydestination changes– neighbors then notifytheir neighbors ifnecessaryEach node:wait for (change in local linkcost of msg from neighbor)recompute distance tableif least cost path to any desthas changed, notifyneighbors


Distance Vector Algorithm:At all nodes, X:1 Initialization:2 for all adjacent nodes v:3 D X(*,v) = infinity /* the * operator means "for all rows" */X4 D (v,v) = c(X,v)5 for all destinations, yX6 send min D (y,w) to each neighbor /* w over all X's neighbors */w


Distance Vector Algorithm(cont.):8 loop9 wait (until I see a link cost change to neighbor V10 or until I receive update from neighbor V)11 if (c(X,V) changes by d)13 /* change cost to all dest's via neighbor v by d */14 /* note: d could be positive or negative */15 for all destinations y: D X(y,V) = D X(y,V) + d1617 else if (update received from V wrt destination Y)18 /* shortest path from V to some Y has changed */19 /* V has sent a new value for its min wD V (Y,w) */20 /* call this received new value is "newval" */21 for the single destination y: D X(Y,V) = c(X,V) + newval2223 if we have a new min DXw (Y,w) for any destination Y24 send new value of min DX(Y,w) to all neighborsw25 forever>


Distance Vector Algorithm:exampleX2Y71ZXD (Y,Z)XD (Z,Y)Z= c(X,Z) + min {D (Y,w)}w= 7+1 = 8Y= c(X,Y) + min {D (Z,w)}w= 2+1 = 3


Distance Vector: link costchangesLink cost changes: node detects local link costchange updates distance table (line 15) if cost change in least cost path,notify neighbors (lines 23,24)“good news travels fast”1X4Y501Zalgorithmterminates


Distance Vector: link costchangesLink cost changes:60 good news travels fast bad news travels slow -“count to infinity” problem!X4Y501Zalgorithmcontinueson!


Distance Vector: poisonedreverseIf Z routes through Y to get to X :60 Z tells Y its (Z’s) distance to X isinfinite (so Y won’t route to X via Z) will this completely solve count toinfinity problem?X4Y501Zalgorithmterminates


Comparison of LS and DValgorithmsMessage complexity LS: with n nodes, E links, O(nE) msgs senteach DV: exchange between neighbors only– convergence time variesSpeed of Convergence LS: O(n 2 ) algorithm requires O(nE) msgs DV: convergence time varies– may be routing loops– count-to-infinity problem


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


Internet Routing Model2 key features:– Dynamic routing– Intra- and Inter-AS routing, AS = locusof admin controlInternet organized as “autonomoussystems” (AS)Interior Gateway Protocols (IGPs)within AS. Eg: RIP, OSPF, IS-ISExterior Gateway Protocols (EGPs)for AS to AS routing. Eg: BGP-4


Requirements for Intra-ASRoutingShould scale for the size of an AS– Low end: 10s of routers (small enterprise)– High end: 1000s of routers (large ISP)Different requirements on routingconvergence after topology changes– Low end: can tolerate some connectivitydisruptions– High end: fast convergence essential tobusiness (making money on transport)


Requirements for Intra-ASRoutingOperational/Admin/Management (OAM)Complexity– Low end: simple, self-configuring– High end: Self-configuringTraffic engineering capabilities


Requirements for Inter-ASRoutingShould scale for the size of the globalInternet– Focus on reachability, not optimality– Use address aggregation techniques tominimize core routing table sizes andassociated control traffic– At the same time, it should allow flexibilityin topological structure (eg: don’t restrict totrees etc)


Requirements for Inter-ASRoutingAllow policy-based routing betweenautonomous systems– Policy refers to arbitrary preference amonga menu of available options (based uponoptions’ attributes)– Fully distributed routing (as opposed to asignaled approach) is the only possibility– Extensible to meet the demands for newerpolicies


Internet AS HierarchyIntra-AS border (exterior gateway) routersInter-AS interior (gateway) routers


Intra-AS RoutingAlso known as Interior GatewayProtocols (IGP)Most common Intra-AS routingprotocols:–RIP:Routing Information Protocol–OSPF:Open Shortest Path First–IS-IS:Intermediate System toIntermediate System–IGRP:Interior Gateway RoutingProtocol (Cisco proprietary)


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


RIP (Routing InformationProtocol)Distance vector algorithmIncluded in BSD-UNIX Distribution in1982Distance metric: # of hops (max = 15hops)Distance vectors: exchanged amongneighbors every 30 sec via ResponseMessage (also called advertisement)Each advertisement: list of up to 25destination nets within AS


RIP: Examplezw x yADBDestination NetworkCNext Router Num. of hops to dest.w A 2y B 2z B 7x -- 1.... .... ....Routing table in D


RIP: ExampleDest Next hopsw - -x - -z C 4Advertisementfrom A to Dzw x yADBDestination Network>CNext Router Num. of hops to dest.w A 2y B 2z B A 7 5x -- 1…. …. ....Routing table in D


RIP: Link Failure andRecoveryIf no advertisement heard after 180 sec--> neighbor/link declared dead– routes via neighbor invalidated– new advertisements sent toneighbors– neighbors in turn send out newadvertisements (if tables changed)– link failure info quickly propagates toentire net– poison reverse used to prevent pingpongloops (infinite distance = 16hops)


RIP Table processing RIP routing tables managed by applicationlevelprocess called route-d (daemon) advertisements sent in UDP packets,periodically repeatedroutedroutedTransprt(UDP)network routing(IP) tablelinkphysicalroutingtableTransprt(UDP)network(IP)linkphysical


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


OSPF Development HistoryCIDR1987 1989 1991 1993 1995 1997 1999OSPF GroupformedOSPFv1 publishedRFC 1131OSPFv2publishedRFC 1247CryptographicauthenticationPoint-to-multipointinterfacesMOSPFOSPFv2 updateRFC 1583OSPFv3RFC 2740OSPFv2 updateRFC 2328OSPFv2 updateRFC 2178Becomesrecommended


Hierarchical OSPFBackboneArea1 Area2Area3AS1Internal RoutersArea Border RoutersBackbone RoutersAS Border Routers


OSPFOSPF: Open Shortest Path FirstprotocolPreferred IGPEvolved from IS-IS protocolLink state protocolDistribution of LSA using reliableflooding, LSA flooding is bounded byarea


OSPFUse IP as transport, IP protocol 89Utilize IP multicast whensending/receiving the updates– 224.0.0.5, All OSPFRouters– 224.0.0.6, All DRsSupport for CIDR, Authentication andMulti-pathEmploy Dijkstra’s Shortest Path First(SPF) algorithm to calculate the pathtree>


OSPF MotivationOriginal IGP used RIPBased on Distance VectorAlgorithmWorked well in small systems– Hop count limit of 15


OSPF Motivation (Cont.)Suffered from problems ofDistance Vector Protocol– Count to Infinity Problem– Slow Convergence– Large update packets– Slow response to topologicalchangesNeed for a Link State Protocol


FunctionalRequirements of OSPFFaster Convergence and lessconsumption of network resourcesA more descriptive routing metric– Configurable– Value ranges between 1 and65,535– No restriction on networkdiametersEqual-cost multipath– A way to do load balancing


Functional Requirements ofOSPF (Cont.)Routing Hierarchy– Support large routing domainsSeparate internal and externalroutesSupport of flexible sub nettingschemes


OSPF OperationEstablishing router adjacencies(which are neighbors with twoway communication)Electing DR and BDR (representrouters in one area)Discovering Routes (get linkstates by exchanging)Choosing Routes (SPF algorithm)Maintaining Routing Information


OSPF BasicsDistributed, replicated databasemodel– Each router builds a topology database– Describes complete routing topologyLink state database– Identical for all the routersLSA: Link State Advertisements– Information about adjacencies sent to allrouters


OSPF Basics (Cont.)A "shortest path" algorithm isused to find best route(dijsktra)– Every router calculate itselfrouting table independently


OSPF Basics (Cont.)OSPF has 3 sub-protocols:– Hello protocol– Exchange protocol– Flooding protocolDestination IP address:Neighbors IP address orAllOSPFRouters (224.0.0.5) orAllDRouters (224.0.0.6)


Period of Hello ExchangeThe protocol remains relativelyquiet during steady-stateconditions– Periodic refresh is 30 minutes– MaxAge is 60 minutes


Neighbor Discovery andMaintenanceOSPF Hello ProtocolMulticast 224.0.0.5 on all routerinterfacesHello packets sent out periodically(10 sec. LAN, 30 sec. )Help to detectif neighbors are up or down


NeighborBi-directional OSPFcommunicationResult of OSPF hellopacketsNeed not exchange routinginformation


Choosing RoutesDijkstra - Shortest Path First (SPF)AlgorithmLink state database– Created with Link State Packets(LSPs) from each routerForwarding database– The Routing Table


OSPF SummaryWhy OSPF is needed in the Internet?The basics of the protocolThe operation of the protocol– Neighbor Discovery (Hello Protocol)– The Link state Advertisements– Database Synchronization and reliable floodingHierarchical Routing in OSPF– OSPF Areas and Area Organization


Internet– intra-domain: RIP, OSPF– inter-domain: BGP


Internet AS HierarchyInter-AS border (exterior gateway) routersIntra-AS interior (gateway) routers


Intra-AS and Inter-AS routingaHosth1CC.bbA.aInter-ASroutingbetweenA and BA.cadA bcIntra-AS routingwithin AS AB.aaBcbHosth2Intra-AS routingwithin AS B


Why different Intra- and Inter-AS routing ?Policy: Inter-AS: admin wants to control over how itstraffic routed, who routes through its net Intra-AS: single admin, so no policy decisionsneededPerformance: Intra-AS: can focus on performance Inter-AS: policy may dominate overperformance


Autonomous Routing DomainA collection of physical networks gluedtogether using IP, that have a unifiedadministrative routing policyCampus networksCorporate networksISP Internal networks…


Autonomous Systems(ASes)An autonomous system is an autonomousrouting domain that has been assigned anAutonomous System Number (ASN)… the administration of an AS appears toother ASes to have a single coherent interiorrouting plan and presents a consistentpicture of what networks are reachablethrough itRFC 1930: Guidelines for creation, selection,and registration of an Autonomous System


AS Numbers (ASNs)ASNs are 16 bit values64512 through 65535 are “private”Currently over 41,000 in use Genuity: 1 MIT: 3 Harvard: 11 UC San Diego: 7377 AT&T: 7018, 6341, 5074, … UUNET: 701, 702, 284, 12199, … Sprint: 1239, 1240, 6211, 6242, … …ASNs represent units of routing policy


AS Numbers (ASNs)AS4789 NAP1 at CERNETAS9800 UNICOMAS4134AS4538 CHINANET-BACKBONEERX-CERNET-BKB


Nontransit vs. Transit ASesISP 1ISP 2Internet Serviceproviders (often)have transitnetworksTraffic NEVERflows from ISP 1through NET A to ISP 2(At least not intentionally!)NET ANontransit ASmight be a corporateor campus network.Could be a “contentprovider”IP traffic


Selective TransitNET BNET CNET A DOES NOTprovide transitbetween NET Dand NET BNET ANET A provides transitbetween NET B andNET Cand between NET Dand NET CNET DIP trafficMost transit networks transit in a selective manner…


Customers and ProvidersproviderprovidercustomerIP trafficcustomerCustomer pays provider for access to the Internet


Customer-Provider HierarchyprovidercustomerIP traffic


The Peering Relationshippeerprovidertrafficallowedpeercustomertraffic NOTallowedPeers provide transit betweentheir respective customersPeers do not provide transitbetween peers


Peering WarsPeer Reduces upstreamtransit costs Can increase endto-endperformance May be the onlyway to connectyour customers tosome part of theInternet (“Tier 1”)Don’t Peer You would ratherhave customers Peers are usuallyyour competition Peeringrelationships mayrequire periodicrenegotiationPeering struggles are by far the most contentious issuesin the ISP world! Peering agreements are oftenconfidential


ISP6– “”– “”– “”CERNET


ISPNAP – 200/•G NAP– NAP– 200611 160/•G>


BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today’s globalInternet Relatively simple protocol, butconfiguration is complex and the entireworld can see, and be impacted by yourmistakes


BGP-41989 : BGP-1 [RFC 1105]Replacement for EGP (1984, RFC904)1990 : BGP-2 [RFC 1163]1991 : BGP-3 [RFC 1267]1995 : BGP-4 [RFC 1771]Support for ClasslessInterdomain Routing (CIDR)


BGP Operations (Simplified)Establish session onTCP port 179AS1Exchange allactive routesExchange incrementalupdatesBGP sessionAS2While connectionis ALIVE exchangeroute UPDATE messages


Four Types of BGPMessagesOpen : Establish a peering sessionKeep Alive : Handshake at regularintervalsNotification : Shuts down a peeringsessionUpdate : Announcing new routes orwithdrawing previously announcedroutes– announcement = prefix + attributes values>


BGP AttributesValue Code Reference----- --------------------------------- ---------1 ORIGIN [RFC1771]2 AS_PATH [RFC1771]3 NEXT_HOP [RFC1771]4 MULTI_EXIT_DISC [RFC1771]5 LOCAL_PREF [RFC1771]6 ATOMIC_AGGREGATE [RFC1771]7 AGGREGATOR [RFC1771]8 COMMUNITY [RFC1997]9 ORIGINATOR_ID [RFC2796]10 CLUSTER_LIST [RFC2796]11 DPA [Chen]12 ADVERTISER [RFC1863]13 RCID_PATH / CLUSTER_ID [RFC1863]14 MP_REACH_NLRI [RFC2283]15 MP_UNREACH_NLRI [RFC2283]16 EXTENDED COMMUNITIES [Rosen]...255 reserved for developmentNot all attributesneed to be present inevery announcement


Attributes are Used toSelect Best Routes192.0.2.0/24pick me!192.0.2.0/24pick me!192.0.2.0/24pick me!192.0.2.0/24pick me!Given multipleroutes to the sameprefix, a BGP speakermust pick at mostone best route(Note: it could rejectthem all!)


Route Selection SummaryHighest Local PreferenceShortest ASPATHLowest MEDi-BGP < e-BGPLowest IGP costto BGP egressLowest router ID


Local Preference AttributepeerproviderpeercustomerAS 4local pref = 80local pref = 90AS 3local pref = 100Higher Localpreference valuesare more preferredAS 2AS 113.13.0.0/16


AS PATH Attribute135.207.0.0/16AS Path = 1755 1239 7018 6341AS 1129Global Access135.207.0.0/16AS Path = 1239 7018 6341AS 1755Ebone135.207.0.0/16AS Path = 1129 1755 1239 7018 6341AS 1239Sprint135.207.0.0/16AS Path = 7018 6341?AS 12654RIPE NCCRIS project135.207.0.0/16AS Path = 6341AS 6341AT&T Research135.207.0.0/16AS7018AT&T135.207.0.0/16AS Path = 7018 6341135.207.0.0/16AS Path = 3549 7018 6341AS 3549Global CrossingPrefix Originated>


BGP Next Hop Attribute12.125.133.90AS 6431AT&T ResearchAS 7018AT&T12.127.0.121AS 12654RIPE NCCRIS project135.207.0.0/16Next Hop = 12.125.133.90135.207.0.0/16Next Hop = 12.127.0.121Every time a route announcement crosses an ASboundary, the Next Hop attribute is changed to the IPaddress of the border router that announced the route


Two Types of BGP NeighborRelationshipsAS1eBGP External Neighbor (eBGP) in adifferent AutonomousSystems Internal Neighbor (iBGP) inthe same Autonomous SystemiBGP is routed (using IGP!)iBGPAS2


iBGP Peers Must be FullyMeshedeBGP updateiBGP updatesA consistent view ofthe routes exteriorto the AS can beprovided by havingall BGP speakerswithin the ASmaintain direct BGPconnections witheach other


Join EGP with IGP ForConnectivity135.207.0.0/16Next Hop = 192.0.2.1135.207.0.0/1610.10.10.10Forwarding Tabledestination next hop192.0.2.0/30 10.10.10.10destination+EGPnext hop135.207.0.0/16 192.0.2.1AS 1 AS 2192.0.2.1192.0.2.0/30Forwarding Tabledestination next hop135.207.0.0/16 10.10.10.10192.0.2.0/30 10.10.10.10


BGP Route ProcessingReceiveBGPUpdatesApply Policy =filter routes &tweak attributesBased onAttributeValuesBestRoutesApply Policy =filter routes &tweak attributesTransmitBGPUpdatesApply ImportPoliciesBest RouteSelectionBest RouteTableApply ExportPoliciesInstall forwardingEntries for bestRoutesIP Forwarding Table


Attention• BGP is not guaranteed to converge on astable routing. Policy interactionscould lead to “livelock” protocoloscillations


BGP Routing Tablesshow ip bgpBGP table version is 111849680, local router ID is 203.62.248.4Status codes: s suppressed, d damped, h history, * valid, > best, i - internalOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop LocPrfPath. . .*>i192.35.25.0 134.159.0.1 50 16779 1 701 703 i*>i192.35.29.0 166.49.251.25 50 5727 7018 14541 i*>i192.35.35.0 134.159.0.1 50 16779 1 701 1744 i*>i192.35.37.0 134.159.0.1 50 16779 1 3561 i*>i192.35.39.0 134.159.0.3 50 16779 1 701 80 i*>i192.35.44.0 166.49.251.25 50 5727 7018 1785 i*>i192.35.48.0 203.62.248.34 55 16779 209 7843 225 225 225 225 225 i*>i192.35.49.0 203.62.248.34 55 16779 209 7843 225 225 225 225 225 i*>i192.35.50.0 203.62.248.34 55 16779 3549 714 714 714 i*>i192.35.51.0/25 203.62.248.34 55 16779 3549 14744 14744 14744 14744 1474414744 14744 14744 i. . . Thanks to Geoff Huston. http://www.telstra.net/ops on July 6, 2001


BGP SummaryBGP is a fairly simple protocol …… but it is not easy to configureBGP is running on more than 100Krouters, making it one of world’slargest and most visibledistributed systemsGlobal dynamics and scalingprinciples are still not wellunderstood


IPInternet– intra-domain: RIP, OSPF– inter-domain: BGP


END

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!