Wide Area Networks - Lecture 7

These Notes are divided into hyperlinked sections

Introduction
Network Layer
Services provided to the transport layer
Connection oriented approach
Connectionless Approach
Network layer organisation
Virtual Circuits
Datagrams
Routing Decisions
Routing algorithm properties
Classes of Algorithms
The Optimality Principle
Static Routing
Conclusion
Further Reading


Introduction

This lecture will cover the following points:


Network Layer

To recap upon the functions of the data-link layer, its job is to take frames or messages from one end of a piece of wire to the other. The network later exists to perform the more complex task of carrying packets from the source to the destination, a task which can involve multiple hops across routers on the journey.

Thus, the network layer is the lowest layer of our protocol stack that deals with end-to-end transmission.

In order that it might accomplish this task, the network layer must be aware of the topology of the communication subnetwork ( this is the set of all routers) and then choose the most appropriate route through it. 


Services provided to the transport layer

The network layer provides services to the transport layer at the network layer/ transport layer. This interface is a Service Access Point SAP. This is often an important interface in many computer systems because it is often the interface between the customer and the carrier. This is at the boundary of the customer's subnet.

Thus, the carrier operates its own versions of physical, datalink and network protocols. The responsibility of the carrier is to deliver packets that have been passed to it by the customer (transport layer).

The network layer services have been designed so that:

The services are independent of the subnet technology (FO, satellite, cable etc.)

The transport layer is shielded from the number, type and complexity of the subnets present.

The network addresses that are made available to the transport layer must use a uniform numbering plan.

Two separate designs are possible here and are supported by two factions. The telecoms community prefers a connection oriented service whilst the datacomms community prefers the connectionless approach. 


Connection oriented approach

This involves a network layer process on the sending side setting up a connection to its peer entity on the receiving side. This connection is given a specific numerical identifier and is used until all data have been transferred. The connection is then released.

When the connection is set up, both end entities negotiate parameters between themselves e.g. quality and cost of the service.

Communication is in both directions and all packets are delivered in the sequence that they were sent.

Flow control is automatically provided to prevent a fast sender from overwhelming a slower receiver

The majority of the complexity required for data delivery resides within the network layer, i.e. is the responsibility of the carrier. 


Connectionless Approach

Given that computer networks are inherently unreliable, hosts (end points) should recognise this fact and implement flow and error control themselves. This leads to the idea that the network service should be connectionless. This means no packet ordering or flow control as the hosts will do that anyway. Each packet then needs to carry its full destination address.

The complexity here is in the end points (hosts) of the communication process. Computing power has become cheap and so this is easily implemented

We now have two contrasting approaches to packet delivery:

Connection oriented and reliable

Connectionless and unreliable.

Two real examples are the ATM networks which are the former and the Internet which is the latter.

TCP/ IP can be run over ATM networks (RFC 1577). The end points of the ATM network set up a connection and then the TCP/ IP packets are segmented and sent over the ATM link. This is wasteful of bandwidth because the IP packets contain the entire mechanism for re-ordering out-of-order packets, yet the ATM network guarantees in-order delivery.


Network layer organisation

The two approaches to the network layer described above are implemented using virtual circuits (these are numbered) and datagrams respectively. 


Virtual Circuits

Once a source-destination route has been chosen, this is used for all data transfer and terminated at the end of the data transfer. Because the VC has already been established, this means that the routers must maintain a table of all virtual circuits and the numbering of the circuits, so that an arriving packet on a particular port may be identified by its VC/ port pair and then forwarded to the appropriate outgoing port. The numbers chosen for VCs have local significance only and change at each router. The routers have a pool of numbers available and at call set-up, routers allocate the lowest free number to the VC which will remain significant from that router to the next router only.

In addition to this, all processes are required to inform the network when the use of the VC has ceased so that the VC may be removed from all router tables and free system resources. 


Datagrams

No routes are worked out in advance (even over connection oriented networks). Each packet is routed independently of all other packets and there is no requirement that any packet follows the same path as its predecessor or successor. This does involve the network nodes having to process each packet individually, but this also leads to networks that are more resilient to failure and congestion than VC networks.

Routers here have a table to help the router determine the outgoing line that is in the direction of the destination. The datagrams must contain the complete address of the destination, 12 bytes or more. When a packet arrives, the router looks up the outgoing line to use and then sends the packet on that line.

If a router crashes, all those packets that were in the router that had been acknowledged will be lost. The unacknowledged packets will be retained by the previous router.

