1 ENTS689L: Packet Processing and Switching Introduction Introduction Vahid Tabatabaee Fall 2007.

Slides:



Advertisements
Similar presentations
Computer Networks with Internet Technology William Stallings
Advertisements

Courtesy: Nick McKeown, Stanford
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.
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination Network layer must.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
Routing So how does the network layer do its business?
Computer Networking Lecture 10: Inter-Domain Routing
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Routing and Routing Protocols
14 – Inter/Intra-AS Routing
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination. The network layer.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Computer Networks Layering and Routing Dina Katabi
Sirak Kaewjamnong Computer Network Tech and Security
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
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.
1 Note 8: Packet Switching Networks Routing in Packet Networks.
Packet-Switching Networks Routing in Packet Networks.
Computer Networking Packet Switching Networks Dr Sandra I. Woolley.
Routing and Routing Protocols Routing Protocols Overview.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
CCNA 1 Module 10 Routing Fundamentals and Subnets.
Network Applications and Layered Architectures Protocols OSI Reference Model.
Network Layer Routing in Packet Networks Shortest Path Routing Topic 6: Routing (Network Layer) Reference A. Leon-Garcia and I. Widjaja, Communication.
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.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
Page 110/27/2015 A router ‘knows’ only of networks attached to it directly – unless you configure a static route or use routing protocols Routing protocols.
The Network Layer & Routing
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.
Distance Vector Local Signpost Direction Distance Routing Table For each destination list: Next Node Distance Table Synthesis Neighbors exchange table.
TCP/IP Protocol Architecture CSE 3213 – Fall
Routing and Routing Protocols
Cisco Systems Networking Academy S2 C 11 Routing Basics.
Chapter 7 Packet-Switching Networks Network Services and Internal Network Operation Datagrams and Virtual Circuits Routing in Packet Networks Shortest.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
IP Routing Principles. Network-Layer Protocol Operations Each router provides network layer (routing) services X Y A B C Application Presentation Session.
1. Layered Architecture of Communication Networks: OSI Reference Model.
1 ECEN “Internet Protocols and Modeling”, Spring 2011 Slide 5.
Routing protocols. 1.Introduction A routing protocol is the communication used between routers. A routing protocol allows routers to share information.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 Module 10 Routing Fundamentals and Subnets.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
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.
Inter-domain Routing Outline Border Gateway Protocol.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
Network Layer Routing Networks: Routing.
Centralized vs Distributed Routing
Routing BY, P.B.SHANMATHI.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing in Packet Networks Shortest Path Routing
Computer Networking TCP/IP Part 2
Chapter 7 Packet-Switching Networks
Network Layer Routing Networks: Routing.
Computer Networks Protocols
Presentation transcript:

1 ENTS689L: Packet Processing and Switching Introduction Introduction Vahid Tabatabaee Fall 2007

2 ENTS689L: Packet Processing and Switching Introduction References  Communication Networks: Fundmantal Concepts and Key Architectures Author: A. Leon-Garcia, I. Widjaja Publisher: McGraw-Hill  Internetworking with TCP/IP vol. I Principles, Protocols, and Architecture Author: Douglas E. Comer Publisher: Prentice-Hall  Title: Network Processors Architectures, Protocols, and Platforms Author: Panos C. Lekkas Publisher: McGraw-Hill

3 ENTS689L: Packet Processing and Switching Introduction User view of the internet  It is a big network that every computer is attached to it Internet hosts

4 ENTS689L: Packet Processing and Switching Introduction Internet view in a networking course: hosts Physical net routers

5 ENTS689L: Packet Processing and Switching Introduction Physical Network (Ethernet) Source:

6 ENTS689L: Packet Processing and Switching Introduction Physical Network (ISP WAN) Source:

7 ENTS689L: Packet Processing and Switching Introduction Router Source: Line and Switch Cards In this course we talk about how packets are processed and forwarded in routers

8 ENTS689L: Packet Processing and Switching Introduction In this course  We discuss:  Basic components in a router  The basic processes in a router  The basic requirements of router  Some network protocols  Some example architectures  We do NOT discuss:  Hardware design  Software design  Router programming  All other good stuff !

9 ENTS689L: Packet Processing and Switching Introduction Review of Networking

10 ENTS689L: Packet Processing and Switching Introduction Layering in a Network  Layering simplifies design, implementation, and testing  Protocol in each layer can be designed separately

