What is Router in Networking?
A router is a networking device that allows transmission of data in a definite path within a network or to other network by accepting data packets from source and sending it to destination specified. Forwarding the packets to destine IP address and to determine the path by sharing information with other routers in a computer network is basic functionality of a router.
Now we have an idea what is router, we can define it as “a network device that determines optimal path for transmitting data from network to another network”. Router will compute best possible path for sending data packets quickly to destination using algorithms that avoid congestion or traffic in network while transferring data. Basic components that router consists are CPU for making computations, mother board for processing the device, RAM for secondary storage including information access about distances at which other routers are present and finally ROM for permanent storage of algorithms that assist determining path. Apart from these components, adapters are also present in router for allocating IP address to them respectively. Routers consists console ports, network ports and router can contain multiple network ports along with various LAN or WAN ports.
What are the Types of Routers
Routers have routing tables where all information regarding its own position and other routers distance from this router is specified. Routers are of two types’ static router and dynamic router. A router is said to be a static router if configuration of routing table is done by administrator of network. A router configuring its own routing table then it is considered as dynamic router and it done with help of dynamic host configuration protocol involuntarily. Routers are classified as core routers, edge routers, bridge routers and virtual routers. The core routers are responsible to transmit packets any of the sub network within single entire network. Whereas forwarding packets to sub networks that are located in different networks is Edge routers. A Router that has dual functioning of both a bridge and router is considered as bridge routers. Virtual routers are routers that posses backup information of data transmission and usually used in redundancy protocol to avoid duplicate transmission of packets.
Methods used in Routing:
There are various routing algorithms available for a router to direct best path for data transmission. All data transfer is done in the network layer of OSI model in form of packets. The commonly used methods are distance vector routing and link state routing. Apart from these there are other methods like hierarchical routing, shortest path algorithm, fixed routing, flooding, adaptive routing, broadcast routing and multicasting routing.
The distance vector routing method works on bellman-ford, ford-Fulkerson algorithms which are enough efficient and stable to decide optimal path with accurate, simple and robust performance. In this method every router will possess a routing table that contains information regarding distance and direction of all other routers present in network. These tables are indexed for each router details and with help of this table a router can find minimum distance. Unfortunately this distance vector routing is iterative and distributed process as it sends route information to nearer routers without knowledge of source router. This is leads to infinity count difficulty due to its periodical updates sent to adjacent routers.
Link state routing will deluge the information from each router concerning state of links which are used to connect their neighbour routers. This routing method will overcome iterative process of updates to adjacent router with infinity count. The router in link state method locates its neighbours and retrieves their addresses to frame a packet telling for transmitting packets. These packets are transferred to all routers in order to figure shortest path for every other router. The cost for link states is calculated using dijkstras algorithm and makes this method a centralized routing where all updates are sent to each node.