DOC PREVIEW
Berkeley ELENG 122 - Intra-domain routing: Distance Vector

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EE 122: Intra-domain routing: Distance VectorProblemForwarding vs. RoutingIP Packet ForwardingInternet RoutingExampleIntra-domain Routing ProtocolsRoutingDistance Vector Routing AlgorithmDistance Vector RoutingDistance Vector Algorithm (cont’d)Example: Distance Vector AlgorithmExample: 1st Iteration (C  A)Slide 14Slide 15Example: 1st Iteration (BA, CA)Example: End of 1st IterationExample: End of 3nd IterationLink Cost ChangesCount-to-Infinity ProblemSplit HorizonPoison ReverseIs “Count To Infinity” Solved?Katz. Stoica F04EE 122: Intra-domain routing: Distance VectorComputer Science DivisionDepartment of Electrical Engineering and Computer ScienceUniversity of California, Berkeley,Berkeley, CA 94720-1776September 16, 2004(* based partially on Kurose & Ross’ slides)2Katz. Stoica F04ProblemHow is a packet transmitted from source to destination in the Internet?Example: how does packet sent by B reaches DHost AHost BHost EHost DHost CNode 1Node 2Node 3Node 4Node 5Node 6Node 73Katz. Stoica F04Forwarding vs. RoutingForwarding: the process by which a router sends an arriving packet to the next router towards final destination Routing: the process by which a router acquires the information to perform packet forwarding (e.g., routing tables)4Katz. Stoica F04IP Packet ForwardingEach router maintains a mapping of address prefixes to output portsUpon receiving a packet, a router performs the longest prefix matching on packet’s destination address and forwards it to corresponding output…… 312.82.xxx.xxx 1128.16.120.xxx12128.16.120.11112.82.100.10112.82.100.xxx 2interfacePrefix5Katz. Stoica F04Internet RoutingInternet organized as a two level hierarchyFirst level – autonomous systems (AS’s)-AS – region of network under a single administrative domainASes run an intra-domain routing protocols-Distance Vector, e.g., Routing Information Protocol (RIP)-Link State, e.g., Open Shortest Path First (OSPF)Between ASes runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP)-De facto standard today, BGP-46Katz. Stoica F04ExampleAS-1AS-2AS-3Interior routerBGP router7Katz. Stoica F04Intra-domain Routing ProtocolsBased on UDP (unreliable datagram delivery)Distance vector-Routing Information Protocol (RIP), based on Bellman-Ford-Each neighbor periodically exchange reachability information to its neighbors-Minimal communication overhead, but it takes long to converge, i.e., in proportion to the maximum path lengthLink state-Open Shortest Path First (OSPF), based on Dijkstra-Each network periodically floods immediate reachability information to other routers-Fast convergence, but high communication and computation overhead8Katz. Stoica F04RoutingGoal: determine a “good” path through the network from source to destination-Good means usually the shortest pathNetwork modeled as a graph-Routers  nodes-Link edges•Edge cost: delay, congestion level,…AEDCBF22131125359Katz. Stoica F04Distance Vector Routing AlgorithmIterative: continues until no nodes exchange infoAsynchronous: nodes need not exchange info/iterate in lock stepsDistributed: each node communicates only with directly-attached neighborsEach router maintains-Row for each possible destination-Column for each directly-attached neighbor to node-Entry in row Y and column Z of node X  best known distance from X to Y, via Z as next hop (remember this !)Note: for simplicity in this lecture examples we show only the shortest distances to each destination10Katz. Stoica F04Distance Vector RoutingEach local iteration caused by: -Local link cost change -Message from neighbor: its least cost path change from neighbor to destinationEach node notifies neighbors only when its least cost path to any destination changes-Neighbors then notify their neighbors if necessarywait for (change in local link cost or msg from neighbor)recompute distance tableif least cost path to any dest has changed, notify neighbors Each node:11Katz. Stoica F04Distance Vector Algorithm (cont’d)1 Initialization: 2 for all neighbors V do3 if V adjacent to A 4 D(A, V) = c(A,V); 5 else 6 D(A, V) = ∞; 7 loop: 8 wait (until A sees a link cost change to neighbor V or until A receives update from neighbor V) 9 if (c(A,V) changes by d) 10 for all destinations Y through V do 11 D(A,Y) = D(A,Y) + d 12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else /* update D(A, Y) if there is a shorter path through V */17 D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y));18 if (there is a new minimum for destination Y)19 send D(A, Y) to all neighbors 20 forever12Katz. Stoica F04Example: Distance Vector AlgorithmAC127BD31Dest. Cost NextHopB 2 BC 7 CD ∞ -Node ADest. Cost NextHopA 2 AC 1 CD 3 DNode BDest. Cost NextHopA 7 AB 1 BD 1 DNode CDest. Cost NextHopA ∞ -B 3 BC 1 CNode D1 Initialization: 2 for all neighbors V do3 if V adjacent to A 4 D(A, V) = c(A,V); 5 else 6 D(A, V) = ∞; …13Katz. Stoica F04Dest. Cost NextHopB 2 BC 7 CD ∞ -Node AExample: 1st Iteration (C  A)AC127BD31Dest. Cost NextHopA 2 AC 1 CD 3 DNode BDest. Cost NextHopA 7 AB 1 BD 1 DNode CDest. Cost NextHopA ∞ -B 3 BC 1 CNode D(D(C,A), D(C,B), D(C,D))…7 loop: …12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever14Katz. Stoica F04Dest. Cost NextHopB 2 BC 7 CD 8 CNode AExample: 1st Iteration (C  A)AC127BD31Dest. Cost NextHopA 2 AC 1 CD 3 DNode BDest. Cost NextHopA 7 AB 1 BD 1 DNode CDest. Cost NextHopA ∞ -B 3 BC 1 CNode DD(A, D) = min(D(A, D), D(A, C) + D(C,D) = min(∞ , 7 + 1) = 8(D(C,A), D(C,B), D(C,D))…7 loop: …12 else if (update D(V, Y) received from V) 13 for all destinations Y do14 if (destination Y through V)15 D(A,Y) = D(A,V) + D(V, Y);16 else17 D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y));18 if (there is a new minimum for dest. Y)19 send D(A, Y) to all neighbors 20 forever15Katz. Stoica F04…7 loop: …12 else if (update D(V, Y) received from V) 13 for all


View Full Document

Berkeley ELENG 122 - Intra-domain routing: Distance Vector

Documents in this Course
Lecture 6

Lecture 6

22 pages

Wireless

Wireless

16 pages

Links

Links

21 pages

Ethernet

Ethernet

10 pages

routing

routing

11 pages

Links

Links

7 pages

Switches

Switches

30 pages

Multicast

Multicast

36 pages

Switches

Switches

18 pages

Security

Security

16 pages

Switches

Switches

18 pages

Lecture 1

Lecture 1

56 pages

OPNET

OPNET

5 pages

Lecture 4

Lecture 4

16 pages

Ethernet

Ethernet

65 pages

Models

Models

30 pages

TCP

TCP

16 pages

Wireless

Wireless

48 pages

Load more
Download Intra-domain routing: Distance Vector
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Intra-domain routing: Distance Vector and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Intra-domain routing: Distance Vector 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?