routing
play

Routing Routing is done by the network layer protocol to guide - PowerPoint PPT Presentation

Routing Routing is done by the network layer protocol to guide packets through the communication subnet to their destinations The time when routing decisions are made depends on whether we are using virtual circuits or datagrams connections


  1. Routing Routing is done by the network layer protocol to guide packets through the communication subnet to their destinations The time when routing decisions are made depends on whether we are using virtual circuits or datagrams connections In a datagram network two successive packets between the same pair of source and destination nodes may travel along different routes and routing decisions is made for each individual packet In virtual circuit network, a routing decision is made when each virtual circuit connection is set up Information Networks – p.1/35

  2. Routing Routing requires coordination between all the nodes of the subnet, rather than just the nodes sharing a common media such as in multiaccess protocols The routing system must cope with link and node failures, redirecting traffic and updating the databases maintained by the system To achieve high performance the routing algorithm may need to modify its routes when some areas within the network become congested We will mainly focus on selecting routes to achieve high performance and broadcasting routing-related information Information Networks – p.2/35

  3. Routing The two main functions performed by a routing algorithm are the selection of routes for various source and destination pairs of nodes and the delivery of packets to their correct destination once the routes are selected This second function is performed by using a variety of protocols and data structures (routing tables) We will focus on how to select routes and how it affects network performance The main performance measures that are affected by the routing algorithm is the throughput and average packet delay Information Networks – p.3/35

  4. Routing Routing interacts with flow control in determining these performance measures, as good routing keeps the delay low the flow control allows more traffic into the network The effect of good routing is to increase throughput for same value of average delay under high offered load and to decrease average delay per packet under low and moderate load In centralized algorithms all route choices are made at a central node, while in distributed algorithms the computation of routes is shared among the network nodes with information exchanged between them as necessary Information Networks – p.4/35

  5. Routing In static routing the path used by sessions of each source-destination pair is fixed regardless of traffic conditions, the routes only change in response to link or node failure In adaptive routing the paths used to route traffic between source-destination pairs change occasionally in response to congestion To inform nodes about changes in network topology due to link failures and repairs it is necessary to transmit this to the entire network using a broadcast Broadcasts can also be used as a primitive form of routing packets from a single transmitter to a subset of receivers (or possibly just one receiver) Information Networks – p.5/35

  6. Broadcasting, flooding algorithm Broadcasting is generally rather inefficient but may be sensible because it’s simple or because the receivers’ location within the network is unknown A widely used broadcasting method is flooding, the source node sends its packet to its neighbours, the neighbours relay it to their neighbours, and so on until the packet has reached all nodes in the network To limit the number of transmissions a node will not relay the packet back to the node from which the packet was obtained, and a node will send the packet to its neighbours at most once; this can be ensured by including in the packet the origin node ID and a sequence number Information Networks – p.6/35

  7. Broadcasting, flooding algorithm The sequence number is increased with each new packet issued by the origin node By storing the highest sequence number received for each origin node, and not relaying packets with sequence numbers less than or equal to the one stored a node can avoid transmitting the same packet more than once The total number of packet transmissions per packet broadcast lies between L and 2 L , where L is the number of bidirectional links in the network There is a problem with using sequence numbers when portions of the network become disconnected or malfunctions Information Networks – p.7/35

  8. Broadcasting, flooding algorithm When a complete or partial network reinitialization takes place (perhaps following a crash of one or more nodes) it may be necessary to reset the sequence numbers to 0, since a node may not remember the sequence number it was using before the crash Also the sequence number could be altered in a node due to malfunction or erroneous transmission Some way to reinitialize sequence numbers is needed, one way to do this is to include age field in the broadcast packet, thus each node can calculate the age of the information about the sequence number and use a timeout to supersede aged messages with recent ones regardless of sequence value Information Networks – p.8/35

  9. Broadcasting, flooding algorithm Aging information in combination with periodic updates guarantees that up-to-date information will be available eventually The age field indicates how long the broadcast packet has been circulating in the network, a packet whose age exceeds some limit are not transmitted further It is also possible to use broadcast without sequence numbers by using an algorithm that updates the topology concurrently with the information in the broadcast packet in a manner similar to methods we will describe for updating nodes with shortest path information (network topology) Information Networks – p.9/35

  10. Broadcasting, spanning tree Another broadcast method is to use a spanning tree, which is a connected subgraph of the network that includes all nodes and has no cycles Broadcasting on a spanning tree is more efficient than flooding, it requires N − 1 packet transmissions per packet broadcast, where N is the number of nodes The price is that we need to maintain and update the spanning tree of the network Given a spanning tree one can perform selective broadcasting, that is, transmission from a source to a limited set of destinations, given that each node knows which of its spanning tree links lead to any given destination Information Networks – p.10/35

  11. Shortest path routing Many routing algorithms are based on a notion of shortest path between two nodes Each communication link is assigned a positive number called its length, a link can have different length in each direction Each path (sequence of links) has a length equal to the sum of the lengths of its links A shortest path routing algorithm routes each packet along a minimum length path between the source and destination nodes The simplest possibility is for each link to have unit length, in which shortest path is minimum number of links (min-hop path) Information Networks – p.11/35

  12. Shortest path routing The length of a link may depend on its transmission capacity and its projected traffic load, the idea is that a shortest path should contain relatively few and uncongested links We may let the length of each link change over time and depend on the current congestion level of the link, then shortest path may adapt to temporary overloads and route packets around points of congestion A problem with this is that it introduces a feedback leading to instability of routing and oscillation of selected routes Information Networks – p.12/35

  13. Shortest path routing It is possible to damp these oscillations by adding a positive constant to the link lengths, this constant is known as a bias factor If the bias factor is large enough relative to the range of link lengths, the shortest path will be the min-hop path which is a static routing and cannot exhibit any oscillation and is totally insensitive to traffic congestion A possibility is to set the bias to the sum of average packet transmission time, processing delay and propagation delay of a link Another possibility is to damp oscillations by averaging link lengths over a longer period than shortest path updates Information Networks – p.13/35

  14. Interconnected Network Routing When interconnecting networks various interface devices are used, in the case of wide-area networks they are called gateways The gateways perform fairly sophisticated network tasks including routing and operate at the Internet sublayer of the network layer When interconnecting local area networks (LAN) it is possible to do it at the MAC sublayer with a primitive form of routing, these devices are called bridges LANs can also be connected with each other or wide area networks using more sophisticated devices called routers Information Networks – p.14/35

  15. Interconnected Network Routing Routers provide fairly advanced routing functions at network layer, possibly including adaptive and multiple-path routing One may view an interconnected network of subnets as a single large network where the interfaces (gateways, bridges, routers) are just additional nodes connected to two or more subnets Routing based on this model is called nonhierarchical and similar to routing in a wide area network It is also possible to view each subnet as a single node connected to interface nodes, this model is called hierarchical and consists of at least two levels Information Networks – p.15/35

Recommend


More recommend