CIS 725 Network Layer Network Layer This layer

  • Slides: 29
Download presentation
CIS 725 Network Layer

CIS 725 Network Layer

Network Layer • This layer provides communication between any two nodes • Uniform addressing

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

Problems to be addressed • Routing • Congestion control

Routing • Processing nodes • Switches/routers • Communication links

Routing • Processing nodes • Switches/routers • Communication links

Datagram routing • Each packet is routed independently • Unordered • Unreliable

Datagram routing • Each packet is routed independently • Unordered • Unreliable

Virtual Circuit routing • • Set up a path for each connection All messages

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

Routing Table • Routing table contains the next hop information • At each node i, for each destination j, what is the next hop

Distance Vector Algorithms Bellman-Ford Algorithm • Distance table: • Routing table distance from i

Distance Vector Algorithms Bellman-Ford Algorithm • Distance table: • Routing table distance from i to j via k

Routing table • Protocol at node i: On receiving routing table from k update

Routing table • 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 Dj, k = d + weight(i, k)

 • Recompute the routing table as follows: For each destination k, update next

• Recompute the routing table as follows: For each destination k, update next hop to j, where Dj, k = min(Dx, k: for all x)

 • Periodically or whenever the routing table changes, send routing table to all

• Periodically or whenever the routing table changes, send routing table to all neighbors

Bellman-Ford Algorithm b b a 2 2 c 2 b c d e b

Bellman-Ford Algorithm b b a 2 2 c 2 b c d e b 2 c 4 4 a c d 2 a c d e 1 2 a b e a b d e 4 a b d e a 4 b 1 1 2 1 1 4 d b c d e c 2 e a a 2 c c 1 d d 2 e e 2

Bellman-Ford Algorithm b b a 2 2 c 2 b c d e b

Bellman-Ford Algorithm b b a 2 2 c 2 b c d e b 2 b 3 b 4 3 4 4 a c d 2 5 6 a c d e 1 2 a b e a b d e 4 a b d e b 3 b 1 b 3 3 1 3 2 1 1 4 d b c d e c 2 e a a 2 c c 1 d d 2 e e 2

Bellman-Ford Algorithm • Distance vector algorithm – Best path criteria • Latency • Jitter

Bellman-Ford Algorithm • Distance vector algorithm – Best path criteria • Latency • Jitter • bandwidth

Counting to infinity 1 101 100 a a a c 100 2 a c

Counting to infinity 1 101 100 a a a c 100 2 a c 100 4 a b c a 1 a c 2 a b 1 3 c 3 1 a b 101 3 3 1 a b 4 a b 101 3 5 1 a b a b b b a b 1 1 3 1 b b 5 1

5 a 5 1 b 4 1 c 3 < a, b, c, d,

5 a 5 1 b 4 1 c 3 < a, b, c, d, e, f> 1 d 2 1 e 1 1 20 dest next dist path f

5 a 5 1 b 4 1 c 3 1 d 2 1 e

5 a 5 1 b 4 1 c 3 1 d 2 1 e 1 1 f b c d e dest next b b c b d b e b f b dist 1 2 3 4 5 Next to last hop a b c d e

Link State Routing • Each node maintains the state of every link • State

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

Learning local information • Exchange hello packets periodically • Measure the cost of adjacent links

Distributed link state information • Link state packet: * source id * cost of

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

Building Link State Packets (a) A subnet. (b) The link state packets for this subnet.

Distribution Algorithm • Controlled flooding - hop count - sequence numbers - age

Distribution Algorithm • Controlled flooding - hop count - sequence numbers - age

 • Receive LSP from nbr j - compare sequence numbers - update topology

• 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

Hierarchical Routing • Divide area into regions • Maintain accurate information about nodes in the same region

Hierarchical Routing Hierarchical routing.

Hierarchical Routing Hierarchical routing.

Source-routing • Message contains the entire path • Routing table lookup is avoided at

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

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

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

Multicast trees • Create a spanning tree • Prune the spanning tree: Steiner tree