When congestion occurs, the route for the datagrams may be altered dynamically.
 
 
Issue Datagram Subnet VC Subnet
Circuit set-up Not needed Required
Addressing Packets contain full destination and source address Packets contain a short VC number
State Information Subnet does not hold state information Each VC requires subnet table space
Routing Packets routed independently Route worked out at set-up; packets follow this route
Effect of router failures None, but for packets lost in crash All VCs passing through the router are lost
Congestion control Difficult Easy if buffers can be allocated in advance for each VC

Table 7.1  Summary of Datagram versus Virtual Circuit
 

Depending on the type of data to be transferred will depend the type of service that is most efficient. If the data is brief e.g. credit card verification, the task of setting up a VC will dwarf the data to be sent.

Two types of VC exist, PVC permanent virtual circuit - set up by hand and SVC switched virtual circuit, set up on demand.
 
 
Upper Layer
Subnet Type
 Delivery Method Datagram Virtual Circuit
Connectionless UDP over IP UDP over IP over ATM
Connection Oriented TCP over IP AAL1 over ATM

Table 7.2


Routing Decisions

Regardless of whether we discuss a connectionless or a VC network, routing has to be done either for each datagram or at the set-up of each VC. This work is accomplished by a routing algorithm. In a VC network this is sometimes known as session routing. 


Routing algorithm properties

Desirable properties of routing algorithms.

  1. Correctness - the packets must arrive correctly
  2. Simplicity - the algorithm must be simple to implement
  3. Robustness - the network must be able to withstand local crashes and failures and changes of topology without undue inconvenience
  4. Stability - the algorithm must not fail
  5. Fairness - all users must have equal access to the network
  6. Optimality - increase throughput, reduce delays, reduce number of hops etc.
Classes of Algorithms

There are two main classes of routing algorithms available. The static routing (non-adaptive algorithm) type require that all routes are worked out in advance and then sent to all routers. This is good for small networks.

Dynamic or Adaptive algorithms change their routing information depending on the state of the network and optimisation parameters such as congestion, cost of links, number of hops, estimated transit time etc. The routers may gather their information from their neighbouring routers or from all routers.


The Optimality Principle.

If the optimum path between two routers A and B exists and a router C lies on this path, then the optimal path from B to C also falls upon the same path. Consequently, the set of optimal routes from all sources to a given destination forms a tree rooted at the destination. Such a tree is known as a sink tree.

The goal of all routing algorithms is to discover and use the sink trees for all routers. Because a sink tree contains no loops, three will be a finite route between any two end points with a finite number of hops. However, links and routers can go down and come up again at any time so the network topology will change and therefore different routers will have differing ideas about the current state and therefore topology of the network. 


Static Routing

Shortest path routing uses a graph of the network with each node of the graph representing a router and each arc of the graph representing a communication line. The metric that is used here can be number of hops, distance between routers and time to traverse a path. Generally, the labels on arcs are calculated as functions of distance, bandwidth, average traffic, communication cost, mean queue length and measured delay.

Several algorithms exist to compute the shortest path between two nodes of a graph.

Dijkstra's algorithm  Best viewed with IE


Conclusion

The Network layer is the lowest layer of our communications model to deal with end-to-end communications.

The network layer and datalink and physical layer are implemented by the WAN carrier. The customer is provided with a NSAP to allow the connection of the company LAN to the WAN.

There are two distinct approaches to Network routing, Datagram and Virtual Circuit.

For a network to calculate the best route between two points it is necessary to implement a routing algorithm.

Two classes of algorithm exist to perform the task of discovering network topology, static and dynamic.

If the method of topology discovery involves flooding a network, great care must be taken not to allow the messages to fill the network and bring it to a halt.


Further Reading

Tannenbaum, Computer Networks, Third Edition:
 

Design issues, services provided to Transport layer Tannenbaum 340

Internal organisation of Network layer 342

Comparison of Virtual circuit and Datagram Subnets

Routing Algorithms 345

Static; Shortest path routing; Flooding

Flow-based routing 353

Dynamic; Distance-vector routing; Count to infinity problem; Split Horizon hack 358

Link state routing 359

Learning about adjacent nodes; Building link state packets; Distributing link state packets; Computing new routes

Hierarchical Routing 365

Broadcast routing, flooding, multidestination routing

Multicast Routing 372

Congestion control algorithms

Principles of congestion control 376

Traffic shaping; Leaky bucket algorithm; Token bucket algorithm; Congestion control in VC subnets

Load Shedding 390

Internetworking in the Internet 412

Datagram within Internet; IP protocol and addressing; IP addresses, ARP, RARP Interior Gateway Routing Protocol OSPF(open shortest path first )424

Exterior Gateway Routing Protocol BGP 429

Network Layer in ATM 449

Cell formats; Connection set-up

Routing and switching 455

Service Categories 458

Traffic shaping and congestion control 467



 

(c) MMClements 2001                     Back to Top of Page