Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State.

Similar presentations


Presentation on theme: "Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State."— Presentation transcript:

1 Lecture 7

2 Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State

3 Dynamic Methods- Distributed Nodes are responsible of building their own tables Nodes exchange information between themselves to build a view of the topology Algorithms depend on which information do nodes exchange

4 Distance Vector Every table contains the next hop and path cost for each destination Initially, if nodes are not directly connected, the cost is infinity Nodes exchange their full forwarding tables (dest + cost) These tables are exchanged with neighboring nodes only If in a received table, the total cost to a destination is less than the cost in the node’s table, the next hop is changed to the node that sent the table The new cost is the cost in the received table + the cost to the node that sent the table

5 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 C-  DD2 EE2 DestN HopCost AA2 B-  C-  D-  DestN HopCost AA2 BB4 CC6 E-  DestN HopCost AA2 CC1 DD4 E-  DestN HopCost A-  BB1 DD6 E- 

6 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 EE2 DestN HopCost AA2 BA5 C-  DA4 DestN HopCost AA2 BB4 CB5 EA4 DestN HopCost AA2 CC1 DD4 EA5 DestN HopCost AB4 BB1 DB5 E- 

7 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 EE2 DestN HopCost AA2 BA5 CA6 DA4 DestN HopCost AA2 BB4 CB5 EA4 DestN HopCost AA2 CC1 DD4 EA5 DestN HopCost AB4 BB1 DB5 EB6

8 Distance Vector Usually use Bellman Ford algorithm to calculate routes Tables are exchanged either Periodically Triggered by events (e.g. failures) Can experience count to infinity problem

9 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 EE2 DestN HopCost AA2 BA5 CA6 DA4 DestN HopCost AA2 BB4 CB5 EA4 DestN HopCost AA2 CC1 DD4 EA5 DestN HopCost AB4 BB1 DB5 EB6

10 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EA4 DestN HopCost AA2 CC1 DD4 EA5

11 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EB9 DestN HopCost AA2 CC1 DD4 E- 

12 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 ED11 DestN HopCost AA2 BB4 CB5 E-  DestN HopCost AA2 CC1 DD4 E- 

13 E A D B C 3 2 1 6 4 2 DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EA13 DestN HopCost AA2 CC1 DD4 EA14

14 Count to Infinity Problem The cycle will continue until the cost value reaches very high (infinity) value before all nodes find out E is unreachable The previous cycle involves 3 nodes, some cycles can contain tens of nodes It causes switching loops and takes time to end depending on the number of nodes involved

15 Solutions Several Solution proposed but all have disadvantages Advertise full table including next hop High traffic Complexity Split horizon Do not advertise route to its next hop Split horizon with Poison reverse For next hop, advertise links passing through it with cost =  Split horizon with/without Poison reverse handles loops with small number of nodes

16 Routing Information Protocol RIP uses distance vector with link costs = 1 Finds minimum hops Costs range from 1 to 15, 16 is infinity Updates are sent every 30 seconds or when a routing table changes Works with small networks (max hop number = 15)

17 Link State Each node sends information only about its directly connected neighbors (full table not sent) Information (link state packet “LSP”) contains neighboring nodes and their cost LSP contains Node ID, link states, sequence no., time to live (counter) This information is sent to all nodes in the network (enhanced flooding) Always assumes node received information from all other nodes

18 Link State Nodes build two tables, one for confirmed links and another for tentative links 1) The confirmed table starts with the node itself 2) For the node (X) just added to the confirmed list, select its LSP 3) For each neighbor of X, calculate the cost to reach this neighbor (= cost to X + cost from X to neighbor) 4) If neighbor is not in confirmed list replace old entry with new one if: Neighbor is not in tentative table or It is in tentative table but new cost is less than current cost 5) If tentative table is empty stop, otherwise move least cost entry from tentative to confirmed table and go to 2

19 E A D B C 3 2 1 6 4 2

20 DestN HopCost AA0 DestN HopCost Confirmed Tentative Node A’s Tables

21 DestN HopCost AA0 DestN HopCost BB3 DD2 EE2 Confirmed Tentative Node A’s Tables

22 DestN HopCost AA0 EE2 DestN HopCost BB3 DD2 Confirmed Tentative Node A’s Tables

23 DestN HopCost AA0 EE2 DestN HopCost BB3 DD2 Confirmed Tentative Node A’s Tables A is already in confirmed list, so E is done

