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

Slides:



Advertisements
Similar presentations
Data and Computer Communications
Advertisements

Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Routing Protocols Lecture # 6 Obaid Khan.
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Routing So how does the network layer do its business?
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
Ad Hoc Wireless Routing COS 461: Computer Networks
Delivery, Forwarding and
Routing Concepts Warren Toomey GCIT. Introduction Switches need to know the link address and location of every station. Doesn't scale well, e.g. to several.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 14 Routing Protocols RIP, OSPF, BGP.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
1 Chapter 22 Network layer Delivery, Forwarding and Routing (part2)
Mobile Adhoc Network: Routing Protocol:AODV
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vector Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
Ad-hoc On-Demand Distance Vector Routing (AODV) and simulation in network simulator.
The Destination Sequenced Distance Vector (DSDV) protocol
The Network Layer & Routing
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 7 Distance Vector Routing Protocols.
Lecture 17 November 8Intra-domain routing November 13Internet routing 1 November 15Internet routing 2 November 20End-to-end protocols 1 November 22End-to-end.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vectore Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
University of Delaware CPEG 4191 Distance Vector Routing – Dynamic Programming zLimited state information. Just the next hop and cost. A B D G F C H E.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network-Layer Routing Routing tasks are methods of finding the paths for packet from their sources to their destinations. Routers are responsible mainly.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Distance Vector Routing
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
William Stallings Data and Computer Communications
Author:Zarei.M.;Faez.K. ;Nya.J.M.
Centralized vs Distributed Routing
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
CCNA 2 v3.1 Module 7 Distance Vector Routing Protocols
Routing: Distance Vector Algorithm
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Routing in Packet Networks Shortest Path Routing
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
Chapter 7 Packet-Switching Networks
ECE453 – Introduction to Computer Networks
Communication Networks NETW 501
CS 3700 Networks and Distributed Systems
Communication Networks
Advanced Computer Networks
Routing.
EE 122: Intra-domain routing: Distance Vector
Communication Networks
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Presentation transcript:

Lecture 7

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

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

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

E A D B C 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- 

E A D B C 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- 

E A D B C 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

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

E A D B C 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

E A D B C DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EA4 DestN HopCost AA2 CC1 DD4 EA5

E A D B C DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EB9 DestN HopCost AA2 CC1 DD4 E- 

E A D B C DestN HopCost BB3 CB4 DD2 ED11 DestN HopCost AA2 BB4 CB5 E-  DestN HopCost AA2 CC1 DD4 E- 

E A D B C DestN HopCost BB3 CB4 DD2 E-  DestN HopCost AA2 BB4 CB5 EA13 DestN HopCost AA2 CC1 DD4 EA14

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

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

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)

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

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

E A D B C

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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)

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

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

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

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)

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

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!!!