Network Routing: algorithms & protocols

Slides:



Advertisements
Similar presentations
Network Layer4-1 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables! r routing table exchange would.
Advertisements

Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Path Vector Routing NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 22 Omar Meqdadi Department of Computer Science and Software Engineering University.
Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol –Datagram format.
Data Communication and Networks Lecture 11 Internet Routing Algorithms and Protocols December 5, 2002 Joseph Conron Computer Science Department New York.
Lecture 8 Overview. Graph abstraction u y x wv z Graph: G = (N,E) N = set of routers = { u, v, w, x, y, z } E = set of links ={ (u,v),
Routing - I Important concepts: link state based routing, distance vector based routing.
4a-1 CSE401: Computer Networks Hierarchical Routing & Routing in Internet S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
Data Communication and Networks Lectures 8 and 9 Networks: Part 2 Routing Algorithms and Routing Protocols October 26, November 2, 2006.
0 TDTS41 Computer Networks Lecture 4: Network layer I Claudiu Duma, IISLAB/IDA Linköpings universitet.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Routing & IP Routing Protocols
1 Lecture 12: Routing Slides adapted from: Computer Networks: A Systems Approach (Peterson and Davis) Computer Networking: A Top Down Approach Featuring.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 04/05/2007.
Routing Algorithms and Routing in the Internet
Network Layer4-1 Chapter 4: Network Layer, partb The slides are adaptations of the slides available by the main textbook authors, Kurose&Ross.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar1 ECSE-4730: Computer Communication Networks (CCN) Network Layer (Routing) Shivkumar.
14 – Inter/Intra-AS Routing
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Routing Algorithms & Routing Protocols  Shortest Path Routing  Flooding  Distance Vector Routing  Link State Routing  Hierarchical Routing  Broadcast.
Comp 361, Spring 20054: Network Layer1 Chapter 4: Network Layer: Part II (last revision 19/04/05. v3) r 4. 1 Introduction r 4.2 Virtual circuit and datagram.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 18.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Introduction 1 Lecture 21 Network Layer (Routing Activity) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
RSC Part II: Network Layer 6. Routing in the Internet (2 nd Part) Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
Introduction 1 Lecture 19 Network Layer (Routing Protocols) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
Network Layer4-1 Chapter 4 Network Layer Part 3: Routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March.
CS 3830 Day 29 Introduction 1-1. Announcements r Quiz 4 this Friday r Signup to demo prog4 (all group members must be present) r Written homework on chapter.
10-1 Last time □ Transitioning to IPv6 ♦ Tunneling ♦ Gateways □ Routing ♦ Graph abstraction ♦ Link-state routing Dijkstra's Algorithm ♦ Distance-vector.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 The slides are adaptation.
13 – Routing Algorithms Network Layer.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
1 Mao W07 Interdomain Routing Broadcast routing EECS 489 Computer Networks Z. Morley Mao Monday Feb 12, 2007.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
4: Network Layer4b-1 OSPF (Open Shortest Path First) r “open”: publicly available r Uses Link State algorithm m LS packet dissemination m Topology map.
Transport Layer3-1 Network Layer Every man dies. Not every man really lives.
Network Layer4-1 Routing Algorithm Classification Global or decentralized information? Global: r all routers have complete topology, link cost info r “link.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Advance Computer Networks Lecture#07 to 08 Instructor: Engr. Muhammad Mateen Yaqoob.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Internet and Intranet Protocols and Applications Lecture 9 Internet Routing Algorithms and Protocols March 27, 2002 Joseph Conron Computer Science Department.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
4: Network Layer4a-1 Distance Vector Routing Algorithm iterative: r continues until no nodes exchange info. r self-terminating: no “signal” to stop asynchronous:
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Network Layer4-1 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol.
Routing in the Internet
14 – Inter/Intra-AS Routing
Chapter 4: Network Layer
Chapter 4: Network Layer
Road Map I. Introduction II. IP Protocols III. Transport Layer
Chapter 4: Network Layer
Chapter 4: Network Layer
Chapter 4: Network Layer
Network Layer: Internet Inter-Domain Routing
Presentation transcript:

Network Routing: algorithms & protocols Goal: find “good” path to each destination Graph abstraction of a network Nodes: routers Edges: physical links (with assigned cost) route computation algorithms link-state (Dijkstra) each router knows complete topology & link cost information Run routing algorithm to calculate shortest path to each destination distance-vector (Bellman-Ford) Each router knows direct neighbors & link costs to neighbors Calculate the shortest path to each destination through an iterative process based on the neighbors distances to each destination A E D C B F 2 1 3 5 Routing protocols define the format of routing information exchanges define the computation upon receiving routing updates network topology changes over time, routing protocol must continuously update the routers with latest changes 5/9/05 CS118/Spring05

Graph abstraction: costs u y x w v z 2 1 3 5 c(x,x’) = cost of link (x,x’) - e.g., c(w,z) = 5 cost could always be 1, or inversely related to bandwidth, or inversely related to congestion Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Question: What’s the least-cost path between u and z ? Routing algorithm: algorithm that finds least-cost path 5/9/05 CS118/Spring05

Dijkstra’s algorithm Notation: Assume net topology, link costs is known computes least cost paths from one node to all other nodes Create forwarding table for that node Notation: c(i,j): link cost from node i to j (∞ if not known) D(v): current value of cost of path from source to dest. V p(v): predecessor node along path from source to v, (neighbor of v) N': set of nodes whose least cost path already known 1 Initialization: 2 N' = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) =  7 8 Loop find w not in N' such that D(w) is minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N': 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either the old cost, or known shortest path cost to w plus cost from w to v */ 14 until all nodes in N' 5/9/05 CS118/Spring05

