Saturday, September 21, 2019
Networking And Routing Protocols
Networking And Routing Protocols At present, internet plays a vital role in many of our daily life. It made a dramatic revolution on communication which we enjoy today. The revolution offered web appliances, e-commerce, video conferences, online gaming and so on. All these became possible and operating on the backbone called networks. On the first hand, before discussing about routing and routing protocols well go through and networking. Initially U.S. government funded researches on sharing information within computers for scientific and military purposes. Though there were many contributed to the foundation of internet J. C. R. Licklider was the first among them. As a leader of Information Processing Technology Office (IPTO) he demonstrated the concept of time sharing and promoted the researches and concepts on networking. Time sharing made a major evolution in the IT world. It became the basis for networking as well. Licks successors as leaders of IPTO, Ivan Sutherland and Bob Taylor influenced by Intergalactic Network lead the researches of Advanced Research Projects Agency (ARPA)s IPTO. The three people Paul Baran, Leonard Kleinrock and Donald Davies developed fundamentals for ARPANET with their own concepts such as packet switching and so on. After continuous researches on implementation of networks, the first ARPANET interconnected and became success in 1969. Being limited for military and research purposes by universities ARPANET has gone through several modifications and adopted many mechanisms. By 1990 networks gradually became for public and from their several other technologies emerged based on networks. When the networks used by general public, it began to grow massive and more complex. So there was a need for a man in the middle kind of device to handle the routes for networks. So that experts coined the device called router. Router is a networking device used to forward the data to an interface to route the data towards its destination. Again the network administrator had to do a hectic job of adding static routes and updating each and every route in a network. For instance, if a link goes down all the routers should be updated manually to cope with it. So to handle these messy situations experts came up with the routing protocols. Though there were plenty of contributors and technology shifts in various occasions in the industry, the above paragraphs covers the milestones in the history. Routing Concept Routing is the process of directing a packet towards the destination with the help of router. The router receives a packet from one interface, determine which interface to be forwarded based on routing algorithm and destination address and then send the packet to the interface. To route a packet the router should satisfy at least following, Router should know Destination address subnet mask Discover Neighbor routers where it can identify the routes for remote routers Identify all possible routes for all remote networks The best path for routing the packet The process of maintaining and verifying the routing table and routing information In general, routing can be categorized as static and dynamic routing. Static routing is the process of adding the routes manually in the router table. The Static routes have the administrative distance of 1 by default. IP route 172.16.30.0 255.255.255.0 172.16.20.2 Dest n/w subnet mask next hope Static routing has no overhead on router CPU or bandwidth of the link and secure compared to dynamic routing. However, static routing doesnt have fault tolerant and its a tedious job to add routes manually. In a wide area network, adding all the routes is definitely a hardest job. Then again when a topology changes or a link goes down again the network administrator have to run all over the place to update. However in some scenarios, static routing remains handy. For instance, in stub networks where all the traffic routed towards a gateway static routing is inevitable with default routes. So static routing consume less resources, easy to configure, more secure and can handle multiple networks. Default routing is a category of static routing where only the exiting interface is specified. IP route 0.0.0.0 0.0.0.0 serial1 Dest n/w Subnet Exit interface Administrative distance for default routing is 0. Default routing is used to send packets to remote networks when the router doesnt have information about it on routing table. The next crucial, widely used category is dynamic routing which is concerned in this project. Dynamic routing is the process of keeping the routing table up to date with instant updates from routing protocols. These protocols dynamically share the information and able to update the routing table when topology changes occur. Further, these protocols determine the best path based on metric calculations. So that dynamic routing protocols remain crucial in large scale corporate networks to update their routing tables. Dynamic routing protocols provide fault tolerance by broadcasting updates when links goes down or server shutdown. To update the router tables the routing protocols define the rules for communicating with the neighbor routers. The rules specify the method and algorithm to exchange information between neighbors. All in all though dynamic protocols consume more CPU power and bandwidth when compared, they are robust and more reliable in networks, especially large scale. Routin g protocols can be categorized in various ways based on their characteristics. Initially, protocols can be divided into routing and routed protocols. Routed protocols are responsible for actual data transfer. The protocols under this category are TCP/IP, IPX/SPX, and apple talk. Routing protocols exchange the routing information between routers. They include RIP, RIP v.2, IGRP, EIGRP, OSPF BGP and so on. Further dynamic protocols can be classified as, Interior gateway protocols (IGP) and Exterior gateway protocol(EGP) Class-full and Class-less Distance vector ,Link-state and hybrid protocols IGP and EGP are characterized based on autonomous system. Autonomous system (AS) is the collection of networks within one administrative domain. IGP protocols are used to exchange router information between same AS number and EGP is between different AS numbers. Rip, Rip v.2, IGRP, EGRP, OSPF, IS-IS come under IGP and BGP is under EGP. Class-full routing protocols do not advertise the subnet mask but class-full address in advertisement. Class-less protocols advertise subnet mask. RIP and IGRP are class-full and RIP v.2 EIGRP, OSPF and IS-IS are classless. The other important characterization is Distance vector, Link state and hybrid. Distance vector protocols Advertise periodically Advertise full routing table Advertise only for directly connected routers High convergence time Limited no of hops Suffer from routing loop Do not establish neighbor relationship Protocols RIP, IGRP Link state protocols Advertise only when network triggered Advertise only the update Flood the advertisement Convergence is low No limits in hop count and suitable for large network No routing loops Establish neighbor relation in formal way Protocols OSPF IS-IS Hybrid protocols Its a combination of both Distance vector and Link-state. EIGRP share such routing characteristics. Dynamic routing Protocols Routing Information Protocol (RIPv1) Routing information protocol version 1 known as RIP is the initial routing protocol to be implemented in ARPANET in 1967. As classified before RIP is a class-full, distance vector and interior gateway protocol (IGP). RIP was developed based on Bellman-Ford algorithm and use hop count as the metric value. It uses the lowest hop count to calculate the best path. Rip limits the number of hosts it supports in a network to prevent routing loops and maintain stability. It supports a maximum of 15 hops in a network. 16th hop is defined as in infinite administrative distance and they become unreachable and un-shareable. It uses broadcast address 255.255.255.255 to send updates between routers. Administrative distance for RIP is 120. Rip use several timers in the advertising and updating process. Routing update timer, route timeout timer, and route flush timer are the timers used by RIP. Routing update timer is used to determine the time interval between each update from rip implemented router. Usually a full update is sent every 30 seconds from router. This became a problem when all the routers simultaneously try to send updates every 30 seconds and consuming the bandwidth since they are synchronized. So that when the timer is reset random time is added in addition to the 30 seconds to prevent such congestion. Route timeout timer is the time frame until a record remains valid before it gets an update with same record. If the router doesnt get the update again within the time frame router marks the record for deletion and hold it until the flush time expire. After the flush time expires the record will be purged permanently from the table. Rip protocol preserve stability by limiting the number of hops to prohibit routing loops propagation. RIP implements split horizon, route poisoning and timing mechanisms to prevent erroneous information propagation. However, limitation on number of hops becomes a setback in large scale networks. Limiting only to class-full advertising is another drawback in RIP. Further, routing updates are not capable for authentication process which is a security concern with version1. Despite rip being emerged ages ago it still exists in routers. Because it is easy to configure, stable, suits well for stub networks and widely used. Routing Information Protocol (RIPV2) Rip version 2 was standardized and released in 1993 due to lack of some important features in version 1 as mentioned above. Version 2 is an enhancement for variable length subnet masking (VLSM). Ripv2 designed to support classless routing with subnet masks which was a critical update from earlier version. Version2 updates carry more information with simple authentication enabled on it. It uses multicast address 220.127.116.11 to send updates. Multicasting avoids the hosts which are not part of routing from receiving update. This version also maintains the maximum number of hops to 15. Open Shortest Path First (OSPF) Routing Protocol Open shortest past first (OSPF) plays a key role in IP networks for several reasons. It was drafted to be used with the internet protocol suite with high functionality as a non proprietary protocol. OSPF is an interior gateway routing protocol which routes packets between the same autonomous systems. It has an administrative distance of 110. It is designed to fully support VLSM (Variable Length Subnet Masking) or CIDR (Classless Inter-Domain Routing).Also it supports for manual summarized advertisement. Its a link state protocol. So it scales well, converges quickly and offer loop free routing. On a topology change or link down it converges quick enough to provide a new loop free route. It uses cost to calculate the metric value. The shortest path is calculated based on Dijkstra algorithm to find the best path. OSPF use multicast addresses for updates. The addresses are, 18.104.22.168 is for sending updates and 22.214.171.124 is to receive updates. OSPF maintains three types of tables namely, routing table, neighbor table and database table. It uses Hello protocol to establish neighbor relation and maintain a neighbor table. Hello protocols attributes are, Router ID Priority (default 1) Hello interval (10 sec) Dead interval (40 sec) Authentication bit Stub area flag Process ID The relationship is established based on the router ID. To establish a neighbor relationship timers (hello dead), network mask, area ID and authentication password should be same. It uses area to communicate among routers. OSPF can be configured as single area or multi-area network. Areas are introduced to constrain the flooding of update into a single area. An OSPF domain is split into areas and labeled with 32 bit identifiers to limit the updates and calculation of best path with Dijkstra algorithm into one area. Areas should be carefully designed and configured to group the hosts and routers to a logical area. Each area maintains its own link state database which is distributed via a connecting router to other networks. Such design reduces the traffic flow between areas and keeps the topology anonymous to other areas. In single area OSPF the entire interface in that network belongs to same network. The diagram below explains a configuration in single area OSPF. In multi-area, all other areas must connect to the back bone area (area 0) directly or virtually. The diagram below is a sample of multi-area configuration. A multiple area OSPF must contain at least one backbone / zero area and may have several non-backbones. Zero area remains as the core area for all the other areas. All the other areas connect to backbone area to get updated. OSPF allows configuring stub networks as well. In OSPF stub networks external updates are not flooded in to the stub area. This will result in reducing the size of database size and thereby memory consumption. When stub network area is configured default routing will be used to connect to the external areas. OSPF defines the following router states, Area border router (ABR) Autonomous system boundary router (ASBR) Internal router (IR) Backbone router (BR) The routers could play one or more roles as mentioned above in an OSPF network. The router identifier should be defined in a dotted decimal format to associate each OSPF instance with an ID. If it is not explicitly specified, the highest logical IP will be assigned as the router ID. Area border router (ABR) is the common router which placed on the edge of the backbone area to connect other areas via its interfaces. The ABR keeps a copy of the link state databases of both the backbone and of the areas which it is connected to in its memory. Autonomous system boundary router (ASBR) is the router which connects an autonomous system and a non-OSPF network. ASBR remains as a gateway to connect an AS to other routing protocol networks such as EIGRP, RIP, BGP, static and so on. It also used to exchange routes which it learned from other AS number through its own AS number. The router which has all its interfaces and neighbor relationship within an area is called as Internal Router (IR). All the routers which are part of the backbone area are backbone router (BR). It may be a backbone internal router or an area border router. ABR is also a BR since it is connected to backbone via a physical or logical link. From OSPF configurations the routers elect designated router (DR) and backup designated router (BDR). A designated router (DR) is elected on a multi-access network segment to exchange routing information with other routers. The job of the DR is multicasting the router update which it received to the other routers. So other routers listen only to the DR instead of listening to broadcast. DR elected to act as one-to-many instead of many-to-many routing update. So updates are sent only to the DR router and it updates all the routers within the segment. This election mechanism reduces the network traffic a lot. The router with the highest priority among the routers will be elected as the Designated Router. If more than one router has same priority Router ID will be used as the tie breaker. In multi access networks Backup designated router (BDR) must be elected next. BDR is a standby router for DR if DR becomes unavailable. The router which becomes the second in the election process will be the BDR. If both become unavailable the election process will be held again. The BDR receives updates from adjacent routers but doesnt multicast them. OSPF adjacency is established to share the routing updates directly to each other. Establishing adjacency depends on the OSPF configuration in routers. From OSPF configuration point of view networks can be categorized as, Broadcast multi-access In broadcast multi-access networks routers have direct access to all the routers via direct links. Some of the examples for Broadcast multi-access are Ethernet, and Token ring. Through Ethernet multiple devices are allowed to access the same network. So when an OSPF packet is sent on the network itll be broadcasted and all the routers will receive it. With OSPF DR and BDR should be elected for broadcast multi-access network. Non-broadcast Multi Access (NBMA) NBMA network allows data transmission over a virtual link or across a switching device between the hosts in the network. Typical examples for NBMA are X.25, ATM and Frame relay. In NBMA, all the devices are connected through a shared medium. It doesnt support broadcast or multicast. Instead, OSPF sends the hello packet to each router in the network one at a time. As a result OSPF should be configured specially and the neighbor relationship should be specified properly. Power Line Communication (PLC) is also categorized as Non-broadcast Multiple Access network. Point-to-point In Point-to-point connections, both routers endpoints are connected point to point to provide a single path for communication. High-Level Data Link Control (HDLC) and Point-to-Point Protocol (PPP) could be the examples for P2P. In point to point network, it may be a serial cable connecting the endpoints directly or a virtual link which connects two routers apart in greater distance. But both scenarios eliminate the need for election of DR and BDR in OSPF implementation. The neighbors will be identified automatically with P2P. Point-to-multipoint Point-to-multipoint topology refers to connecting a single interface of a router to multiple destination routers. All the devices in Point-to-multipoint will be in a same network. Conventionally the routers could identify their neighbors automatically in broadcast network. Enhanced Interior Gateway Routing Protocol (EIGRP) Enhanced Interior Gateway Routing Protocol (EIGRP) is a proprietary, hybrid protocol owned by Cisco. It was developed by CISCO as a successor of IGRP. Though its not a version of IGRP; its completely different. It behaves as both link state and distance vector protocol. Its a classless protocol as well. Administrative distance for EIGRP is 90. It exercises a different algorithm from previous protocols which is known as Diffusing update algorithm (DUAL). DUAL algorithm ensures to find the best path with faster convergence and loop free routing. EIGRP supports unequal cost balancing as well. It uses multicast address 126.96.36.199 to send updates. EIGRP also use autonomous system number. It maintains three types of tables, Neighbor table maintains data about the neighboring routers which are directly connected and accessible. Hello packets with timers are employed to keep the record with precision. Topology table The topology table contains all the destinations advertised by its neighbor routers. It maintains the table as an aggregation of all advertised routes with adjoining metrics. In addition from the aggregation a successor and feasible successor will be identified and stored. The successor path is the best path to reach a destination based on the least sum of advertised distance from a neighbor and the distance to reach that neighbor. This route will be installed in the router. The optional feasible successor has the metric higher than successor, which qualify to be the next successor. This route doesnt get installed but kept in the topology table as an alternative. The router will automatically add the feasible route as successor when the successor becomes unavailable. The state of a route for destination can be marked as active or passive in the table. When the router find successor unavailable with no backup routes it query the neighbor routers. This state is called a s active and when it gets a reply it changes to passive state. This whole process ensures a loop free path for destinations. Routing table This table store the actual routes for all destinations. This table is build from the previous topology table calculation. A successor route and an optional feasible route will be stored in this table. Network Modelling Basically Network modelling is a main concept of network deployment into network planning, designing and implementation. Modelling is used to describe concept of the project. Network analysis and network designing should be defined before create network modelling. Define the requirements, objectives and problem areas should be created in network analysis part. So at this stage describe about the router and routing concept towards how they are using routing protocol to route the packets and how to configure with those routing protocols. After this stage implementation part considers all fulfil requirements. Finally design part where we define appropriate network deployment. Network modelling is giving a lot of helps to think more ideas to create best possible network model. Because of that I selected OPNET simulator in this project to create network models. OPNET Modeller 15.0 (Optimized Network Engineering Tools) Currently OPNET is one of the best tools among many network modelling tools in the network technologies. It provides us to designing network model using all kind of network equipments. Networking designers are gained better understanding of designing before development process. It helps to reduce time manner and expense of prototyping hardware equipments. We can able to analyse, measure the performance and behaviour of proposed Model system from event simulations. OPNET tool contains many features. There are main three editors in the OPNET ÃâÃÅ" Project Editor: It contains graphical interface of network topology nodes such as subnet, hub, switch, router, etc and much kind of links to communicate among those devices. All are designed with graphical user interface such as easy to end users. ÃâÃÅ" Node Editor: It is describe clear picture of internal architecture of the nodes by investigate the data flow between useful nodes. Node model can send, receive and create network traffic with other node model through the packets. ÃâÃÅ" Process Editor: It describes about the processes and events create by implementation of specific process operation on the network such as behaviour and functionality of the node model. During the simulation time each node model may create a process of any event, so that it gives the state of process and its functionality. Completely we cant compare simulated network with real world time traffic. But it will give some of information such as how much required bandwidth, where the jamming can occur and how to handle to avoid these problems.