390 likes | 621 Views
Routing Information Protocol (RIP). Intra-and Interdomain Routing. An internet is divided into autonomous systems. An autonomous system (AS) is a group of networks and routers under the authority of a single administration
E N D
Intra-and Interdomain Routing • An internet is divided into autonomous systems. An autonomous system (AS) is a group of networks and routers under the authority of a single administration • Routing inside an autonomous system is referred to as intradomain routing • Routing between autonomous system is referred to as interdomain routing
Popular Routing Protocols • In this chapter, we discuss two intradomain routing protocols: distance vector and link state • For the interdomain routing protocol, we introduce path vector • Routing Information Protocol (RIP) is the implementation of the distance vector protocol • Open Shortest Path First (OSPF) is the implementation of the link state protocol • Border Gateway Protocol (BGP) is the implementation of the path vector protocol
Distance Vector Routing • In distance vector routing, the least cost route between any two nodes is the route with minimum distance • In this protocol each node maintains a vector (table) of minimum distances to every node • The table at each node also guides the packets to the desired node by showing the next stop in the route (next-hop routing)
Initialization • At the beginning, each node can know only the distance between itself and its immediate neighbors, those directly connected to it
Sharing • The whole idea of distance vector routing is the sharing of information between neighbors • Although node A does not know about node E, node C does. So if node C shares its routing table with A, node A can also know how to reach node E Note: In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change.
Updating • When a node receives a 2-column table from a neighbor, it needs to update its routing table. Updating takes 3 steps: • The receiving node needs to add the cost between itself and the sending node to each value in the second column • The receiving node needs to add the name of the sending node to each row as the 3rd column if the receiving node uses information from any row. The sending node is the next node in the route
Updating (cont.) • The receiving node needs to compare each row of its old table with the corresponding row of the modified version of the received table. • If the next-node entry is different, the receiving node chooses the row with the smaller cost. If there is a tie, the old one is kept • If the next-node entry is the same, the receiving node chooses the new row. For example, if node C has previously advertised a route to node X with distance 3. Suppose that now there is no path between C and X; node C now advertises this route with a distance of infinity. Node A must not ignore this value even though its old entry is smaller.
When to Share • The table is sent both periodically and when there is a change in the table • Periodic Update. A node sends its routing table, normally every 30 seconds, in a periodic update. The period depends on the protocol that is using distance vector routing • Triggered Update. A node sends its 2-column routing table to its neighbors any time there is a change in its routing table. This is called a triggered update. The change can result from the following. • A node receive a table from a neighbor resulting in changes in its own table after updating • A node detects some failure in the neighboring links which results in a distance change to infinity
Initial routing tables in a small autonomous system
Two-Node Loop Instability • A problem with distance vector routing is instability, which means that a network using this protocol can become unstable
Solutions to two-node instability • Defining Infinity. Most implementation of the distance vector protocol define the distance between each node to be 1 and define 16 as infinity. Therefore, the distance vector cannot be used in large systems • Split Horizon. In this strategy, instead of flooding the table through each interface, each node sends only part of its table through each interface. If node B thinks that the optimum route to reach X is via A, it does not need to advertise this piece of information to A.
Solutions to two-node instability (cont.) • Split Horizon and Poison Reverse. This strategy is a combination between split horizon and poison reverse where node B can still advertise the value of X, but if the source of information is A, it can replace the distance with infinity as a warning: “Don’t use this value; what I know about this route comes from you.”
Routing Information Protocol (RIP) • The Routing Information Protocol (RIP) is an intradomain routing protocol used inside an autonomous system • It is a very simple protocol based on distance vector routing • RIP implements distance vector directly with some considerations: • In an autonomous, we are dealing with routers and networks (links). The routers have routing tables, networks don’t • The destination in a routing table is a network, which means the first column defines a network address
Routing Information Protocol (RIP) (cont.) • The metric used by RIP is the number of links that have to be used to reach the destination which is called hop count • Infinity is defined as 16 • The next node column defines the address of the router to which the packet is to be sent to reach its destination
RIP Message Format (cont.) • Command. This 8-bit field specifies the type of message: request (1) or response (2) • Version. This 8-bit defines the version. In the textbook, we use version 1 • Family. This 16-bit field defines the family of the protocol used. For TCP/IP the value is 2. • Network address. RIP has allocated 14 bytes for this field to be applicable to any protocol. • Distance. This 32-bit field defines the hop count from the advertising router to the destination network
Request and Response • Request. A request message is sent by a router that has just come up or by a router that has some time-out entries. A request can ask about specific entries or all entries • Response. A solicited response is sent only in answer to a request. It contains information about the destination specified in the corresponding request. An unsolicited response is sent periodically, every 30 s or when there is a change in the routing table
Example 1 What is the periodic response sent by router R1? Assume R1 knows about the whole autonomous system.
Solution R1 can advertise three networks 144.2.7.0, 144.2.9.0, and 144.2.12.0. The periodic response (update packet) is shown below.
Example 2 Figure 14.11 shows the update message sent from router R1 to router R2 in Figure 14.8. The message is sent out of interface 130.10.0.2. See Next Slide
The message is prepared with the combination of split horizon and poison reverse strategy in mind. Router R1 has obtained information about networks 195.2.4.0, 195.2.5.0, and 195.2.6.0 from router R2. When R1 sends an update message to R2, it replaces the actual value of the hop counts for these three networks with 16 (infinity) to prevent any confusion for R2. The figure also shows the table extracted from the message. Router R2 uses the source address of the IP datagram carrying the RIP message from R1 (130.10.02) as the next hop address.
Timer in RIP • RIP uses 3 timers. The periodic timer controls the sending of messages, the expiration timer governs the validity of a route, and the garbage collection timer advertises the failure of a route
Periodic Timer • The periodic timer controls the advertising of regular update messages • The working model uses a random number between 25 and 30 s • This is to prevent any possible synchronization and therefore overload on an internet if routers update simultaneously
Expiration Timer • The expiration timer governs the validity of a route • When a router receives update information for a route, the expiration timer is set to 180 s for that particular route • Every time a new update for the route is received, the timer is reset • If the timer is expired, the hop count of the route is set to 16, which means the destination is unreachable
Garbage Collection Timer • When the information about a route becomes invalid, the router does not immediately purge that route from its table • Instead, it continues to advertise the route with a metric value of 16 • At the same time, the garbage collection timer is set to 120 s for that route • When the count reaches zero, the route is purged from the table
Example 3 A routing table has 20 entries. It does not receive information about five routes for 200 s. How many timers are running at this time? SolutionThe 21 timers are listed below:Periodic timer: 1 Expiration timer: 20 − 5 = 15 Garbage collection timer: 5
RIP Version 2 • RIP version 2 was designed to overcome some of the shortcomings of version 1 • The designers of version 2 have not augmented the length of the message for each entry • They have only replaced those fields in version 1 that were filled with 0s for the TCP/IP protocol with some new fields
Message Format Updates • Route tag. This field carries information such as the autonomous system number. It can be used to enable RIP to receive information from an interdomain routing protocol. • Subnet mask. This is a 4-byte field that carries the subnet mask. This means that RIP2 supports classless addressing and CIDR. • Next-hop address. If the sending router want to specify another router IP address to be the next hop router.
RIP Version 2 Enhancements Supports VLSM and CIDR RFC - 2453 New RIPV2 Packet Format 1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+==+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= 64 68 72 92 572 Source Port = 0X0208 ( 520 ) Dest. Port = 0X0208 ( 520 ) UDP UDP RIP Dest. 01 Dest. 01 Dest. 01 Dest. 01 Dest. 01 Len. [ UDP + RIP = 0X0200 (512) ] UDP Checksum Command Version Unused Address Family Identifier Route Tag IP Address =+=+=+=+=+==+=+=+=+=+=+=+=+=++ =+=+=+=+=+==+=+=+=+=+=+=+=+=++ Subnet Mask Next Hop Metric Address Family Identifier Route Tag Dest. 25 Dest.25 Dest.25 Dest.25 Dest.25 IP Address Subnet Mask =+=+=+=+=+==+=+=+=+= =+=+=+=+=+==+=+=+=+= Next Hop Metric RIPv2 over UDP Packet format.