11 ENTS689L: Packet Processing and Switching Introduction 7-Layer OSI Reference Model Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Application Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Communicating End Systems One or More Network Nodes End-to-End Protocols

12 ENTS689L: Packet Processing and Switching Introduction Physical Layer  Transfers bits across link  Definition & specification of the physical aspects of a communications link  Mechanical: cable, plugs, pins...  Electrical/optical: modulation, signal strength, voltage levels, bit times, …  functional/procedural: how to activate, maintain, and deactivate physical links…  Ethernet, DSL, cable modem, telephone modems…  Twisted-pair cable, coaxial cable optical fiber, radio, infrared, …

13 ENTS689L: Packet Processing and Switching Introduction Data Link Layer  Transfers frames across direct connections  Groups bits into frames  Detection of bit errors; Retransmission of frames  Activation, maintenance, & deactivation of data link connections  Medium access control for local area networks  Flow control Data Link Layer Physical Layer Data Link Layer Physical Layer frames bits

14 ENTS689L: Packet Processing and Switching Introduction Network Layer  Transfers packets across multiple links and/or multiple networks  Addressing must scale to large networks  Nodes jointly execute routing algorithm to determine paths across the network  Forwarding transfers packet across a node  Congestion control to deal with traffic surges  Congestion vs. Flow control  Connection setup, maintenance, and teardown when connection-based

15 ENTS689L: Packet Processing and Switching Introduction Internetworking  Internetworking is part of network layer and provides transfer of packets across multiple possibly dissimilar networks  Gateways (routers) direct packets across networks G = gateway H = host Net 1 Net 5 Net 3 Net 2 H Net 3 G H H H G G G G G Net 1Net 2Net 4Net 5 Ethernet LAN ATM Switch ATM Switch ATM Switch ATM Switch ATM Network

16 ENTS689L: Packet Processing and Switching Introduction Transport Layer  Transfers data (not just packet) end-to-end from process in a machine to process in another machine  Reliable stream transfer or quick-and-simple single-block transfer  Port numbers enable multiplexing  Message segmentation and reassembly  Connection setup, maintenance, and release Transport Layer Network Layer Transport Layer Network Layer Network Layer Network Layer Communication Network

17 ENTS689L: Packet Processing and Switching Introduction Headers and trailers  Each protocol uses a header that carries addresses, sequence numbers, flag bits, length indicators, etc…  CRC check bits may be appended for error detection Application Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Layer Transport Layer Network Layer Data Link Layer Physical Layer Application APP DATA AHAPP DATA TH AHAPP DATA NHTH AHAPP DATA DHNHTH AHAPP DATA CRC bits

18 ENTS689L: Packet Processing and Switching Introduction Why Internetworking  To build a “network of networks” or internet  operating over multiple, coexisting, different network technologies  providing ubiquitous connectivity through IP packet transfer  achieving huge economies of scale G G G G G G H Net 5 H Net 2 H Net 5 Net 3 H Net 5 Net 1 Net 5 Net 4

19 ENTS689L: Packet Processing and Switching Introduction Why Internetworking  To provide universal communication services  independent of underlying network technologies  providing common interface to user applications G G G G G G H Net 5 H Net 2 H Net 5 Net 3 H Net 5 Net 1 Net 5 Net 4

20 ENTS689L: Packet Processing and Switching Introduction Internet Protocol Approach  IP packets transfer information across Internet  Host A IP → router→ router…→ router→ Host B IP  IP layer in each router determines next hop (router)  Network interfaces transfer IP packets across networks Router Internet Layer Network Interface Transport Layer Internet Layer Network Interface Transport Layer Internet Layer Network Interface Host A Host B Net 5 Net 1 Net 5 Net 2 Net 5 Net 3 Router Internet Layer Network Interface Router Internet Layer Network Interface Net 5 Net 4

21 ENTS689L: Packet Processing and Switching Introduction How to create the routing tables  Need information on state of links  Link up/down; congested; delay or other metrics  Need to distribute link state information using a routing protocol  What information is exchanged? How often?  Exchange with neighbors; Broadcast or flood  Need to compute routes based on information  Single metric; multiple metrics  Single route; alternate routes

