Routing: Delivery Semantics
Routing: Delivery Semantics
Routing
Routing is the process of selecting paths in a network along which to send network traffic. Routing is performed for
many kinds of networks, including the telephone network (Circuit switching) , electronic data networks (such as the
Internet), and transportation networks. This article is concerned primarily with routing in electronic data networks
using packet switching technology.
In packet switching networks, routing directs packet forwarding, the transit of logically addressed packets from their
source toward their ultimate destination through intermediate nodes, typically hardware devices called routers,
bridges, gateways, firewalls, or switches. General-purpose computers can also forward packets and perform routing,
though they are not specialized hardware and may suffer from limited performance. The routing process usually
directs forwarding on the basis of routing tables which maintain a record of the routes to various network
destinations. Thus, constructing routing tables, which are held in the router's memory, is very important for efficient
routing. Most routing algorithms use only one network path at a time, but multipath routing techniques enable the
use of multiple alternative paths.
Routing, in a more narrow sense of the term, is often contrasted with bridging in its assumption that network
addresses are structured and that similar addresses imply proximity within the network. Because structured addresses
allow a single routing table entry to represent the route to a group of devices, structured addressing (routing, in the
narrow sense) outperforms unstructured addressing (bridging) in large networks, and has become the dominant form
of addressing on the Internet, though bridging is still widely used within localized environments.
Delivery semantics
Routing Schemes
anycast
broadcast
multicast
unicast
Routing 2
geocast
Topology distribution
Small networks may involve manually configured routing tables (static routing) or non-adaptive routing, while larger
networks involve complex topologies and may change rapidly, making the manual construction of routing tables
unfeasible. Nevertheless, most of the public switched telephone network (PSTN) uses pre-computed routing tables,
with fallback routes if the most direct route becomes blocked (see routing in the PSTN). Adaptive routing or
dynamic routing attempts to solve this problem by constructing routing tables automatically, based on information
carried by routing protocols, and allowing the network to act nearly autonomously in avoiding network failures and
blockages.
For (static routing) or Non-Adaptive routing there is no algorithm, and is manually engineered. The advantage of this
routing type is maximum computing resources are saved but are conditioned. Networks have to be prepared for
disaster, by additional planning. For larger networks, static routing is avoided.
Examples for (Dynamic routing) or Adaptive routing algorithms are Routing Information Protocol(RIP), Open
Shortest Path First(OSPF). Dynamic routing dominates the Internet. However, the configuration of the routing
protocols often requires a skilled touch; one should not suppose that networking technology has developed to the
point of the complete automation of routing.
Link-state algorithms
When applying link-state algorithms, each node uses as its fundamental data a map of the network in the form of a
graph. To produce this, each node floods the entire network with information about what other nodes it can connect
to, and each node then independently assembles this information into a map. Using this map, each router then
independently determines the least-cost path from itself to every other node using a standard shortest paths algorithm
such as Dijkstra's algorithm. The result is a tree rooted at the current node such that the path through the tree from
the root to any other node is the least-cost path to that node. This tree then serves to construct the routing table,
which specifies the best next hop to get from the current node to any other node.
Path selection
Path selection involves applying a routing metric to multiple routes, in order to select (or predict) the best route.
In the case of computer networking, the metric is computed by a routing algorithm, and can cover such information
as bandwidth, network delay, hop count, path cost, load, MTU, reliability, and communication cost (see e.g. this
survey [3] for a list of proposed routing metrics). The routing table stores only the best possible routes, while
link-state or topological databases may store all other information as well.
Because a routing metric is specific to a given routing protocol, multi-protocol routers must use some external
heuristic in order to select between routes learned from different routing protocols. Cisco's routers, for example,
attribute a value known as the administrative distance to each route, where smaller administrative distances indicate
routes learned from a supposedly more reliable protocol.
A local network administrator, in special cases, can set up host-specific routes to a particular machine which
provides more control over network usage, permits testing and better overall security. This can come in handy when
required to debug network connections or routing tables.
Multiple agents
In some networks, routing is complicated by the fact that no single entity is responsible for selecting paths: instead,
multiple entities are involved in selecting paths or even parts of a single path. Complications or inefficiency can
result if these entities choose paths to optimize their own objectives, which may conflict with the objectives of other
participants.
A classic example involves traffic in a road system, in which each driver picks a path which minimizes their own
travel time. With such routing, the equilibrium routes can be longer than optimal for all drivers. In particular, Braess
paradox shows that adding a new road can lengthen travel times for all drivers.
In another model, for example used for routing automated guided vehicles (AGVs) on a terminal, reservations are
made for each vehicle to prevent simultaneous use of the same part of an infrastructure. This approach is also
referred to as context-aware routing.[4]
The Internet is partitioned into autonomous systems (ASs) such as internet service providers (ISPs), each of which
has control over routes involving its network, at multiple levels. First, AS-level paths are selected via the BGP
protocol, which produces a sequence of ASs through which packets will flow. Each AS may have multiple paths,
offered by neighboring ASs, from which to choose. Its decision often involves business relationships with these
neighboring ASs,[5] which may be unrelated to path quality or latency. Second, once an AS-level path has been
selected, there are often multiple corresponding router-level paths, in part because two ISPs may be connected in
multiple locations. In choosing the single router-level path, it is common practice for each ISP to employ hot-potato
routing: sending traffic along the path that minimizes the distance through the ISP's own network—even if that path
Routing 5
Route Analytics
As the Internet and IP networks become mission critical business tools, there has been increased interest in
techniques and methods to monitor the routing posture of networks. Incorrect routing or routing issues cause
undesirable performance degradation, flapping and/or downtime. Monitoring routing in a network is achieved using
Route analytics tools and techniques
See also
Routing protocols
• Routing protocol
• Classless inter-domain routing (CIDR)
• MPLS routing
• ATM routing
• RPSL
• RSMLT
• Routing in optical mesh networks
Router Platforms
• Network operating system - NOS
• XORP - the eXtensible Open Router Platform
• Junos
• Cisco IOS
• NX-OS
• CatOS
References
[1] RFC 3626
[2] Count-To-Infinity Problem (http:/ / wiki. uni. lu/ secan-lab/ Count-To-Infinity+ Problem. html)
[3] http:/ / rainer. baumann. info/ public/ tik262. pdf
[4] Jonne Zutt, Arjan J.C. van Gemund, Mathijs M. de Weerdt, and Cees Witteveen (2010). Dealing with Uncertainty in Operational Transport
Planning (http:/ / www. st. ewi. tudelft. nl/ ~mathijs/ publications/ intinfra09. pdf). In R.R. Negenborn and Z. Lukszo and H. Hellendoorn
(Eds.) Intelligent Infrastructures, Ch. 14, pp. 355-382. Springer.
[5] Matthew Caesar and Jennifer Rexford. BGP routing policies in ISP networks (http:/ / www. cs. princeton. edu/ ~jrex/ papers/ policies. pdf).
IEEE Network Magazine, special issue on Interdomain Routing, Nov/Dec 2005.
[6] Neil Spring, Ratul Mahajan, and Thomas Anderson. Quantifying the Causes of Path Inflation (http:/ / www. cs. washington. edu/ research/
networking/ rocketfuel/ papers/ sigcomm2003. pdf). Proc. SIGCOMM 2003.
• Huitema, Christian (2000). Routing in the Internet, Second Ed.. Prentice-Hall. ISBN 0321227352.
• Kurose, James E. and Ross, Keith W. (2004). Computer Networking, Third Ed.. Benjamin/Cummings.
ISBN 0321227352.
• Medhi, Deepankar and Ramasamy, Karthikeyan (2007). Network Routing: Algorithms, Protocols, and
Architectures. Morgan Kaufmann. ISBN 0120885883.
External links
• Count-To-Infinity Problem (http://wiki.uni.lu/secan-lab/Count-To-Infinity+Problem.html)
• "Stability Features" (http://www.ba-stuttgart.de/~schulte/htme/55024.htm#HDR3) are ways of avoiding the
"count to infinity" problem.
• Cisco IT Case Studies (http://www.cisco.com/web/about/ciscoitatwork/case_studies/routing.html) about
Routing and Switching
Article Sources and Contributors 8
License
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/