Dijkstra’s algorithm: example Step 1 2 3 4 5 start N' A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity 4,E A E D C B F 2 1 3 5 5/9/05 CS118/Spring05

Dijkstra’s algorithm: example Step 1 2 3 4 5 start N A AD ADB ADBE ADBEC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity 4,E B D E C F (A, B) (A, D) destination link Resulting forwarding table at A: Resulting shortest-path tree for A: 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1 5/9/05 CS118/Spring05

Dijkstra’s algorithm, discussion Algorithm complexity: n nodes each iteration: need to check all nodes, w, not in N n(n+1)/2 comparisons: O(n2) more efficient implementations possible: O(nlogn) Oscillations possible: e.g., link cost = amount of carried traffic A D C B 1 1+e e 2+e initially … recompute routing 5/9/05 CS118/Spring05

Bellman-Ford Equation Define: Dx(y) := cost of least-cost path from x to y Then Dx(y) = min {c(x,v) + Dv(y) } where min is taken over all neighbors v of x Du(z) = min {c(u,v) + Dv(z), c(u,x) + Dx(z), c(u,w) + Dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 u y x w v z 2 1 3 5 Node leading to shortest path is next hop ➜ forwarding table 5/9/05 CS118/Spring05

Distance vector protocl (1) Basic idea: Each node periodically sends its own distance vector estimate to neighbors When a node x receives new DV estimate from neighbor v, it updates its own DV using B-F equation: Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N In normal cases, the estimate Dx(y) converge to the actual least cost dx(y) 5/9/05 CS118/Spring05

Distance Table: example 7 8 1 2 D ( ) A B C D 1 7 6 4 14 8 9 11 5 2 E cost to destination via destination Outgoing link D A B C D E A,1 D,5 D,4 D,2 destination forwarding table 5/9/05 CS118/Spring05

Distance Vector Protocol (2) Iterative, asynchronous: each local iteration caused by: local link cost change DV update message from neighbor Distributed: each node notifies neighbors only when its DV changes neighbors then notify their neighbors if necessary Each node: wait for (change in local link cost of msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors 5/9/05 CS118/Spring05

Distance Vector: an example Z 1 2 7 Y D (Y,Z) X c(X,Z) + min {D (Y,w)} w = 7+1 = 8 Z D (Z,Y) X c(X,Y) + min {D (Z,w)} w = 2+1 = 3 Y 5/9/05 CS118/Spring05

Distance Vector: link cost changes node detects local link cost change updates distance table (line 15) if cost change in least cost path, notify neighbors (lines 23,24) X Z 1 4 50 Y algorithm terminates “good news travels fast” 5/9/05 CS118/Spring05

Distance Vector: link cost changes (2) bad news travels slow - “count to infinity” problem! X Z 1 4 50 Y 60 algorithm continues on! 5/9/05 CS118/Spring05

Distance Vector: poisoned reverse If Z routes through Y to get to X : Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z) X Z 1 4 50 Y 60 algorithm terminates Will this completely solve count to infinity problem? 5/9/05 CS118/Spring05

An example for Distance Vector routing with Poisson reverse (PR) B 1 B C 3 B D 4 B E 4 B F 7 B G 6 H Dst Dis Nex H 2 H A's routing table B 1 F 7 G 6 H 2 A's update to B w/o PR C 3 E 4 D 4 B's routing table Dst Dis Nex A 1 A C 4 A  D 5 A  E 5 A  F 8 A  G 7 A  Dst Dis Nex H 3 H A 1 A C 2 C D 3 C E 3 C F 6 C G 5 C H 3 H B 1 F G 6 H 2 A's update to B with PR: C E D 1 2 1 A B C D 1 3 2 4 E 3 2 H 4 4 G F 5/9/05 CS118/Spring05

Comparison of LS and DV algorithms distance vector: distribute one’s own routing table to neighbors routing update can be large in size, but travels only one link each node only knows distances to other destinations link state broadcast raw topology information to entire net routing update is small in size, but travels over all links in the net each node knows entire topology Performance measure: Message complexity, Time to convergence Robustness: what happens if router malfunctions? LS: node can advertise incorrect link cost each node computes only its own table DV: DV node can advertise incorrect path cost each node’s table used by others 5/9/05 CS118/Spring05

What we have talked about routing Dijkstra routing algorithm Given a topology map, compute the shortest paths to all the other nodes Bellman-Ford routing algorithm Given the lists of distance to all destinations from all the neighbors, compute the shortest path to destination Known problem: count-to-infinity A simple (partial) solution: poison-reverse 5/9/05 CS118/Spring05

Routing in the Internet The Global Internet: a large number of Autonomous Systems (AS) interconnected with each other: Stub AS: end user networks (corporations, campuses) Multihomed AS: stub ASes that are connected to multiple service providers Transit AS: Internet service provider Two-level routing hierarchy: Intra-AS Inter-AS 5/9/05 CS118/Spring05

Internet Hierarchical Routing Inter-AS border (exterior gateway) routers Intra-AS (interior gateway) routers autonomous system (AS): a set of routers under the same administrative domain Each AS makes its own decision on internal routing protocol (IGP) to use All routers in one AS run the same IGP border routers also run BGP 5/9/05 CS118/Spring05

Intra-AS and Inter-AS routing Border routers: perform inter-AS routing across AS boundaries perform intra-AS routing with other routers in each's own AS C.b B.a A.a b A.c c a a C b a B d c A b intra-AS routing protocol inter-AS routing protocol network layer inter-AS, intra-AS routing in gateway A.c link layer physical layer 5/9/05 CS118/Spring05

Intra-AS and Inter-AS routing between A and B a b C A B d c A.a A.c C.b B.a Host 18.2.4.157 Intra-AS routing within AS B Host-1 Forwarding table 131.179.0.0 outf-1 18.0.0.0 outf-2 23.0.0.0 outf-2 157.34.128.0 outf-3 222.8.192.0 outf-4 Intra-AS routing within AS A 5/9/05 CS118/Spring05

Intra-AS Routing: Interior Gateway Protocols (IGP) Most commonly used IGPs: IS-IS: Intermediate System to Intermediate System Routing protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) RIP: Routing Information Protocol 5/9/05 CS118/Spring05