22 ENTS689L: Packet Processing and Switching Introduction Routing algorithm requirements  Responsiveness to changes  Topology or bandwidth changes, congestion  Rapid convergence of routers to consistent set of routes  Freedom from persistent loops  Optimality  Resource utilization, path length  Robustness  Continues working under high load, congestion, faults, equipment failures, incorrect implementations  Simplicity  Efficient software implementation, reasonable processing load

23 ENTS689L: Packet Processing and Switching Introduction Distributed Routing  Routes determined by routers using distributed algorithm  State information exchanged by routers  Adapts to topology and other changes  Better scalability

24 ENTS689L: Packet Processing and Switching Introduction Routing Table in Hop-by-Hop routing  Every router decides where to send the packet next by looking at the packet header (dest. address, source address, CoS, …) Node 1 Node 2 Node 3 Node 4 Node 6 Node Destination Next node Destination Next node

25 ENTS689L: Packet Processing and Switching Introduction Non-Hierarchical Addresses and Routing  No relationship between addresses & routing proximity  Routing tables require 16 entries each R1R … … … … R2R2

26 ENTS689L: Packet Processing and Switching Introduction Hierarchical Addresses and Routing  Prefix indicates network where host is attached  Routing tables require 4 entries each  Can we do better than this? R1R1 R2R

27 ENTS689L: Packet Processing and Switching Introduction Shortest Path Routing  Many possible paths connect any given source to any given destination  Routing involves the selection of the path to be used to accomplish a given transfer  Typically it is possible to attach a cost or distance to a link connecting two nodes  Routing can then be posed as a shortest path problem

28 ENTS689L: Packet Processing and Switching Introduction Routing Metrics Means for measuring desirability of a path  Path Length = sum of costs or distances  Possible metrics  Hop count: rough measure of resources used  Reliability: link availability; BER  Delay: sum of delays along path; complex & dynamic  Bandwidth: “available capacity” in a path  Load: Link & router utilization along path  Cost: $$$

29 ENTS689L: Packet Processing and Switching Introduction Shortest Path Approaches Distance Vector Protocols  Neighbors exchange list of distances to destinations  Best next-hop determined for each destination  Ford-Fulkerson (distributed) shortest path algorithm Link State Protocols  Link state information flooded to all routers  Routers have complete topology information  Shortest path (& hence next hop) calculated  Dijkstra (centralized) shortest path algorithm

30 ENTS689L: Packet Processing and Switching Introduction i only has local info from neighbors D j" C ij” i San Jose j C ij DjDj DiDi j" C ij' j' D j' Pick current shortest path Distance Vector Routing

31 ENTS689L: Packet Processing and Switching Introduction Why Distance Vector Works San Jose 1 Hop From SJ 2 Hops From SJ 3 Hops From SJ Accurate info about SJ ripples across network, Shortest Path Converges SJ sends accurate info Hop-1 nodes calculate current (next hop, dist), & send to neighbors

32 ENTS689L: Packet Processing and Switching Introduction Bellman-Ford Algorithm  Consider computations for one destination d  Initialization  Each node table has 1 row for destination d  Distance of node d to itself is zero: D d =0  Distance of other node j to d is infinite: D j = , for j  d  Next hop node n j = -1 to indicate not yet defined for j  d  Send Step  Send new distance vector to immediate neighbors across local link  Receive Step  At node j, find the next hop that gives the minimum distance to d,  Min j { C ij + D j }  Replace old (n j, D j (d)) by new (n j *, D j *(d)) if new next node or distance  Go to send step

33 ENTS689L: Packet Processing and Switching Introduction IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) San Jose Table node 1 for dest SJ Table node 3 for dest SJ

34 ENTS689L: Packet Processing and Switching Introduction IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6,1) (-1,  ) (6,2) 2 3 San Jose D 6 =0 D 3 =D 6 +1 n 3 = D 6 =0 D 5 =D 6 +2 n 5 =

35 ENTS689L: Packet Processing and Switching Introduction IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6, 1) (-1,  ) (6,2) 2(3,3)(5,6)(6, 1)(3,3)(6,2) 3 San Jose

36 ENTS689L: Packet Processing and Switching Introduction IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6, 1) (-1,  ) (6,2) 2(3,3)(5,6)(6, 1)(3,3)(6,2) 3(3,3)(4,4)(6, 1)(3,3)(6,2) San Jose

