CIS 725 Network Layer
This layer provides communication between any two nodes Uniform addressing scheme independent of the network technology Network layer Data Link layer
Problems to be addressed Routing Congestion control
Routing Processing nodes Switches/routers Communication links
Datagram routing Each packet is routed independently Unordered Unreliable
Virtual Circuit routing Set up a path for each connection All messages are sent over this path Ordered Reliable
Routing Table Routing table contains the next hop information At each node i, for each destination j, what is the next hop
Bellman-Ford Algorithm Distance table: Routing table Distance Vector Algorithms distance from i to j via k
Protocol at node i: On receiving routing table from k update column k of the distance table as follows For each destination j, if k reports its distance to j as d then update D j,k = d + weight(i,k) Routing table
Recompute the routing table as follows: For each destination k, update next hop to j, where D j,k = min(D x,k : for all x)
Periodically or whenever the routing table changes, send routing table to all neighbors
Bellman-Ford Algorithm b c bcdebcde a b ea c d acdeacde abdeabde bcdebcde acdeacde abdeabde e d c b a b 2 c 4 a 2 c 1 d 2 a 4 b 1 e 2
Bellman-Ford Algorithm b c bcdebcde a b ea c d acdeacde abdeabde bcdebcde acdeacde abdeabde e d c b a b 2 b 3 a 2 c 1 d 2 b 3 b 1 e b b 3
Bellman-Ford Algorithm Distance vector algorithm –Best path criteria Latency Jitter bandwidth
Counting to infinity a b c a a b b aa a 22 c c aa 1 1 bb aa a 44 c c a a b b ab 3 1 bb a a b b ab 5 1 bb 101
a edf b c destnextdistpath
a edf b c destnextdistNext to last hop bb1a db3c cb2b fb5e eb4d e d c b
Link State Routing Each node maintains the state of every link State of the link may contain several types of information
Learning local information Exchange hello packets periodically Measure the cost of adjacent links
Distributed link state information Link state packet: * source id * cost of incident edges * sequence numbers
Building Link State Packets (a) A subnet. (b) The link state packets for this subnet.
Distribution Algorithm Controlled flooding - hop count - sequence numbers - age
Receive LSP from nbr j - compare sequence numbers - update topology table - propagate LSP to all nbrs except j
Hierarchical Routing Divide area into regions Maintain accurate information about nodes in the same region
Hierarchical Routing Hierarchical routing.
Source-routing Message contains the entire path Routing table lookup is avoided at each node
Broadcasting/Multicasting To send a message to all nodes: - make a separate message to each destination - route each message independently
Multi-destination routing Include all destination address in message Each node decides which links to forward so that it reaches all destinations
Multicast trees Create a spanning tree Prune the spanning tree: Steiner tree