RIP ( Routing Information Protocol) Distance vector algorithm Distance metric: # of hops (max = 15 hops) Neighbor routers exchanged routing advertisement every 30 seconds Failure and Recovery: If no update from neighbor N heard after 180 sec  neighbor/link declared dead All routes via N invalidated; updates sent to neighbors neighbors in turn may send out new advertisements (if tables changed) Use poison reverse to prevent ping-pong loops (16 hops = ) D C B A u v w x y z destination hops u 1 v 2 w 2 x 3 y 3 z 2 5/9/05 CS118/Spring05

RIP (Routing Information Protocol) z w y x A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x -- 1 …. …. .... Routing table in D 5/9/05 CS118/Spring05

RIP: Example z w y x A D B C y B 2 z B A 7 5 x -- 1 Advertisement Dest. distance w 1 x 1 z 4 …. ... Advertisement from A to D z w y x A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B A 7 5 x -- 1 …. …. .... Routing table in D 5/9/05 CS118/Spring05

RIP Implementation route-d (daemon): an application-level process that manages RIP routing table and generates periodic RIP routing updates Process updates from neighbors send updates periodically to neighbors (if detect a failure, send right away) Keeps the resulting routing table only (not all the updates) routed routed Transport (UDP) Transport (UDP) network forwarding (IP) table network (IP) forwarding table link link physical physical 5/9/05 CS118/Spring05

OSPF (Open Shortest Path First) A Link State protocol each node knows its directly connected neighbors & the link distance to each (link-state) each node periodically broadcasts its link-state to the entire network Link-State Packet: one entry per neighbor router ID of the node that created the LSP a list of direct neighbors, with link cost to each sequence number for this LSP message (SEQ) time-to-live (TTL) for information carried in this LSP Use raw IP packet (protocol ID = 89) 5/9/05 CS118/Spring05

Building a complete map using Link State Everyone broadcasts a piece of the topology Put all the pieces together, you get the complete map Then each node carries out its own routing calculation independently 5/9/05 CS118/Spring05

Link-State Routing Protocol The routing daemon running at each node: Builds and maintains topology map at each node Stores and forwards most recent LSP from all other nodes decrement TTL of stored LSP; discard info when TTL=0 Compute routes using Dijkstra’s algorithm generates its own LSP periodically with increasing SEQ 5/9/05 CS118/Spring05