24 DestN HopCost AA0 EE2 DD2 DestN HopCost BB3 Confirmed Tentative Node A’s Tables

25 DestN HopCost AA0 EE2 DD2 DestN HopCost BB3 CD8 Confirmed Tentative Node A’s Tables B through D = 6, cost in tentative for B is 3, hence ignore

26 DestN HopCost AA0 EE2 DD2 BB3 DestN HopCost CD8 Confirmed Tentative Node A’s Tables B through D = 6, cost in tentative for B is 3, hence ignore

27 DestN HopCost AA0 EE2 DD2 BB3 DestN HopCost CB4 Confirmed Tentative Node A’s Tables Cost to C via B is less, replace in tentative table. Everything else is in confirmed table already.

28 DestN HopCost AA0 EE2 DD2 BB3 CB4 DestN HopCost Confirmed Tentative Node A’s Tables All C’s neighbors already in confirmed. Tentative empty-> done

29 DestN HopCost AA0 EE2 DD2 BB3 CB4 Link State Distance Vector Node A’s Tables DestN HopCost AA0 BB3 CB4 DD2 EE2

30 Link State Uses Dijkstra’s algorithm Flooding causes considerable overhead, hence time between update packets is long (an hour) Changes trigger updates but only nodes which their links changed send data Requires larger storage than distance vector More stable than distance vector Responds more quickly to topology changes

31 Open Shortest Path First OSPF uses link state Includes authentication services to protect network from hacked routers

32 Other Switching Methods The previous methods are called proactive switching/routing methods They keep a table of all the destinations Suitable for stable networks (topology does not change much) Not suitable for wireless links because topology changes frequently (mobility) Also for wireless networks, nodes may store routes they never use

33 Reactive Routing Mainly for wireless networks Path is searched only when there is data to send Source initiates a route request Nodes forward request (e.g. flooding) till it reaches destination Destination replies and nodes forward till it reaches source Nodes forwarding packets record in it their addresses Source receives the first packet and records addresses in it as the path

34 Reactive Routing Subsequent packets are discarded This is one of many available algorithms and enhancements (search for AODV) Some algorithms depend on GPS and assume the source know the position of the destination It is still an open area for research

35 Quality of Service What is QoS?! Appeared with ISDN networks Several parameters exist Delay Jitter Packet Loss Data Rate Applications differ in what they can handle Data Voice (real time/non-real time, with/without compression) Video (real time/non-real time, with/without compression)

36 QoS Parameters Delay Time it takes data to go from source to destination Data: doesn’t matter, unless receiver/transmitter times out Voice: real time, certain limits OK (several ms) Voice: non real time, same as data, buffer voice Video: non real time-> same as data, buffer video Video: real time-> limits also exist as with voice

37 QoS Parameters Jitter Variation in the delay (rms value of delay) Usually high jitter indicates network congestion Data: generally does not matter Voice: (both) limits exist otherwise voice breaks Video: (both) same as voice, video cuts

38 QoS Parameters Packet Loss Due to errors or congestion Data: unacceptable all packets must be received correctly, retransmit Voice: (both) up to certain limits OK, severe-> voice cuts, retransmissions are pointless Video: (both) up to certain limits OK, severe-> distortions, retransmissions are useless

39 QoS Parameters Data Rate Transmission characteristics of each application Data -> busts, lots of data then nothing Voice (no compression)-> constant data rate Voice (compression)-> variable data rate (compression usually refers to silence suppression) Video (no compression)-> constant data rate (rarely used because of high data rate) Video (compression)-> variable data rate Variable data rate is identified with max and mean rate required (or max and min rates)

40 Some Practical Data Rate Services Best Effort Service Default for packet switching No QoS, all users’ data is equal, all applications are equal Committed/Dedicated/Guaranteed Service You get what you buy, nothing more or less (1M = 1M) Service guaranteed whether 0 or all users are working Variable Rate Service You get a committed data rate You’re allowed to exceed this if network has low load Must return to minimum rate if network is congested Flow control methods are heavily used

41 How to implement QoS? Prior to any connection requiring QoS signaling is required Every node in the path (forwarding signaling) checks required services and its resources and ongoing connections If it can satisfy, forward to next hop, otherwise deny connection Destination replies with same path to complete the handshake Main problem is step 2!!!


Download ppt "Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State."

Similar presentations


Ads by Google