Recent from talks
Contribute something
Nothing was collected or created yet.
Router (computing)
View on Wikipedia
A router[a] is a computer and networking device that forwards data packets between computer networks, including internetworks such as the global Internet.[2][3][4]
Routers perform the "traffic directing" functions on the Internet. A router is connected to two or more data lines from different IP networks. When a data packet comes in on a line, the router reads the network address information in the packet header to determine the ultimate destination. Then, using information in its routing table or routing policy, it directs the packet to the next network on its journey. Data packets are forwarded from one router to another through an internetwork until it reaches its destination node.[5]
The most familiar type of IP routers are home and small office routers that forward IP packets between the home computers and the Internet. More sophisticated routers, such as enterprise routers, connect large business or ISP networks to powerful core routers that forward data at high speed along the optical fiber lines of the Internet backbone.
Routers can be built from standard computer parts but are mostly specialized purpose-built computers. Early routers used software-based forwarding, running on a CPU. More sophisticated devices use application-specific integrated circuits (ASICs) to increase performance or add advanced filtering and firewall functionality.
History
[edit]
The concepts of a switching node using software and an interface computer were first proposed by Donald Davies in 1966 for the NPL network.[6][7][8] The same idea was conceived by Wesley Clark the following year for use in the ARPANET, which were named Interface Message Processors (IMPs).[9] The first interface computer was implemented at the National Physical Laboratory in the United Kingdom in early 1969, followed later that year by the IMPs at the University of California, Los Angeles, the Stanford Research Institute, the University of California, Santa Barbara, and the University of Utah School of Computing in the United States.[10][11][12][13] All were built with the Honeywell 516. These computers had fundamentally the same functionality as a router does today.
The idea for a router (called a gateway at the time) initially came about through an international group of computer networking researchers called the International Network Working Group (INWG).[14] These gateway devices were different from most previous packet switching schemes in two ways. First, they connected dissimilar kinds of networks, such as serial lines and local area networks. Second, they were connectionless devices, which had no role in assuring that traffic was delivered reliably, leaving that function entirely to the hosts.[15] This particular idea, the end-to-end principle, was contained in the work of Donald Davies.[16][17]
The concept was explored in practice by various groups, with the intention to produce a working system for internetworking. There were three notable contemporaneous programs. The first was an implementation directed by Louis Pouzin of the CYCLADES network, which was designed and developed during 1972-3.[18][19][20] The second was program at Xerox PARC to explore new networking technologies, which produced the PARC Universal Packet system. Some time after early 1974, the first Xerox routers became operational. Due to corporate intellectual property concerns, it received little attention outside Xerox for years.[21][22] The third was a DARPA-initiated program, which began during 1973-4. This drew on the work of the other two programs,[23] expanded significantly, and went on to create the TCP/IP architecture in use today.[24][25] University College London (UCL) provided a gateway between British research groups and the ARPANET from 1973 until the late 1980s, latterly using SATNET.[26][27][28]
The first true IP router was developed by Ginny Travers at BBN, as part of that DARPA-initiated effort, during 1975–1976.[29][30] By the end of 1976, three PDP-11-based routers were in service in the experimental prototype Internet.[31] Mike Brecia, Ginny Travers, and Bob Hinden received the IEEE Internet Award for early IP routers in 2008.[32]
The first multiprotocol routers were independently created by staff researchers at MIT and Stanford in 1981 and both were also based on PDP-11s. Stanford's router program was led by William Yeager and MIT's by Noel Chiappa.[33][34][35][36] Virtually all networking now uses TCP/IP, but multiprotocol routers are still manufactured. They were important in the early stages of the growth of computer networking when protocols other than TCP/IP were in use. Modern routers that handle both IPv4 and IPv6 are multiprotocol but are simpler devices than ones processing AppleTalk, DECnet, IPX, and Xerox protocols.
From the mid-1970s and in the 1980s, general-purpose minicomputers served as routers. Modern high-speed routers are network processors or highly specialized computers with extra hardware acceleration added to speed both common routing functions, such as packet forwarding, and specialized functions such as IPsec encryption. There is substantial use of Linux and Unix software-based machines, running open source routing code, for research and other applications. The Cisco IOS operating system was independently designed. Major router operating systems, such as Junos and NX-OS, are extensively modified versions of Unix software.
Operation
[edit]When multiple routers are used in interconnected networks, the routers can exchange information about destination addresses using a routing protocol. Each router builds up a routing table, a list of routes, between two computer systems on the interconnected networks.[37][38]
The software that runs the router is composed of two functional processing units that operate simultaneously, called planes:[39]
- Control plane: A router maintains a routing table that lists which route should be used to forward a data packet, and through which physical interface connection. It does this using internal pre-configured directives, called static routes, or by learning routes dynamically using a routing protocol. Static and dynamic routes are stored in the routing table. The control-plane logic then strips non-essential directives from the table and builds a forwarding information base (FIB) to be used by the forwarding plane.
- Forwarding plane: This unit forwards the data packets between incoming and outgoing interface connections. It reads the header of each packet as it comes in, matches the destination to entries in the FIB supplied by the control plane, and directs the packet to the outgoing network specified in the FIB.
Applications
[edit]