Reliable Flooding of LSP forward each received LSP to all neighbor nodes but the one that sent it each ISP is reliably delivered over each link use the source-ID and SEQ in a LSP to detect duplicates LSPs sent both periodically and event-driven X A C B D X A C B D X A C B D X A C B D 5/9/05 CS118/Spring05

Advanced features supported by OSPF Security: all OSPF messages authenticated Multiple same-cost paths allowed For each link, multiple cost metrics for different TOS (eg, satellite link cost set “low” for best effort; high for real time) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 5/9/05 CS118/Spring05

Hierarchical OSPF 5/9/05 CS118/Spring05

Hierarchical OSPF Two-level hierarchy: local area, backbone. Link-state advertisements only in area each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. Area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers. Backbone routers: run OSPF routing limited to backbone. Boundary routers: connect to other AS’s. 5/9/05 CS118/Spring05

Inter-AS routing BGP (Border Gateway Protocol): the de facto standard x BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: similar to Distance Vector protocol each Border router broadcast to neighbors (peers) entire path (I.e, sequence of ASs) to destination E.g., Path (X,Z) = X,Y1,Y2,Y3,…,Z 5/9/05 CS118/Spring05

Example: Forwarding Table in Router d of AS A Suppose AS A learns from the inter-AS protocol that subnet x is reachable from AS B (gateway A.c) but not from AS C. Inter-AS protocol propagates reachability info to all internal routers. Router d determines from intra-AS routing info that its interface I is on the least cost path to c. Puts in forwarding table entry (x, I). 5/9/05 CS118/Spring05

Choosing among multiple ASes Now suppose AS1 learns from the inter-AS protocol that subnet x is reachable from AS3 and from AS2. To configure forwarding table, router 1d must determine towards which gateway it should forward packets for dest x. This is also the job on inter-AS routing protocol! Hot potato routing: send packet towards closest of two routers. Learn from inter-AS protocol that subnet x is reachable via multiple gateways Use routing info from intra-AS protocol to determine costs of least-cost paths to each of the gateways Hot potato routing: Choose the gateway that has the smallest least cost Determine from forwarding table the interface I that leads to least-cost gateway. Enter (x,I) in forwarding table 5/9/05 CS118/Spring05

Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto standard BGP provides each AS a means to: Obtain subnet reachability information from neighboring ASs. Propagate the reachability information to all routers internal to the AS. Determine “good” routes to subnets based on reachability information and policy. Allows a subnet to advertise its existence to rest of the Internet: “I am here” 5/9/05 CS118/Spring05

BGP basics Pairs of routers (BGP peers) exchange routing info over a TCP connection: BGP sessions BGP sessions do not necessarily correspond to physical links. When AS2 advertises a prefix to AS1, AS2 is promising it will forward any datagrams destined to that prefix towards the prefix. 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session 5/9/05 CS118/Spring05

Distributing reachability info With eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1. 1c can then use iBGP to distribute this new prefix reach info to all routers in AS1 1b can then re-advertise the new reach info to AS2 over the 1b-to-2a eBGP session When router learns about a new prefix, it creates an entry for the prefix in its forwarding table. 3c P 2c 3a 3b 2a AS3 2b 1c AS2 1a 1b 1d AS1 eBGP session iBGP session 5/9/05 CS118/Spring05

Path attributes & BGP routes When advertising a prefix, advert includes BGP attributes. prefix + attributes = “route” most important attribute: AS-PATH: contains the ASs through which the advert for the prefix passed: AS 67 AS 17 When an eBGP router receives route advert, uses import policy to accept/decline. eBGP router also applies export policy to decide which routers to tell which neighbor eBGP router 5/9/05 CS118/Spring05

BGP route selection Router may learn about more than 1 route to some prefix. Router must select route. Elimination rules: Local preference value attribute: policy decision Shortest AS-PATH Closest NEXT-HOP router: hot potato routing Additional criteria 5/9/05 CS118/Spring05

BGP messages BGP messages exchanged using TCP. BGP messages: OPEN: opens TCP connection to peer and authenticates sender UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection 5/9/05 CS118/Spring05

A,B,C are provider networks X,W,Y are customers (of provider networks) BGP routing policy A,B,C are provider networks X,W,Y are customers (of provider networks) X is dual-homed: attached to two networks X does not want to route from B via X to C .. so X will not advertise to B a route to C 5/9/05 CS118/Spring05

BGP routing policy (2) A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW? No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers B wants to force C to route to w via A B wants to route only to/from its customers! 5/9/05 CS118/Spring05

Why different Intra- and Inter-AS routing ? Policy: Inter-AS: admin wants control over how its traffic routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduced update traffic Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance 5/9/05 CS118/Spring05