37 ENTS689L: Packet Processing and Switching Introduction X (a) (b) UpdateNode 1Node 2Node 3 Before break (2,3)(3,2)(4, 1) After break (2,3)(3,2)(2,3) 1 (3,4)(2,3) 2(2,5)(3,4)(2,5) 3 (3,6)(2,5) 4(2,7)(3,6)(2,7) 5 (3,8)(2,7) ………… Counting to Infinity Problem Nodes believe best path is through each other (Destination is node 4)

38 ENTS689L: Packet Processing and Switching Introduction Problem: Bad News Travels Slowly Remedies  Split Horizon  Do not report route to a destination to the neighbor from which route was learned  Poisoned Reverse  Report route to a destination to the neighbor from which route was learned, but with infinite distance  Breaks erroneous direct loops immediately  Does not work on some indirect loops

39 ENTS689L: Packet Processing and Switching Introduction X (a) (b) Split Horizon with Poison Reverse Nodes believe best path is through each other UpdateNode 1Node 2Node 3 Before break(2, 3)(3, 2)(4, 1) After break(2, 3)(3, 2) (-1,  ) Node 2 advertizes its route to 4 to node 3 as having distance infinity; node 3 finds there is no route to 4 1(2, 3) (-1,  ) Node 1 advertizes its route to 4 to node 2 as having distance infinity; node 2 finds there is no route to 4 2 (-1,  ) Node 1 finds there is no route to 4

40 ENTS689L: Packet Processing and Switching Introduction Link-State Algorithm  Basic idea: two step procedure  Each source node gets a map of all nodes and link metrics (link state) of the entire network  Find the shortest path on the map from the source node to all destination nodes  Broadcast of link-state information  Every node i in the network broadcasts to every other node in the network:  ID’s of its neighbors: N i =set of neighbors of i  Distances to its neighbors: {C ij | j  N i }  Flooding is a popular method of broadcasting packets

41 ENTS689L: Packet Processing and Switching Introduction Dijkstra Algorithm: Finding shortest paths in order sww"w' Closest node to s is 1 hop away w"xx' 2 nd closest node to s is 1 hop away from s or w” xzz' 3rd closest node to s is 1 hop away from s, w”, or x w' Find shortest paths from source s to all other destinations

42 ENTS689L: Packet Processing and Switching Introduction Dijkstra’s algorithm  N: set of nodes for which shortest path already found  Initialization: (Start with source node s)  N = {s}, D s = 0, “s is distance zero from itself”  D j =C sj for all j  s, distances of directly-connected neighbors  Step A: (Find next closest node i)  Find i  N such that  D i = min Dj for j  N  Add i to N  If N contains all the nodes, stop  Step B: (update minimum costs)  For each node j  N  D j = min (D j, D i +C ij )  Go to Step A Minimum distance from s to j through node i in N

43 ENTS689L: Packet Processing and Switching Introduction Execution of Dijkstra’s algorithm IterationND2D2 D3D3 D4D4 D5D5 D6D6 Initial{1}325  1{1,3}324  3 2{1,2,3} {1,2,3,6} {1,2,3,4,6} {1,2,3,4,5,6}

44 ENTS689L: Packet Processing and Switching Introduction Shortest Paths in Dijkstra’s Algorithm

45 ENTS689L: Packet Processing and Switching Introduction Reaction to Failure  If a link fails,  Router sets link distance to infinity & floods the network with an update packet  All routers immediately update their link database & recalculate their shortest paths  Recovery very quick  But watch out for old update messages  Add time stamp or sequence # to each update message  Check whether each received update message is new  If new, add it to database and broadcast  If older, send update message on arriving link

46 ENTS689L: Packet Processing and Switching Introduction Why is Link State Better?  Fast, loopless convergence  Support for precise metrics, and multiple metrics if necessary (throughput, delay, cost, reliability)  Support for multiple paths to a destination  algorithm can be modified to find best two paths

47 ENTS689L: Packet Processing and Switching Introduction  OSPF is a well known routing protocol for IP (RFC 2328 (v2))  OSPF is a link state routing protocol  Enables each router to learn complete network topology  Each router monitors the link state to each neighbor and floods the link- state information to other routers  Each router builds an identical link-state database  Allows router to build shortest path tree with router as root  OSPF typically converges faster than RIP when there is a failure in the network Open Shortest Path First