A router may have interfaces for multiple types of physical layer connections, such as copper cables, fiber optic, or wireless transmission. It can also support multiple network layer transmission standards. Each network interface is used to enable data packets to be forwarded from one transmission system to another. Routers may also be used to connect two or more logical groups of computer devices known as subnets, each with a unique network prefix.
Routers may provide connectivity within enterprises, between enterprises and the Internet, or between internet service providers' (ISPs') networks, they are also responsible for directing data between different networks.[40] The largest routers (such as the Cisco CRS-1 or Juniper PTX) interconnect the various ISPs, or may be used in large enterprise networks.[41] Smaller routers usually provide connectivity for typical home and office networks.
All sizes of routers may be found inside enterprises.[42] The most powerful routers are usually found in ISPs, academic and research facilities. Large businesses may also need more powerful routers to cope with ever-increasing demands of intranet data traffic. A hierarchical internetworking model for interconnecting routers in large networks is in common use.[43] Some routers can connect to Data service units for T1 connections[44][45][46] via serial ports.[47][48]
Access, core and distribution
[edit]
The hierarchical internetworking model divides enterprise networks into three layers: core, distribution, and access.
Access routers, including small office/home office (SOHO) models, are located at home and customer sites such as branch offices that do not need hierarchical routing of their own. Typically, they are optimized for low cost. Some SOHO routers are capable of running alternative free Linux-based firmware like Tomato, OpenWrt, or DD-WRT.[49]
Distribution routers aggregate traffic from multiple access routers. Distribution routers are often responsible for enforcing quality of service across a wide area network (WAN), so they may have considerable memory installed, multiple WAN interface connections, and substantial onboard data processing routines. They may also provide connectivity to groups of file servers or other external networks.[50]
In enterprises, a core router may provide a collapsed backbone interconnecting the distribution tier routers from multiple buildings of a campus, or large enterprise locations. They tend to be optimized for high bandwidth but lack some of the features of edge routers.[51]
Security
[edit]External networks must be carefully considered as part of the overall security strategy of the local network. A router may include a firewall, VPN handling, and other security functions, or they may be handled by separate devices. Routers also commonly perform network address translation which restricts connections initiated from external connections but is not recognized as a security feature by all experts.[52] Some experts argue that open source routers are more secure and reliable than closed source routers because errors and potentially exploitable vulnerabilities are more likely to be discovered and addressed in an open-source environment.[53][54]
Routing different networks
[edit]Routers are also often distinguished on the basis of the network in which they operate. A router in a local area network (LAN) of a single organization is called an interior router. A router that is operated in the Internet backbone is described as exterior router. While a router that connects a LAN with the Internet or a wide area network (WAN) is called a border router, or gateway router.[55]
Internet connectivity and internal use
[edit]Routers intended for ISP and major enterprise connectivity usually exchange routing information using the Border Gateway Protocol (BGP). RFC 4098 defines the types of BGP routers according to their functions:[56]
- Edge router or inter-AS border router: Placed at the edge of an ISP network, where the router is used to peer with the upstream IP transit providers, bilateral peers through IXP, private peering (or even settlement-free peering) through Private Network Interconnect (PNI) via the extensive use of Exterior Border Gateway Protocol (eBGP).[57]
- Provider Router (P): A Provider router is also called a transit-router, it sits in an MPLS network and is responsible for establishing label-switched paths between the PE routers.[58]
- Provider edge router (PE): An MPLS-specific router in the network's access layer that interconnects with customer edge routers to provide layer 2 or layer 3 VPN services.[58]
- Customer edge router (CE): Located at the edge of the subscriber's network, it interconnects with the PE router for L2VPN services, or direct layer 3 IP hand-off in the case of Dedicated Internet Access, if IP Transit services are provided through an MPLS core, the CE peers with the PE using eBGP with the public ASNs of each respective network. In the case of L3VPN services the CE can exchange routes with the PE using eBGP. It is commonly used in both service provider and enterprise or data center organizations.[58]
- Core router: Resides within an Autonomous System as a backbone to carry traffic between edge routers.[59]
- Within an ISP: In the ISP's autonomous system, a router uses internal BGP to communicate with other ISP edge routers, other intranet core routers, or the ISP's intranet provider border routers.
- Internet backbone: The Internet no longer has a clearly identifiable backbone, unlike its predecessor networks. See default-free zone (DFZ). The major ISPs' system routers make up what could be considered to be the current Internet backbone core.[60] ISPs operate all four types of the BGP routers described here. An ISP core router is used to interconnect its edge and border routers. Core routers may also have specialized functions in virtual private networks based on a combination of BGP and Multiprotocol Label Switching protocols.[61]
- Port forwarding: In some networks, that rely on legacy IPv4 and NAT, routers (often labeled as NAT boxes) are also used for port forwarding configuration between RFC1918 address space and their publicly assigned IPv4 address.[42]
- Voice, data, fax, and video processing routers: Commonly referred to as access servers or gateways, these devices are used to route and process voice, data, video and fax traffic on the Internet. Since 2005, most long-distance phone calls have been processed as IP traffic (VOIP) through a voice gateway. Use of access server-type routers expanded with the advent of the Internet, first with dial-up access and another resurgence with voice phone service.
- Larger networks commonly use multilayer switches, with layer-3 devices being used to simply interconnect multiple subnets within the same security zone, and higher-layer switches when filtering, translation, load balancing, or other higher-level functions are required, especially between zones.
Wi-Fi routers
[edit]Wi-Fi routers combine the functions of a router with those of a wireless access point. They are typically devices with a small form factor, operating on the standard electric power supply for residential use. Connected to the Internet as offered by an Internet service provider, they provide Internet access through a wireless network for home or office use.
Forwarding
[edit]The main purpose of a router is to connect multiple networks and forward packets destined either for directly attached networks or more remote networks. A router is considered a layer-3 device because its primary forwarding decision is based on the information in the layer-3 IP packet, specifically the destination IP address. When a router receives a packet, it searches its routing table to find the best match between the destination IP address of the packet and one of the addresses in the routing table. Once a match is found, the packet is encapsulated in the layer-2 data link frame for the outgoing interface indicated in the table entry. A router typically does not look into the packet payload,[62] but only at the layer-3 addresses to make a forwarding decision, plus optionally other information in the header for hints on, for example, quality of service (QoS). For pure IP forwarding, a router is designed to minimize the state information associated with individual packets.[63] Once a packet is forwarded, the router does not retain any historical information about the packet.[b]
The routing table itself can contain information derived from a variety of sources, such as a default or static routes that are configured manually, or dynamic entries from routing protocols where the router learns routes from other routers. A default route is one that is used to route all traffic whose destination does not otherwise appear in the routing table; it is common – even necessary – in small networks, such as a home or small business where the default route simply sends all non-local traffic to the Internet service provider. The default route can be manually configured (as a static route); learned by dynamic routing protocols; or be obtained by DHCP.[c][64]
A router can run more than one routing protocol at a time, particularly if it serves as an autonomous system border router between parts of a network that run different routing protocols; if it does so, then redistribution may be used (usually selectively) to share information between the different protocols running on the same router.[65]
Besides deciding to which interface a packet is forwarded, which is handled primarily via the routing table, a router also has to manage congestion when packets arrive at a rate higher than the router can process. Three policies commonly used are tail drop, random early detection (RED), and weighted random early detection (WRED). Tail drop is the simplest and most easily implemented: the router simply drops new incoming packets once buffer space in the router is exhausted. RED probabilistically drops datagrams early when the queue exceeds a pre-configured portion of the buffer, until reaching a pre-determined maximum, when it drops all incoming packets, thus reverting to tail drop. WRED can be configured to drop packets more readily dependent on the type of traffic.
Another function a router performs is traffic classification and deciding which packet should be processed first. This is managed through QoS, which is critical when Voice over IP is deployed, so as not to introduce excessive latency.[66]
Yet another function a router performs is called policy-based routing where special rules are constructed to override the rules derived from the routing table when a packet forwarding decision is made.[67]
Some of the functions may be performed through an application-specific integrated circuit (ASIC) to avoid the overhead of scheduling CPU time to process the packets. Others may have to be performed through the CPU as these packets need special attention that cannot be handled by an ASIC.[68]
See also
[edit]Notes
[edit]- ^ Pronounced /ˈruːtər/ in British English, /ˈraʊtər/ in American and Australian English.[1]
- ^ In some router implementations, the forwarding action can increment a counter associated with the routing table entry for the collection of statistical data.
- ^ A router can serve as a DHCP client or as a DHCP server.
References
[edit]- ^ "router". Oxford English Dictionary (Online ed.). Oxford University Press. (Subscription or participating institution membership required.)
- ^ "A Router is a Computer". Cisco Network Academy. Archived from the original on 2022-07-05.
- ^ Medhi, Deepankar; Ramasamy, Karthik (2007). Network Routing: Algorithms, Protocols, and Architectures. Elsevier. p. 19. ISBN 9780120885886.
- ^ Kundu, Sudakshina (2009). Fundamentals of Computer Networks, 2nd Ed. New Delhi: PHI Learning. pp. 85–86, 124. ISBN 9788120334526.
- ^ "Overview Of Key Routing Protocol Concepts: Architectures, Protocol Types, Algorithms and Metrics". Tcpipguide.com. Archived from the original on 20 December 2010. Retrieved 15 January 2011.
- ^ Davies, D. W. (1966). "Proposal for a Digital Communication Network" (PDF).
- ^ Roberts, Dr. Lawrence G. (May 1995). "The ARPANET & Computer Networks". Archived from the original on 24 March 2016. Retrieved 13 April 2016.
Then in June 1966, Davies wrote a second internal paper, "Proposal for a Digital Communication Network" In which he coined the word packet,- a small sub part of the message the user wants to send, and also introduced the concept of an interface computer to sit between the user equipment and the packet network.
- ^ Pelkey, James (2007). Entrepreneurial Capitalism & Innovation: A History of Computer Communications 1968 - 1988. Retrieved 2020-02-18.
paper dated June 1966 ... introduced the concept of an "interface computer" to sit between the user equipment and the packet network.
- ^ Pelkey, James. "4.7 Planning the ARPANET: 1967-1968 in Chapter 4 - Networking: Vision and Packet Switching 1959 - 1968". The History of Computer Communications. Archived from the original on December 23, 2022. Retrieved May 9, 2023.
- ^ John S, Quarterman; Josiah C, Hoskins (1986). "Notable computer networks". Communications of the ACM. 29 (10): 932–971. doi:10.1145/6617.6618. S2CID 25341056.
The first packet-switching network was implemented at the National Physical Laboratories in the United Kingdom. It was quickly followed by the ARPANET in 1969.
- ^ Scantlebury, Roger (2001). A Brief History of the NPL Network. Symposium of the Institution of Analysts & Programmers 2001. Archived from the original on 2003-08-07. Retrieved 2024-06-13.
The system first went 'live' early in 1969
- ^ Haughney Dare-Bryan, Christine (June 22, 2023). Computer Freaks (Podcast). Chapter Two: In the Air. Inc. Magazine. 35:55 minutes in.
Leonard Kleinrock: Donald Davies ... did make a single node packet switch before ARPA did
- ^ Hempstead, C.; Worthington, W., eds. (2005). Encyclopedia of 20th-Century Technology. Routledge. pp. 573–5. ISBN 9781135455514. Retrieved 2015-08-15.
- ^ Davies, Shanks, Heart, Barker, Despres, Detwiler and Riml, "Report of Subgroup 1 on Communication System", INWG Note No. 1.
- ^ Edmondson-Yurkanan, Chris (2007). "SIGCOMM's archaeological journey into networking's past". Communications of the ACM. 50 (5): 63–68. doi:10.1145/1230819.1230840. ISSN 0001-0782.
INWG#1: Report of Subgroup 1 on Communication System Requirements by Davies, Shanks, Heart, Barker, Despres, Detwiler, and Riml. They wrote: "It was agreed that interworkingbetween packet switching networks should not add complications to the hosts, considering that networks will probably be different and thus gateways between networks will be required. These gateways should be as uncomplicated as possible, whilst allowing as much freedom as possible for the design of individual networks". INWG#1 clarified that gateways and simplicity were accepted concepts when INWG was formed.
- ^ Davies, Donald; Bartlett, Keith; Scantlebury, Roger; Wilkinson, Peter (October 1967). A Digital Communication Network for Computers Giving Rapid Response at remote Terminals (PDF). ACM Symposium on Operating Systems Principles. Archived (PDF) from the original on 2022-10-10. Retrieved 2020-09-15.
It is thought that all users of the network will provide themselves with some kind of error control and that without difficulty this could be made to show up a missing packet. Because of this, loss of packets, if it is sufficiently rare, can be tolerated.
- ^ Pelkey, James. "8.3 CYCLADES Network and Louis Pouzin 1971–1972". Entrepreneurial Capitalism and Innovation: A History of Computer Communications 1968–1988.
The inspiration for datagrams had two sources. One was Donald Davies' studies. He had done some simulation of datagram networks, although he had not built any, and it looked technically viable. The second inspiration was I like things simple. I didn't see any real technical motivation to overlay two levels of end-to-end protocols. I thought one was enough.
- ^ Russell, Andrew L.; Schafer, Valérie (2014). "In the Shadow of ARPANET and Internet: Louis Pouzin and the Cyclades Network in the 1970s". Technology and Culture. 55 (4): 880–907. doi:10.1353/tech.2014.0096. ISSN 0040-165X. JSTOR 24468474.
- ^ Green, Lelia (2010). The internet: an introduction to new media. Berg new media series. Berg. p. 31. ISBN 978-1-84788-299-8. OCLC 504280762.
The original ARPANET design had made data integrity part of the IMP's store-and-forward role, but Cyclades end-to-end protocol greatly simplified the packet switching operations of the network. ... The idea was to adopt several principles from Cyclades and invert the ARPANET model to minimise international differences.
- ^ Bennett, Richard (September 2009). "Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate" (PDF). Information Technology and Innovation Foundation. pp. 7, 9, 11. Retrieved 11 September 2017.
Two significant packet networks preceded the TCP/IP Internet: ARPANET and CYCLADES. The designers of the Internet borrowed heavily from these systems, especially CYCLADES ... The first end-to-end research network was CYCLADES, designed by Louis Pouzin at IRIA in France with the support of BBN's Dave Walden and Alex McKenzie and deployed beginning in 1972.
- ^ Taylor, Bob (October 11, 2008), "Oral History of Robert (Bob) W. Taylor" (PDF), Computer History Museum Archive, CHM Reference number: X5059.2009: 28
- ^ David Boggs, John Shoch, Edward Taft, Robert Metcalfe, "Pup: An Internetwork Architecture", IEEE Transactions on Communications, Volume 28, Issue 4, April 1980, pp. 612- 624.
- ^ Cerf, V.; Kahn, R. (1974). "A Protocol for Packet Network Intercommunication" (PDF). IEEE Transactions on Communications. 22 (5): 637–648. Bibcode:1974ITCom..22..637C. doi:10.1109/TCOM.1974.1092259. ISSN 1558-0857.
The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.
- ^ Ethics and the Internet. January 1989. doi:10.17487/RFC1087. RFC 1087.
At great human and economic cost, resources drawn from the U.S. Government, industry and the academic community have been assembled into a collection of interconnected networks called the Internet.
- ^ 30 Years of RFCs. 7 April 1999. doi:10.17487/RFC2555. RFC 2555.
Reflections - Joyce K. Reynolds: A very long time ago when I was dabbling in IP network number and protocol parameter assignments with Jon Postel, gateways were still "dumb", the Exterior Gateway Protocol (EGP) was in its infancy and TOPS-20 was in its heyday.
- ^ Kirstein, P.T. (1999). "Early experiences with the Arpanet and Internet in the United Kingdom". IEEE Annals of the History of Computing. 21 (1): 38–44. Bibcode:1999IAHC...21a..38K. doi:10.1109/85.759368. S2CID 1558618.
- ^ Routing and Access Control in UK to US Services. IEN 190.
- ^ Kirstein, P. T. (December 1984). "The University College London International Computer Communications Interconnection Service" (PDF). Internal Working Paper.
- ^ "Virginia Travers". Internet Hall of Fame. Retrieved 2024-06-16.
- ^ "Ms. Ginny Strazisar". IT History Society. 21 December 2015. Archived from the original on 1 December 2017. Retrieved 21 November 2017.
- ^ Craig Partridge, S. Blumenthal, "Data networking at BBN"; IEEE Annals of the History of Computing, Volume 28, Issue 1; January–March 2006.
- ^ "IEEE INTERNET AWARD RECIPIENTS" (PDF).
- ^ Valley of the Nerds: Who Really Invented the Multiprotocol Router, and Why Should We Care? Archived 2016-03-03 at the Wayback Machine, Public Broadcasting Service, Accessed August 11, 2007.
- ^ Router Man Archived 2013-06-05 at the Wayback Machine, NetworkWorld, Accessed June 22, 2007.
- ^ David D. Clark, "M.I.T. Campus Network Implementation", CCNG-2, Campus Computer Network Group, M.I.T., Cambridge, 1982; pp. 26.
- ^ Pete Carey, "A Start-Up's True Tale: Often-told story of Cisco's launch leaves out the drama, intrigue", San Jose Mercury News, December 1, 2001.
- ^ "Cisco Networking Academy's Introduction to Routing Dynamically". Cisco. Archived from the original on October 27, 2015. Retrieved August 1, 2015.
- ^ "What Is Routing?". Cisco. 2022-04-10. Retrieved 2024-03-25.
Routing tables can be created manually and "learned" by software as it observes network traffic, or they can be built according to routing protocols.
- ^ H. Khosravi & T. Anderson (November 2003). Requirements for Separation of IP Control and Forwarding. doi:10.17487/RFC3654. RFC 3654.
- ^ "Which networking component is responsible for directing data between different networks - ITEagers". ITEagers. Retrieved 2024-02-27.
- ^ "Setting uo Netflow on Cisco Routers". MY-Technet.com date unknown. Archived from the original on 14 July 2011. Retrieved 15 January 2011.
- ^ a b "Windows Home Server: Router Setup". Microsoft Technet 14 Aug 2010. Archived from the original on 22 December 2010. Retrieved 15 January 2011.
- ^ Oppenheimer, Pr (2004). Top-Down Network Design. Indianapolis: Cisco Press. ISBN 978-1-58705-152-4.
- ^ Beasley, Jeffrey S.; Nilkaew, Piyasat (5 November 2012). A Practical Guide to Advanced Networking. Pearson Education. ISBN 978-0-13-335400-3.
- ^ Lawson, Wayne (8 February 2001). Configuring Cisco AVVID. Elsevier. ISBN 978-0-08-047673-5.
- ^ "Computerworld". 23 January 1995.
- ^ "Serial Interface Cards".
- ^ "Serial Network Modules".
- ^ "SOHO Network Requirements Planning and Implementation". ExamCollection. Retrieved 2021-03-25.
- ^ "How Do WiFi Extenders Work? Repeater, Booster, Extender?". ISP Family. 2021-02-25. Retrieved 2021-03-25.
- ^ "Hierarchical Network Design Overview (1.1) > Cisco Networking Academy Connecting Networks Companion Guide: Hierarchical Network Design | Cisco Press". www.ciscopress.com. Retrieved 2021-03-21.
- ^ "Security Considerations Of NAT" (PDF). University of Michigan. Archived from the original (PDF) on October 18, 2014.
- ^ "Global Internet Experts Reveal Plan for More Secure, Reliable Wi-Fi Routers - and Internet" (Press release). 14 October 2015. Archived from the original on 2015-10-20.
- ^ "Is Open Source Software More Secure than Proprietary Products?". GovTech. 2010-07-26. Retrieved 2024-03-30.
- ^ Tamara Dean (2009). Network+ Guide to Networks. Cengage Learning. p. 272. ISBN 9781423902454.
- ^ H. Berkowitz; et al. (June 2005). Terminology for Benchmarking BGP Device Convergence in the Control Plane. doi:10.17487/RFC4098. RFC 4098.
- ^ "What is the primary role of a router placed at the edge of an ISP network engaging in peering with upstream IP transit providers through eBGP - ITEagers". ITEagers. Retrieved 2024-02-27.
- ^ a b c Rekhter, Yakov; Rosen, Eric C. (February 2006). BGP/MPLS IP Virtual Private Networks (VPNs) (Report). Internet Engineering Task Force.
- ^ "M160 Internet Backbone Router" (PDF). Juniper Networks. Archived (PDF) from the original on 20 September 2011. Retrieved 15 January 2011.
- ^ "Virtual Backbone Routers" (PDF). IronBridge Networks, Inc. September, 2000. Archived (PDF) from the original on 16 July 2011. Retrieved 15 January 2011.
- ^ E. Rosen; Y. Rekhter (April 2004). BGP/MPLS VPNs.
- ^ "Packet Forwarding and Routing on IPv4 Networks - System Administration Guide: IP Services". docs.oracle.com. Retrieved 2021-03-25.
- ^ Roberts, Lawrence (22 July 2003). "The Next Generation of IP - Flow Routing". Archived from the original on 4 April 2015. Retrieved 22 February 2015.
- ^ David Davis (April 19, 2007). "Cisco administration 101: What you need to know about default routes". Archived from the original on June 25, 2014. Retrieved June 5, 2014.
{{cite web}}: CS1 maint: bot: original URL status unknown (link) - ^ Diane Teare (March 2013). Implementing Cisco IP Routing (ROUTE): Foundation Learning Guide. Cisco Press. pp. 330–334.
- ^ Donahue, Gary A. (2007-06-21). Network Warrior. "O'Reilly Media, Inc.". ISBN 978-0-596-10151-0.
- ^ Diane Teare (March 2013). "Chapter 5: Implementing Path Control". Implementing Cisco IP-Routing (ROUTE): Foundation Learning Guide. Cisco Press. pp. 330–334.
- ^ Schudel, Gregg; Smith, David (2007-12-29). Router Security Strategies: Securing IP Network Traffic Planes. Pearson Education. ISBN 978-0-13-279673-6.
External links
[edit]Router (computing)
View on GrokipediaFundamentals
Definition and Role
A router is a networking device that forwards data packets between computer networks by performing traffic directing functions, receiving incoming packets, analyzing their destination addresses, and sending them toward their intended recipients across interconnected networks.[1] This core capability allows routers to serve as essential intermediaries in modern data communication infrastructures. In network environments, routers play a pivotal role in enabling communication between distinct networks, such as connecting a local area network (LAN) to a wide area network (WAN), thereby facilitating internetworking where multiple disparate systems can exchange information seamlessly.[11] They manage traffic flow by evaluating network conditions and selecting optimal paths for packets, which helps prevent congestion and ensures reliable data delivery.[2] Additionally, routers support broader internetworking by routing packets between autonomous networks using protocols like IP, forming the backbone of the global Internet.[12] Routers are distinguished from related devices like switches and hubs: while switches facilitate communication within a single network at Layer 2 of the OSI model using MAC addresses for intra-network forwarding, and hubs simply broadcast data indiscriminately at Layer 1, routers operate at Layer 3 of the OSI model, employing IP addresses to make intelligent decisions for inter-network routing.[13][14] This Layer 3 functionality allows routers to connect and segment multiple networks effectively. The key benefits of routers include enhanced scalability to accommodate growing network sizes and user demands, path optimization to minimize latency and resource usage, and network segmentation that promotes efficiency by isolating traffic segments while maintaining secure isolation between them.[15] These attributes make routers indispensable for building robust, expandable communication systems.Basic Components
A typical network router consists of several key hardware elements that enable its function in directing traffic between networks. The control plane, often powered by a central processing unit (CPU) and associated memory, handles routing decisions and maintains routing tables that store information about network paths.[16] This component processes control messages and updates the router's configuration to adapt to network changes. The data plane, responsible for high-speed packet forwarding, typically employs application-specific integrated circuits (ASICs) or dedicated forwarding engines to inspect and route packets efficiently without involving the CPU for every packet.[17] Interfaces form the physical connection points, including Ethernet ports for local area network (LAN) connectivity and wide area network (WAN) modules such as serial or fiber optic interfaces for linking to external networks.[18] On the software side, routers run a specialized operating system, such as Cisco IOS, which manages hardware resources, provides user interfaces for configuration, and oversees overall system operations.[16] Routing tables, stored in memory, serve as the core data structure for path selection, containing entries for destinations, next-hop addresses, and metrics derived from routing protocols.[19] Firmware, embedded in hardware components like interfaces, facilitates low-level configuration and initialization, ensuring compatibility and boot processes.[20] Power and cooling systems are critical for maintaining router reliability in continuous operation environments. Redundant power supplies, often AC or DC units with hot-swappable designs, provide failover to prevent downtime during failures, while cooling mechanisms such as fan trays or heat sinks dissipate heat generated by high-throughput processing.[21] These systems ensure stable performance in data centers or enterprise settings where 24/7 availability is essential.[22] A typical block diagram of a router illustrates these components' interconnections: input/output interfaces connect to external networks on the periphery, feeding packets to the data plane's forwarding engine for initial processing; the control plane's CPU and memory interact centrally to update routing tables, which the data plane references for forwarding decisions; power supplies and cooling elements support the entire chassis, with lines indicating data flow from ports through the engine to output ports.[16]Historical Development
Early Innovations
The foundational concepts of routing in computing emerged in the 1960s amid efforts to create resilient communication networks capable of surviving nuclear attacks. In 1964, Paul Baran, a researcher at the RAND Corporation, proposed packet switching as a method to divide messages into small, independent blocks for transmission across a distributed network, using adaptive store-and-forward routing to ensure redundancy and survivability.[23] This theory emphasized decentralized control and high connectivity, laying the groundwork for modern routing by prioritizing efficient path selection without central vulnerabilities.[24] Building on Baran's ideas, the U.S. Department of Defense's Advanced Research Projects Agency (DARPA) funded the development of early network prototypes in the late 1960s to test packet-switched communications. In 1968, DARPA awarded a contract to Bolt Beranek and Newman (BBN) to design and build Interface Message Processors (IMPs), which served as the first operational packet-switched routers for the ARPANET, connecting host computers via 50 kbps leased lines.[25] These IMPs, deployed starting in 1969, fragmented messages into 1,024-bit packets and routed them using a subnetwork of dedicated hardware, marking the initial realization of Baran's distributed architecture.[26] Communication between hosts and IMPs relied on the 1822 protocol, specified in BBN Report 1822, which standardized message formatting, error detection, and retransmission to enable reliable host-to-network interfacing.[26] The 1970s saw key advancements in routing for internetworking heterogeneous networks. In 1974, Vint Cerf and Robert Kahn published a seminal paper outlining the Transmission Control Protocol (TCP), which introduced gateway-based routing concepts to interconnect disparate packet-switched networks by reformatting packets and deriving optimal paths through destination addressing.[27] This work formalized routing as a process of inter-network path selection, influencing the evolution from ARPANET's IMPs to broader connectivity. In 1975, BBN developed the first dedicated IP routers under DARPA's internetting program, enabling experimental transmission of IP packets across multiple networks and demonstrating practical gateway functionality for protocol translation and forwarding.[25] By the 1980s, routing technology transitioned toward commercialization and standardization. Cisco Systems was founded in 1984 by Leonard Bosack and Sandy Lerner at Stanford University to commercialize multi-protocol routing software originally developed for campus networks.[28] In 1986, Cisco released its first commercial router, the Advanced Gateway Server (AGS), a multi-protocol device capable of interconnecting diverse networks using software-based routing tables, which rapidly gained adoption in academic and research environments.[28] Concurrently, distance-vector routing protocols like the Routing Information Protocol (RIP) were formalized and adopted; originating from Xerox's XNS in the 1970s, RIP was standardized in RFC 1058 in 1988 as a simple hop-count-based algorithm for exchanging routing tables among routers in small to medium networks.[29]Modern Advancements
The 1990s marked a pivotal era for router evolution as the internet scaled from research networks to a global infrastructure, with the Border Gateway Protocol (BGP) emerging as the cornerstone for internet-scale routing. Initially proposed in 1989, BGP underwent significant revisions, including BGP-2 in 1990 (RFC 1163) and BGP-4 in 1994 (RFC 1771), which introduced path attributes and policy-based routing to manage inter-autonomous system exchanges efficiently amid exponential growth in connected networks. This protocol's adoption enabled routers to handle complex peering arrangements between ISPs, supporting the internet's expansion to millions of hosts by decade's end. [30] Concurrently, the introduction of multilayer switches in the mid-to-late 1990s, such as Madge Networks' hardware-based routing solution in 1997, began blurring distinctions between routers and switches by integrating Layer 3 routing capabilities into high-speed Layer 2 switching fabrics. [31] A landmark event was the founding of Juniper Networks in 1996 by Pradeep Sindhu, which pioneered silicon-based routers optimized for core internet backbones, delivering superior throughput and challenging incumbent vendors through custom ASIC designs. [32] Entering the 2000s, router architectures advanced to meet surging data demands from broadband proliferation, with high-performance models leveraging Application-Specific Integrated Circuits (ASICs) to achieve gigabit Ethernet speeds and beyond. Companies like Broadcom and Fulcrum introduced ASICs in the mid-2000s that enabled terabit-scale switching capacities in routers, reducing latency and power consumption while supporting wire-speed forwarding for multimedia traffic. [33] Integration of Quality of Service (QoS) features became standard, allowing routers to classify, queue, and prioritize packets for real-time applications like VoIP, as exemplified by Cisco's implementations that ensured low jitter and packet loss in enterprise environments. [34] Similarly, Multiprotocol Label Switching (MPLS), standardized in RFC 3031 in 2001, was widely integrated into routers during this decade, enabling efficient traffic engineering through label-based forwarding that improved scalability for VPNs and converged IP services without overhauling existing infrastructures. [35] The 2010s and 2020s ushered in transformative trends, including Software-Defined Networking (SDN) for routers, which decoupled the control plane from the data plane to enable centralized programmability and dynamic reconfiguration. OpenFlow, introduced in 2008 and gaining traction through the decade, allowed SDN controllers to directly manage router forwarding tables, facilitating innovations like automated load balancing in data centers, as demonstrated in early deployments by Google using OpenFlow-based switches. [36] IPv6 adoption in routers accelerated during this period, driven by IPv4 address depletion; global connectivity rose from under 1% in 2013 to approximately 43% by 2025, with hardware vendors like Cisco and Juniper embedding dual-stack support to ease transitions in enterprise and ISP networks. [37] In parallel, edge computing routers evolved to incorporate artificial intelligence for traffic prediction, using machine learning models to forecast congestion and optimize routing in distributed environments, particularly enhancing 5G deployments by reducing latency in real-time analytics. [38] A critical milestone in the 2020s has been the integration of routers into 5G mobile backhaul, where they handle high-bandwidth fronthaul and midhaul links via microwave and fiber, supporting terabit-per-second capacities essential for ultra-reliable low-latency communications in urban and rural deployments. [39]Operational Principles
Packet Processing
When a router receives a data packet, the process begins at the ingress interface, where the physical layer detects the incoming frame from the connected network. The Layer 2 header, such as an Ethernet header, is stripped away to expose the Layer 3 payload, typically an IP packet.[40] Error checking is performed at the link layer, including verification of the cyclic redundancy check (CRC) to ensure the frame's integrity; if errors are detected, the packet is discarded silently without generating an ICMP error message.[41] This reception phase ensures only valid packets proceed to further processing, preventing corrupted data from propagating through the network.[42] Following reception, the router examines the IP header of the packet, focusing on key fields like the destination IP address and Type of Service (ToS).[43] A lookup is then conducted in the forwarding information base (FIB), which serves as the router's forwarding table, using the longest prefix match algorithm to determine the next-hop interface and address.[44] This process identifies the optimal egress path based on the packet's destination, with considerations for classless inter-domain routing (CIDR) and ToS precedence if applicable.[45] If no matching route is found, the packet is dropped, and an ICMP Destination Unreachable message may be sent to the source, depending on configuration.[46] Once the next hop is determined, the router modifies the packet as necessary before egress. The Time-to-Live (TTL) field in the IP header is decremented by at least one to prevent infinite loops; if it reaches zero, the packet is discarded, and an ICMP Time Exceeded message is generated.[47] If the packet exceeds the maximum transmission unit (MTU) of the outgoing interface and the Don't Fragment (DF) flag is not set, fragmentation occurs, splitting the packet into smaller segments with updated headers.[48] The IP header checksum is recalculated, and a new Layer 2 header is encapsulated, replacing the source and destination MAC addresses to match the next-hop link.[49] The modified packet is then queued for transmission on the egress interface.[42] To handle traffic bursts and congestion, routers employ queuing and buffering mechanisms at the output interfaces. Buffers temporarily store packets when the outgoing link is saturated, preventing immediate drops.[50] First-In-First-Out (FIFO) queuing serves as the default on many interfaces, processing packets in arrival order without prioritization, which can lead to high latency for delay-sensitive traffic during bursts.[50] For better management, priority queuing (PQ) or weighted fair queuing (WFQ) may be configured, assigning packets to multiple queues based on precedence or class of service (CoS), ensuring low-latency handling for critical traffic like voice while buffering lower-priority data.[50] If buffers overflow, tail drops occur, potentially triggering congestion avoidance techniques like random early detection (RED).[51] Consider a typical IPv4 packet flow from source host A (IP: 192.168.1.10) to destination host B (IP: 10.0.0.20) via a router R. The packet arrives at R's ingress interface (e.g., GigabitEthernet0/0), where the Ethernet frame is received, CRC validated, and the Layer 2 header stripped.[40] The router inspects the destination IP, performs a FIB lookup matching 10.0.0.0/8 to egress interface GigabitEthernet0/1 with next hop 172.16.0.2, and decrements TTL from 64 to 63.[47] Assuming no fragmentation is needed, the packet is queued in a WFQ output queue on the egress interface, prioritized based on its ToS value, and transmitted with a new Ethernet header addressed to the next-hop MAC.[50] If the queue is full or no route exists, the packet would be dropped without further forwarding.[46]Routing Decisions
Routers construct routing tables to store information about network paths, enabling them to forward packets toward destinations efficiently. Static routes are manually configured by administrators and do not change unless explicitly modified, providing simplicity and predictability in stable environments.[52] In contrast, dynamic routes are automatically learned and updated through routing protocols, adapting to network topology changes such as link failures or additions.[52] The convergence process in dynamic routing involves routers exchanging updates until all tables reflect a consistent view of the network, minimizing disruptions during topology shifts; this can take seconds to minutes depending on the protocol's design.[53] Key routing protocols employ distinct algorithms to populate these tables. Distance-vector protocols, such as the Routing Information Protocol (RIP), operate by having routers share their entire routing tables with neighbors periodically; each router selects paths based on the hop count metric, where the distance is the number of intermediate routers to the destination.[53] RIP limits paths to 15 hops to prevent infinite loops from counting errors.[53] Link-state protocols, exemplified by Open Shortest Path First (OSPF), flood link-state advertisements across the network to build a complete topology map at each router; OSPF then applies Dijkstra's algorithm to compute the shortest path tree from the router to all destinations.[54] Routing decisions rely on metrics that quantify path quality, including bandwidth (available throughput), delay (propagation time), and cost (administrative weighting).[55] For instance, OSPF defaults to a cost metric inversely proportional to link bandwidth, calculated as the reference bandwidth divided by the interface speed, ensuring higher-capacity links are preferred.[54] Policy-based routing (PBR) extends this by allowing administrators to override protocol decisions with custom rules, such as directing traffic based on source address or application type to optimize traffic engineering.[56] To prevent routing loops, where packets cycle indefinitely, protocols implement specific techniques. In distance-vector routing like RIP, split horizon avoids advertising routes back to the neighbor from which they were learned, while poison reverse enhances this by explicitly advertising infinite metrics (e.g., 16 hops in RIP) for those routes to accelerate invalidation.[53] For inter-domain routing, Border Gateway Protocol (BGP) uses the AS_PATH attribute—a sequence of autonomous system numbers traversed—to detect and discard loops if an AS appears twice in the path.[57] OSPF's use of Dijkstra's algorithm formalizes shortest-path computation. The total path cost is the sum of individual link weights along the route: where is the weight of edge .[54] The algorithm's pseudocode, as applied in OSPF, initializes distances and predecessors, then iteratively relaxes edges from the lowest-distance unvisited node until all are processed:1. Create a [priority queue](/page/Priority_queue) Q and initialize distance[v] = ∞ for all v ≠ s, distance[s] = 0
2. Add s to Q
3. While Q is not empty:
a. Extract u with minimum distance[u]
b. For each neighbor v of u:
i. If distance[v] > distance[u] + w(u,v):
ii. distance[v] = distance[u] + w(u,v)
iii. predecessor[v] = u
iv. Update priority of v in Q
4. The shortest paths are given by following predecessors from each node back to s
1. Create a [priority queue](/page/Priority_queue) Q and initialize distance[v] = ∞ for all v ≠ s, distance[s] = 0
2. Add s to Q
3. While Q is not empty:
a. Extract u with minimum distance[u]
b. For each neighbor v of u:
i. If distance[v] > distance[u] + w(u,v):
ii. distance[v] = distance[u] + w(u,v)
iii. predecessor[v] = u
iv. Update priority of v in Q
4. The shortest paths are given by following predecessors from each node back to s