G64INC Introduction to Network Communications
Ho Sooi Hock
Wide Area Networks
Outline
• Overview of WANs & Switching
• Packet Forwarding – Datagram– Virtual Circuit
• WAN Hierarchical Addressing
• Dynamic Routing Computation– Link State– Distance Vector
• Performance Characteristics
Wide Area Networks• A WAN (Wide Area Network) spans a large geographical area,
often across a state, country or continent• Most WANs are constructed using the following two distinct
components: transmission lines and switching elements• WAN topologies, normally consisting of point-to-point links
between switches, are chosen to accommodate expected traffic and to provide network redundancy
• As WANs are used to connect hosts owned by different organisations and users, internetworking of heterogeneous networking technologies is expected
• WANs can be classified according to ownership of the above two components– public, private or virtual private network (VPN)
Network Ownership• Private network
– owned by the people who use it– usually LANs combined with private switches and leased lines or
virtual circuits
• Public network– owned and operated by an independent service provider to
provide potential communications between any pair of subscribers
• Virtual private network– combines the features of private and public networks.
– uses public network for connectivity but ensures privacy of network traffic for an organisation
– connections, called tunnels, are used as point to point link between sites with data encryption
Switching Technologies
Taxonomy of switched networks
Packet vs. Circuit Switching
• In circuit switching, the resources need to be reserved during the setup phase; the resources remain dedicated for the entire duration of data transfer until the teardown phase.
• Circuit switching is wasteful for data communications as exchange of short burst of data is involved
• Packet switching takes advantage of data burstiness by allocating resources on demand.
• Benefits of packet switching are:– interleaving bursts from many users to maximise the use of the shared
network– helps in detection and recovery of transmission errors– gives fair access for a shared connection between many computers– improves transmission time
Packet Switching Concepts
• Store and forward– each switch receives packets, queues them in its memory and then sends
them out when possible (i.e. when the trunk is available)– many computers can send packets simultaneously
• Packet switched networks use a form of statistical TDM
Packet Forwarding Methods• Connectionless (Datagram)
– adds a destination and sequence number to each packet– individual packets can follow different routes– packets reassembled at destination (by using their sequence
numbers)– simpler implementation with less overhead & delay
• Connection Oriented (Virtual Circuit (VC))– establishes an end-to-end circuit between the sender and receiver
(before the packets are sent) – all packets for that transmission take the same route over the
virtual circuit established– same physical circuit can carry many VCs– reliable service, ease of accounting, problem notification &
isolation
WAN Addressing
• A WAN technology defines a frame format and assigns addresses to its attached networking devices
• Addressing is hierarchical, e.g. – first part identifies site or location
– second part identifies host or computer at the site
Next Hop Forwarding• Packet switch needs not have complete
information of the whole network. Only knowledge of how to reach the next switch (next hop) is held in the routing table – reduces memory requirement
• From the destination address, a packet switch determines whether it is for local ports or another packet switch – allows fast and efficient routing decisions
• Source independence– next hop to destination does not depend on
source of packets Routing table in a datagram network
Routing Table - Examples
• Hierarchical addresses simplify routing
– smaller routing table
– more efficient look up
Virtual Circuit Networks• A virtual circuit network is a cross between a circuit switched
and a datagram network. It has some characteristics of both.
Source-to-destination data transfer in a virtual-circuit network
all packets belonging to the same source and destination pair travel the same path; but packets may arrive at the destination with different delays if resource allocation is on demand.
Addresses and Connection Identifiers
• Connection identifiers may be used instead of full addresses
• For example, ATM: – 424 bits packets (53 octets)
– 160 bits for addresses
– 24 bits for connection identifiers
– connection identifier local significant only
– shorter as compared to the full address
Permanent and Switched Connections
• Permanent connection – established manually– held in non-volatile memory - persistent
• Switched connection – established when needed
WANs and Graphs• A WAN can be modelled as a graph
– nodes and edges
Default Route
• A routing table can be further simplified by including (at most) one default route
Routing in a WAN• Large WANs use interior (backbone) switches and exterior (edge)
switches
• Their routing tables must guarantee the following: – universal routing i.e., there must be a next hop for every possible destination
– optimal routes i.e., the next hop must point to the “shortest path” to the destination
Popular routing protocols
Routing Table Computation
• Manual computation is not feasible for large networks, automatic generation is the solution
• Static routing – program computes and installs routes when a switch
boots; these routes do not change
• Dynamic routing – program builds an initial table when the switch boots;
this is altered as network condition changes
Link State Routing
• Each switch shares its knowledge of its neighbourhood with every other switches in the network. The algorithm works as follows: – Instead of sending its entire routing table, a switch sends
information about its neighbourhood only.
– Each switch sends this information to every other switch on the network, not just its neighbours. Every switch that receives the information packet sends copies to all its neighbours. Finally, every switch will receive a copy of the same information.
– Each switch sends out information about the neighbours when there is a change in the network.
– Each switch then applies Djikstra’s algorithm to its link state database
Computing the Shortest Path
• WAN modelled as nodes and edges in a graph• Dijkstra’s algorithm – find the distance from a source
node to each of the other nodes in a graph• Run this for each switch and create next hop routing
table as part of the process• “Distance” represented by weights (costs) on edges
– indication of the desirability of sending traffic over that link, e.g. hop count, capacity, delay and traffic
– problem is to find the lowest cost (shortest) path between any two nodes
Dijkstra’s Algorithm
• Data structure to store information about the graph (nodes and edges)
• Integer labels for the nodes [1, 2, ….n]• Three data structures:
– current distance to each node - array - D[1, 2,…n]
– next hop for each node - array - R[1, 2…n]
– set of remaining nodes - linked list - S
• Weight (i,j) function (infinity if no edge)
Given:
a graph with nonnegative weight assigned to each edge and a
designated source node
Compute:
the shortest distance from the source node to each other node
and a next hop routing table
Method:
Initialise the sets S to contain all nodes except the source
Initialise D so the D[u] = weight(source, u) if there is an edge
from the source to u and infinity otherwise
Initialise R so that R[v] = v if there is an edge from the source
to v and zero otherwise
while ( set S is not empty ) { choose a node u from S such that D[u] is minimum if ( D[u] is infinity ) { error: no path exists to nodes in S; quit } delete u from set S for each node v such that (u,v) is an edge { if ( v still in S ) { c = D[u] + weight (u,v); if ( c < D[v] { D[v] = c; R[v] = R[u]; } } }}
Distance Vector Routing• Each switch periodically shares its knowledge about the
entire network with its neighbours. The algorithm works as follows: – Each switch collects information about the network and sends
this knowledge to its neighbours. At the outset, this information may be sparse. How much it knows, however is unimportant. It sends whatever it has.
– It send its knowledge to only those switches that have direct links. This information is received and used by each neighbouring switch to update its knowledge about the network.
– The information sharing happens at regular intervals, e.g. every 30 secs and it occurs whether or not the network has changed since the last exchange.
Given:
a local routing table, a weight for each link that connects to
another switch and an incoming routing message
Compute:
an updated routing table
Method:
maintain a distance field in each routing table entry
initialise routing table with a single entry that has the
destination equal to the local packet switch, the next hop
unused and the distance set to zero
Distance Vector Algorithm
repeat forever { wait for the next routing message to arrive over the network; let the sender be switch N for each entry in the message { let V be the destination in the entry and D the distance
compute C as D plus the weight of the link over which the message arrived
examine and update the local routing table { if ( no route exists to V ) { add an entry to the local table for V with next hop N and distance C } else if ( a route exists with next hop N) { replace existing distance with C } else if ( route exists with distance > C ) change next hop to N and distance to C } }}
Distance Vector Routing
Initialization of tables in distance vector routing
Distance Vector Routing
Updating in distance vector routing
Distance Vector Routing
Routing tables after two updates
Performance Characteristics
• Delay – time for one bit to travel across the network
– may vary with location on the network
– interested in maximum, average and variation
– results from propagation delays, switching delays, access delays and queuing delays
• Throughput – rate at which data can be sent in bits per second (bps)
into a network
– hardware bandwidth vs. effective throughput
Relating Delay to Utilization
• Delay and throughput are related due to congestion (Queuing Theory)
D0
D = -----------
( 1 – U )
D0 = delay when idle, U = utilisation, D = current delay
Transmission and Propagation
• Performance of media can be measured in bandwidth, propagation speed, propagation time
• Throughput: How fast data can pass through a point in the medium
• Propagation speed: The distance a signal (or a bit) can travel through a medium in one second
Delay-Bandwidth Product
• Delay-bandwidth product– the volume of data that can be present on the
network, i.e. in transit at any one time
– for good performance, the receiver’s window must be at least as large as the bandwidth-delay product
• Jitter– delay variation between packets
– important for time critical applications
– jitter must be kept small to ensure quality
Example WAN Technologies
Read Comer’s book chapter on WAN Technologies and Dynamic Routing
• ARPANET• X.25• Frame Relay• SMDS• ATM
Summary• WAN can span arbitrary distances and
interconnect arbitrarily many computers• WAN uses packet switches and point to point
connections• Packet switches use routing tables and store-and-
forward operation to deliver packets to destination
• Hierarchical addressing and default routing are used for efficient table lookup
• Graph algorithms can be used to compute routing tables
• Many WAN technologies exist
Acknowledgements
Most lecture slides used in this presentation are adopted from the same module taught in Nottingham, UK Campus, with addition of diagrams from the reference texts by Douglas E. Comer and A. Forouzan.