Data Bases
Custom Term Papers
Free Term Papers
Free Research Papers
Free Essays
Free Book Reports
Plagiarism?
Links
Top 100 Term Paper Sites
Top 25 Essay Sites
Top 50 Essay Sites
Search 97,000 Papers @ DirectEssays.com
Search 101,000 Papers @ ExampleEssays.com
Search 90,000 Papers @ MegaEssays.com
Free Essays
Term Paper Sites
Chuck III's Free Essays
Free College Essays
TermPaperSites.com
Free Essays
My Term Papers
Essay World
Planet Papers
Search Lots of Essays
Back to Subjects
-
Computers
ROUTING INFORMATION PROTOCOL
ROUTING INFORMATION PROTOCOL I will summarize Request For Comments (RFC) 1058, Routing Information Protocol (RIP), by discussing RIPs basic algorithm/distance vector algorithm, protocol, message format, protocol limitations, and new improvements to RIP. RIP is very important to internetworking, since it passes information about routes between networks and hosts. It allows hosts and gateways to exchange information for the purpose of computing routes. BASIC ALGORITHM/DISTANCE VECTOR ALGORITHM: RIP was designed to work with moderate sized networks, which used pretty much the same technology. It was not intended to work complex network systems. RIP is widely used for routing traffic in the global Internet and is an interior gateway protocol (IGP), which means that it performs routing within a single autonomous system. On the Internet, an autonomous system is either a single network or a group of networks that are controlled by a common network administrator (or group of administrators) on behalf of a single administrative entity (such as a university, a business enterprise, or a business division). An autonomous system is also sometimes referred to as a routing domain. There are several algorithms to determine routes between networks. One categorization is on the type of information that is needed to be exchanged between the networks. Distance vector algorithms exchange only a small amount of data. Each participating gateway keeps information about all destinations within the network. RIP is a "distance vector algorithm". The basic distance vector algorithm attempts to find the shortest number of "hops" possible to reach the destination. A hop is whenever you pass through a node. In the following example the distance from X to Z is 2: When the network has many interconnected nodes, the shortest distance is harder to find. In the following, the distance could be 4,5,6 and more. In the above, the shortest path from A to M could be A-B-C-E-M, A-B-D-H-M, or A-G-J-L-M. There are two algorithms that find the shortest path: the Bellman-Ford or Dijkstra algorithms. Once one of these algorithms are run, each node in the network will know the shortest path from itself to each other node in the network. The algorithm uses fixed "metrics" for route comparisons. The fixed metrics could be time delay, cost, or some other value used to compare routes. In the following network, the numbers represent the cost to transverse the link. A ---- 1 ---- B ----- 2 ----- C | | | | G ---------- 3 ---------- H In the above network the following would be: -------------------- ------------- A-D-E-F-H 3+3+2+1 = 9 A-G-H 3+3 = 6 A-B-E-F-H 1+2+2+1 = 6 A-B-C-F-H 1+2+1+1 = 5 So the "best" route would be the last one, which has a cost of 5. The above algorithms work well based on some assumptions. That the nodes never fail, the cost of "hopping" never changes, you have the space to store all of the data and that you have the ability to collect the data. However, in practice, these assumptions are not valid. Nodes crash, costs change, and there is a limit on how much inforamtion can be kept. This is where protocols come in. Not only do they have to implement the algorithm in code but they need to deal with a changing topology or layout of the network. RIP is intended for use within the Internet. The Internet is a collection of networks connected by gateways. Gateways are hardware and software that link two different types of networks. They use routes to determine where to send the datagrams. If the destination is on one of the networks directly connected to the host or gateway, it can send the datagram directly to it. Else it will try to send the datagram to a gateway that is nearer the destination. Routing is the method of finding a path from a sender to the desired destination. On the Internet, this would be finding gateways between networks. If the networks are not adjacent, the message must pass through gateways. Once the message gets to the gateway that the destination network, then the local network routing will get the message to the destination. Each gateway maintains a database, which contains entries of where datagrams should be sent. This database contains a metric attribute that measures the "total distance" to the next gateway. The "total distance" may be the time delay in getting the message to the next gateway, the cost in money of the sending the message, or some other measurable factor. Each entity or gateway keeps a routing database. There will be an entry for every possible destination in the system. The following attributes would be need for each destination: * Address - IP address of the destination * Gateway - first gateway along the route to the destination * Interface - physical network which must be used to reach first gateway * Metric - number indicating distance to the destination * Timer - amount of time since the entry was last updated The database would be initialized with information about the entities that are directly connected to the system. As time goes by it will be updated from the other network systems. Distance vector algorithms use tables that contain the "best" routes to every destination in the system. Metrics is used to determine the "best" routes. In small networks, a common metric would be to count how many gateways a message would need to traverse to reach the destination. More complex networks would choose a metric that represents the time delay, cost of sending, or some other quantity. The main point is that the metric represents the "cost" for individual hops. Each gateway periodically exchanges information in update messages that describes the routing database in that entity. Since RIP is a User Datagram Protocol (UDP) based protocol, it must send and receive datagrams on UDP port number 520. The packet format is as shown below: 0 1 2 3 3 0 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | command (1) | version (1) | must be zero (2) | +---------------+---------------+-------------------------------+ | address family identifier (2) | must be zero (2) | +-------------------------------+-------------------------------+ | IP address (4) | +---------------------------------------------------------------+ | must be zero (4) | +---------------------------------------------------------------+ | must be zero (4) | +---------------------------------------------------------------+ | metric (4) | +---------------------------------------------------------------+ The following commands can be implemented in version 1 of the protocol: * 1 - request: request for all or part of its routing table * 2 - respond: message containing all or part of its routing table * 3 - traceon: Obsolete. Ignore these messages * 4 - traceoff: Obsolete. Ignore these messages * 5 - reserved: Used by Sun Microsystems The rest of the datagram consists of a list of destination with information about each. The maximum size of the datagram is 512 octets. There are a number of limitations of the protocol. It is limited to networks with no more than 15 hops as its longest path. This is to limit the use to moderate sized networks. Gateways and lines fail and come back up. To handle this we need to update the routes and distribute it throughout the network. The process of establishing routes is called convergence. Propagation of routing through the network takes time, so convergence doesn't happen instantaneously. "Counting to infinity" is a method to help speed-up the convergence of the network. This comes into play when the network system consists of several hundred networks, in which a routing table would involve all of them. The concern is that it would take too much bandwidth and time to build the routing table. This is a concern only for slow lines. Split horizons derive from the premise that it is never useful to send information about a route back in the direction from which it came. The following illustrates the split-horizon rule: Router 1 (R1) initially broadcasts that it has a route to Network 1 (N1). There is no reason for Router 2 (R2) to include this route in its update back to R1 because R1 is closer to N1. The split-horizon rule says that R2 should exclude this route from any updates it sends to R1. The split-horizon rule helps prevent routing loops. Consider, for example, the case where R1's connection to N1 goes down. R2 continues to inform R1 that it can get to N1 (through R1). If R1 does not have sufficient intelligence, it actually might pick up R2's route as an alternative to its failed direct connection, causing a routing loop. Split horizons are implemented because they provide extra stability. Split horizons with poison reverse is the same as above, with the exception of instead of excluding the route back, it sets their metric to infinity. The latest enhancement to RIP is the RIP2 specification, which allows more information to be included in RIP packets and provides a simple authentication mechanism. It expands the amount of useful information carried in RIP datagrams and adds security provisions. RIP is an efficient routing protocol used in moderate sized networks. Its basic algorithm structure is a distance vector algorithm using hop count and other metrics to traverse the network. The message format was described as well as the RIPs limitations. I then introduced RIP2 that solves many of RIPS limitations. RIP has been around since the days of ARPANET and should be here for quite some time. Bibliography: Hedrick, Charles L. (June 1988), Routing Information Protocol - RFC 1058 Xylogics, Inc. (November 1994), RIP Version 2, Carrying Additional Information - RFC 1723. Stallings, Williams (2000), Data & Computer Communications - Sixth Edition. Upper Saddle River, NJ; Prentice Hall. Tannenbaum, Andrew S. (1989), Computer Networks - Second Edition. Upper Saddle River, NJ; Prentice Hall.
Word Count: 1673
Copyright © 1998-2008
College Term Papers
, INC All Rights Reserved.
DMCA Notifications and Requests