48 ENTS689L: Packet Processing and Switching Introduction  Used in OSPF to distribute link state (LS) information  Forward incoming packet to all ports except where packet came in  Packet eventually reaches destination as long as there is a path between the source and destination  Generates exponential number of packet transmissions  Approaches to limit # of transmissions:  Use a TTL at each packet; won’t flood if TTL is reached  Each router adds its identifier to header of packet before it floods the packet; won’t flood if its identifier is detected  Each packet from a given source is identified with a unique sequence number; won’t flood if sequence number is same Flooding

49 ENTS689L: Packet Processing and Switching Introduction Example OSPF Topology At steady state:  All routers have same LS database  Know how many routers in network  Interfaces & links between routers  Cost of each link  Occasional Hello messages (10 sec) & LS updates sent (30 min)

50 ENTS689L: Packet Processing and Switching Introduction Exterior Gateway Protocols  Within each AS, there is a consistent set of routes connecting the constituent networks  The Internet is woven into a coherent whole by Exterior Gateway Protocols (EGPs) that operate between AS’s  EGP enables two AS’s to exchange routing information about:  The networks that are contained within each AS  The AS’s that can be reached through each AS  EGP path selection guided by policy rather than path optimality  Trust, peering arrangements, etc

51 ENTS689L: Packet Processing and Switching Introduction BGP Example AS1 AS2 AS3 R1 R2 R3 R4 N1 N1 reachable through AS3 R4 advertises that network N1 can be reached through AS3 R3 examines announcement & applies policy to decide whether it will forward packets to N1 through R4 If yes, routing table updated in R3 to indicate R4 as next hop to N1 BGP propagates N1 reachability information through AS2 Only BGP routers are shown

52 ENTS689L: Packet Processing and Switching Introduction BGP Example AS1 AS2 AS3 R1 R2 R3 R4 N1 N1 reachable through AS2 BGP routers within an AS, e.g. R3 and R2, are kept consistent Suppose AS2 willing to handle transit packets from AS1 to N1 R2 advertises to AS1 the reachability of N1 through AS2 R1 applies its policy to decide whether to send to N1 via AS2

53 ENTS689L: Packet Processing and Switching Introduction Peering and Inter-AS connectivity Tier 1 ISP (Transit AS) Non-transit AS’s (stub & multihomed) do not carry transit traffic Tier 1 ISPs peer with each other, privately & peering centers Tier 2 ISPs peer with each other & obtain transit services from Tier 1s; Tier 1’s carry transit traffic between their Tier 2 customers Client AS’s obtain service from Tier 2 ISPs AS Content or Application Service Provider (Non-transit) Tier 1 ISP (Transit AS) Tier 2 (transit AS) AS Tier 2 (transit AS) AS Peering Centre

54 ENTS689L: Packet Processing and Switching Introduction EGP Requirements  Scalability to global Internet  Provide connectivity at global scale  Link-state does not scale  Should promote address aggregation  Fully distributed  EGP path selection guided by policy rather than path optimality  Trust, peering arrangements, etc  EGP should allow flexibility in choice of paths

55 ENTS689L: Packet Processing and Switching Introduction BGP Features  BGP is path vector protocol: advertises sequence of AS numbers to the destination network  Path vector info used to prevent routing loops  BGP enforces policy through selection of different paths to a destination and by control of redistribution of routing information  Uses CIDR to support aggregation & reduction of routing information

56 ENTS689L: Packet Processing and Switching Introduction iBGP & eBGP  eBGP to exchange reachability information in different AS’s  eBGP peers directly connected  iBGP to ensure net reachability info is consistent among the BGP speakers in the same AS  usually not directly connected  iBGP speakers exchange info learned from other iBGP speakers, and thus fully meshed R R R R iBGP eBGP R R R R iBGP

57 ENTS689L: Packet Processing and Switching Introduction Path Selection  Each BGP speaker  Evaluates paths to a destination from an AS border router  Selects the best that complies with policies  Advertises that route to all BGP neighbors  BGP assigns a preference order to each path & selects path with highest value; BGP does not keep a cost metric to any path  When multiple paths to a destination exist, BGP maintains all of the paths, but only advertises the one with highest preference value

58 ENTS689L: Packet Processing and Switching Introduction BGP Policy  Examples of policy:  Never use AS X  Never use AS X to get to a destination in AS Y  Never use AS X and AS Y in the same path