310 likes | 494 Views
CMPT 371. Data Communications and Networking Routing in the Internet Internal Routing Protocols. Hierarchical Routing. So far when considering routing we have considered a “group of routers” and seen how to develop routes between them, and forward packets along those routes.
E N D
CMPT 371 Data Communications and Networking Routing in the Internet Internal Routing Protocols
Hierarchical Routing • So far when considering routing we have considered a “group of routers” and seen how to develop routes between them, and forward packets along those routes. • Both distance vector and link state routing have limitations when scaling to very large networks. The amount of information exchanged becomes prohibitive. (possible for your local network but not for the entire Internet) • Each administrative entity wants autonomy to optimize and configure their own networks for their own purposes. No one configuration will satisfy everyone • Need to allow each administrative entity the freedom to configure and protect their network as they wish • But we still need to be able to communicate between these different networks
Autonomous Systems (AS) • Group of routers and hosts controlled by a single administrative authority • Common routing protocol (interior routing protocol or IRP) for all members of the group • Defines mechanisms for discovering, validating, and maintaining routes within the autonomous system • A connected network within the local group • There is at least one route between any pair of nodes • Routing protocol for propagating subset of routing information to other autonomous systems on the internet (Exterior routing protocol or ERP)
Interior Router Protocol (IRP) • Routers need complete information about the local AS • IRP Passes routing information between routers within AS • Needs a detailed model • what information is sent between routers • formats of messages carrying this information • frequency of exchange of this information • Algorithms for routing (creating routing tables) and forwarding (using routing tables). Are these algorithms distributed? Local? Global? Etc. • Routing and forwarding algorithms may differ between ASs as may other parts of the model (for example DV or LS) • Also called intra-autonomous system routing protocol
Some ASs AS A AS B IRP B B1 B2 IRP A A1 B3 B6 A2 B4 B5 Gateway router A3 A4 IRP C C1 C2 C5 C3 C4 AS C
Some ASs • Only routers are shown in the previous diagrams, the networks of hosts that communicate with the Internet through each of the routers are shown as dotted lines • A host is attached through one of these networks to its default router. The router that attaches it the larger internet • The default router for the source host is called the source router • The default router for the destination host is the destination router
Routing with ASs • If both the source router and the destination router are in the same AS then the IRP for that AS is used to route the packet from the source to the receiver • If the source router and the destination router are in different ASs then • the IRP for the source AS is used to reach the gateway router for the source AS • The gateway router uses another protocol (the ERP, more later) to get the packet to the gateway router of the destination AS. • The gateway router of the destination AS uses the IRP of the destination AS to send the packet to its destination with the destination AS
Exterior Routing Protocol • ERP is an External Routing Protocol • Routers need some information about external ASs • Use ERP to communicate outside AS • At least one routers in the AS must do external routing • When more than one router in the AS does external routing must also consider finding the fastest path between gateway routers in the local AS • ERP supplies summary information on reachability of group members to routers outside the AS
Application of IRP and ERP Figure 19.5 Stallings (2003)
Distance-vector Routing Approach • Each node exchanges information with neighbor nodes • Neighbors are both directly connected to same system • Each node maintains vector of link costs for each directly attached node and distance and next-hop values for each destination node in the system • A node must transmit large amounts of information • Distance vector to all neighbors, Containing estimated path cost to all nodes in a configuration and next hop labels • Changes take long time to propagate (count to infinity) • Used by first generation routing algorithm for ARPANET and by Routing Information Protocol (RIP, routed) RIP is an internal gateway protocol (IGP) used between routers within an AS
Routing Information Protocol • RIP, The simplest dynamic distance vector routing protocol still in use, was built and adopted before a formal standard was available (RFC 1058 RIPv1, 2453 RIPv2 ) • Implemented in LINUX as the routed process. • Adequate only for small and stable ASs • based on the Bellman-Ford (or distance vector) algorithm • helps control count to infinity problem by specifying a maximum hop count of 15
Routing Information Protocol • Uses a simple metric, hop count • Not designed to deal with more complicated dynamic metrics such as delay, reliability or load (these can cause route oscillations) • Helps control oscillation between equal cost routes by retaining original route unless a route with a lower cost is found. • Helps prevent slow convergence (after changes in the topology of the network) by sending update messages immediately after updates have been completed (triggered updates)
Updating and RIP • Routing tables are updated or maintained • Each router will periodically (every 30 seconds) broadcast its routing table • If no update is received from a router for 180 seconds, that router is considered to no longer be reachable • Each router will process the received updates, adding new entries, updating entries for which a lower cost path has been located and updating entries for directly connected nodes whose cost changed • If the routing information changes during the update process the router will immediately broadcast the modified tables to its neighbors (called a triggered update)
Link-state Routing Approach • When router initialized and at intervals thereafter, it determines link cost on each interface (cost to each directly connected node) • Advertises set of link costs to other nodes in topology • Each node constructs routing table containing minimum cost paths to all attached nodes ( costs and first hop to each router) using the data received from all other nodes advertisements (information on nearest neighbors only to reduce packet size). • Open shortest path first (OSPF) protocol uses link-state routing. (a common IRP) • Second generation routing algorithm for ARPANET
Open Shortest Path First: • OSPF is the preferred IGP of Internet • Uses a Link State Routing Algorithm (RFC 2328) Each router • keeps a database of information based on local costs and received update packets from other routers in the AS • Each update includes cost information from one router to each of its neighbors • Can build directed graph showing topology and path costs for entire network from this information (for all routers) • Uses the database and Dykstra’s algorithm to determine least cost paths • Advertises its locally determined routing table periodically and when it changes (to all routers in the network)
Sample AS Figure 19.7 Stallings (2003)
Directed Graph for OSPF • Vertices or nodes are routers and networks • Types of Network • Transit: data not originating in network can pass through the network, more than one router is attached to the network • Stub: data not originating in network can enter only. One router is attached to network • Edges, associated costs at output of routers • Connect two routers with a pair of edges • Connect router to transit network with pair of edges (network to router edge has a cost of 0), or to stub network with single edge
Directed Graph of AS Figure 19.8 Stallings (2003)
Dividing an AS into Areas • Many networks are large and complex it is often useful to divide them into areas and deal with each smaller area separately • A large advantage of OSPF is that it includes mechanisms for dealing with ASs partitioned into areas. • When an AS is divided into areas the areas are chosen so they can be connected by a backbone of routers • Any router which is part of an area, but also communicates with other areas, is also a part of the backbone area. • The backbone is a special area. The information passing between all other areas travels through the backbone routers (dark ovals in diagram) • Routers in each area run their own copy of the routing process and have their own topological link-state data base. Routers in one area have no detailed knowledge of routing in other areas.
Backbone routers 3,4,5,6,7,10,11 AS Boundary routers 5,7 Internal routers 1,2,5,6,8,9,12 Area Border routers 3,4,7,10,11 1b Includes Router 4 2b 23b Includes Routers 7 and 11 From notes of Lou Hafer, after RFC1131: AS divided into areas
Types of routers in an AS • Internal Routers: all connected networks belong to the same area or with only backbone interfaces • Area Border Routers: not internal, run one copy of routing algorithm for backbone, and one copy for each attached area • Backbone Routers: has at least one interface to the backbone. Can be an internal router if all interfaces are with the backbone. Otherwise it is an area border router • AS boundary routers: Part of the AS but also communicates with routers outside the AS using and EGP. Can be routers of an of the above types
Neighbor Routers • Any pair of routers attached to the same single network segment (single broadcast address) can become neighbors • To become neighbors they must agree that they are neighbors • The pair of routers negotiates this agreement using and exchange of Hello packets (more later) to assure a two way link is established
Adjacent routers • Routers establish an adjacency if they will be exchanging LSAs.(link state announcement packets that carry routing information between routers) • A router on a particular physical segment will not necessarily be adjacent to all other routers on that segment • A router with multiple interfaces may simultaneously be adjacent to routers on more than one network segment
OSPF messages • Encapsulated in IP datagrams • 5 types of messages, all message types begin with a common header • Message types are • Hello • Database description • Link status request, • Link status update • Link status acknowledgement
OSPF operation (1) • Meet your neighbors • Hello messages are used to establish and test neighbor reachability • Two OSPF router may be neighbors if they are on the same network segment • Make good friends: • Database description, link state request update and ack are used for forming adjacencies (making friends) • Adjacencies are agreements to exchange Link State Announcements. Adjacencies are not established with all neighbors, just an optimal subset. • Database description, link state request, link state update and link state ack messages are used to establish adjacency
OSPF operation (2) • Keeping in touch with friends • Send Hello messages periodically to verify that neighbors are still neighbors • Break the neighbor (and adjacency relations) if you do not hear from a neighbor (receive a hello) for 3 periods • Send update information about any changes in routing to your adjacent neighbors when you have it (send Link state announcements LSAs) • Update your routing database based on LSAs received from your adjacent neighbors
Flooding protocol: conditions • A message(LSA) contains a database record. A database record contains information about one link between two routers in the graph discussed earlier. (one link is in one direction) • Each message contains a time stamp or message number • These message numbers are used by the receiving node to determine age of the record • Send means transmit through all attached interfaces except the one on which the incoming message arrived
Flooding protocol • Receive message: Find the corresponding record in the local database if it exists • If the record is not yet in the local database add the record. Send the message • If the record’s message number is larger than the message number in the data base, replace the message in the database with the new record. Send the message. • If the records message number is the same as the message number in the database do nothing • If the records message number is smaller than the message number in the database, send the record in the database back through the interface on which the message arrived
link state advertisements (1) • Router link advertisement • Originated by all routers • Flooded throughout a single area only • Describes the states of the router’s interfaces to the area • Network link advertisement • Originated by broadcast networks • Flooded throughout a single area only • Contains a list of routers connected to the network
Backbone routers 3,4,5,6,7,10,11 AS Boundary routers 5,7 Internal routers 1,2,5,6,8,9,12 Area Border routers 3,4,7,10,11 1b Includes Router 4 2b 23b Includes Routers 7 and 11 From notes of Lou Hafer, after RFC1131: AS divided into areas
link state advertisements (2) • Summary link advertisement • Originated by border area routers • Flooded throughout a area and backbone • Describes a route outside the local area but within the AS • AS external link advertisement • Originated by AS boundary area routers • Flooded throughout the AS • Contains a route to a destination outside the AS in another AS