Download presentation
Presentation is loading. Please wait.
Published byJuliana O’Neal’ Modified over 8 years ago
1
1 Network Layer: Routing Distance Vector Protocols with Revisions and Link State Protocols Y. Richard Yang http://zoo.cs.yale.edu/classes/cs433/ 4/13/2016
2
Admin. r Projects 2
3
3 r Routing has a large design space m who decides routing? source routing: end hosts make decision network routing: networks make decision - (applications such as overlay and p2p are trying to bypass it) m what does routing compute shortest path (mostly, plus policy routing) QoS aware m how many paths does routing compute? multi-path routing single path routing (with small amount of multipath) m will routing adapt to network traffic demand? adaptive routing static routing (mostly static; adjust in larger timescale) m … - Robustness - Optimality - Simplicity Routing Design Space: Internet
4
4 Alternative: Dynamic Link Costs r Assume link costs reflect current traffic D A B C 0 2+e 1+e 1 0 0 t=2 Solution: Link costs are a combination of current traffic intensity (dynamic) and topology (static). To improve stability, the static topology part should be large. Thus less sensitive to traffic; thus non-adaptive. D A B C 2+e 0 0 0 1+e 1 t=1 0 Link costs reflect current traffic intensity D A B C 1 1+e e 0 e 1 1 0 0 t=0 0 0 D A B C 2+e 0 e 0 1+e 1 t=3 0 D A B C e 1 1
5
Example: Cisco Proprietary Recommendation on Link Cost r Link metric: m metric = [K1 * bandwidth -1 + (K2 * bandwidth -1 ) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)] By default, k1=k3=1 and k2=k4=k5=0. The default composite metric for EIGRP, adjusted for scaling factors, is as follows: EIGRP : Enhanced Interior Gateway Routing Protocol 5 BW min is in kbps and the sum of delays are in 10s of microseconds.
6
Example: EIGRP Link Cost r The bandwidth and delay for an Ethernet interface are 10 Mbps and 1 ms, respectively. r The calculated EIGRP BW metric is as follows: m 256 × 10 7 /BW = 256 × 10 7 /10,000 m = 256 × 10000 m = 256000 6 A E D CB F 2 2 1 3 1 1 2 5 3 5
7
7 Recap: Basic Distance Vector Routing r At node i, update rule estimate per Bellman- Ford r Synchronous BF r Asynchronous BF r “Sandwich” (Bouding) arguments i j destination
8
Recap: Convergence of Distance-Vector r Good news propagate fast r Bad news can propagate slowly m counting-to-infinity
9
Recap: Counting-To-Infinity and Routing Loop r A routing loop is a global state (consisting of the nodes’ local states) at a global moment (observed by an oracle) such that there exist nodes A, B, C, … E such that A (locally) thinks B as next hop, B thinks C as next hop, … E thinks A as next hop 9
10
General Routing Loops and Reverse-poison r Reverse-poison removes two-node loops but may not remove more-node loops 10 I can reach D w/ cost 3
11
An Example Where Split-horizon Fails 1 1 1 1
12
Recap: Discussion Possibilities to avoid routing loops o Path vector (extend cost to include nodes already on the path) 12 I can reach D w/ cost 3
13
Outline Recap Distance vector protocols o synchronous Bellman-Ford (SBF) o asynchronous Bellman-Ford (ABF) destination-sequenced distance vector (DSDV) 13
14
Destination-Sequenced Distance Vector protocol (DSDV) r One extension of distance vector protocol to address the counting-to-infinity problem r Extension m DSDV tags each route with a sequence number m each destination node D periodically advertises monotonically increasing even-numbered sequence numbers m when a node realizes that the link it uses to reach destination D is broken, it advertises an infinite metric and a sequence number which is one greater than the previous route (i.e., an odd seq. number) the route is repaired by a later even-number advertisement from the destination 14
15
DSDV: More Detail A B route update 15
16
Example 16 1 1 100 1 X Will this trigger an update?
17
Example 17 1 1 100 1 X Will this trigger an update?
18
DSDV: Simple Update A B route update
19
Example: CD link down 1 2 1 1 19
20
Claim: DSDV Does Not Form Loop r Initially no loop (no one has next hop so no loop) r Derive contradiction if a loop forms after a node processes an update, m e.g., when A receives the update from B, A decides to use B as next hop and forms a loop A B update 20
21
Technique: Global Invariants r Global Invariant is a very effective method in understanding safety of distributed asynchronous protocols r Invariants are defined over the states of the distributed nodes r Consider any node B. r Let’s identify some invariants over the state of node B, i.e., (S B, d B ). 21
22
Invariants of a Single Node B r Some invariants about the state of a node B m [I1] S B is non-decreasing m [I2] d B is non-increasing for the same sequence number time 22
23
Invariants of if A Considers B as Next Hop A B 23
24
Loop Freedom of DSDV r Consider a critical moment m A starts to consider B as next hop, and we have a loop According to invariant I4 for each link in the loop (X considers Y as next hop) : S Y >= S X r Two cases: exists S Y > S X by transition along the loop S B > S B r all nodes along the loop have the same sequence number apply I5, by transition along the loop d B > d B A B X Y update 24
25
Summary: DSDV r DSDV uses sequence number to avoid routing loops m seq# partitions routing updates from different outside events m within same event, no loop so long each node only decreases its distance 25
26
EIGRP: Diffusive Update Alg. r EIGRP: a proprietary routing protocol by Cisco based on a Diffusive Update Algorithm (DUAL) r Both a re-computation part and a fast reroute (switching) part r We focus on the fast switching part m key idea: checking condition before switching to another route to prevent potential loops 26
27
EIGRP Key Idea: Feasible Successors r If the reported distance of a neighbor n is lower than the total distance using primary (current shortest), the neighbor n is a feasible successor 27 n p i
28
EIGRP: Example 28 Will A use B as a feasible successor? feasible succ?
29
EIGRP: Example 29 http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186 a0080093f07.shtml
30
Using Feasible Successor r Assume that the DV alg. converges. r The link to a node’s primary neighbor is down, and the node switches to a feasible successor. r No loop will be formed 30 A feasible successor primary B C D E
31
Discussion: Distance Vector Routing r What do you like about distributed, distance vector routing? r What do you not like about distributed, distance vector routing? 31
32
Churns of DV: One Example N+2 … … 123 N-1 N N+1 N+3 2N Initially converged. All links have cost 1 Event: Cost of 1->2 reduces to 0 Message sequences 1.Node 2 tells 3. Node 3 tells 4…Node N tells N+1. (N-1 messages) 2.Node N+1 tells N+2, N+2 tells N+3,…,2N. (N-1 messages) 3.Now node N-1 tells node N+1 4.Step 2 repeats 5.Now node N-2 tells node N+1 6.… A total of O(N 2 ) messages 32
33
Outline Recap Distance vector protocols (distributed computing) Link state protocols (distributed state synchronization) 33
34
Link-State Routing r Net topology, link costs are distributed to all nodes m all nodes have same info m thus can compute any types of routes r Each node computes its shortest paths from itself to all other nodes r Link state distribution accomplished via “link state broadcast”
35
Example: Link State and Directed Graph (OSPFv2) https://tools.ietf.org/html/rfc1583#page-12
36
Example: Link State and Directed Graph (OSPFv2)
37
Link State Broadcast r This is the hard part r Basic event structure at node n m on initialization: m on state change to a link connected to n: m on receiving an LS: forwards a link state broadcast (link ID, link status) to all links except the incoming link
38
38 B A S E F H J D C G I K M N L Link State Broadcast Node S updates link states connected to it.
39
39 Link State Broadcast B A S E F H J D C G I K M N L To avoid forwarding the same link state announcement (LSA) multiple times (forming a loop), each node remembers the received LSAs. - Second LSA[S] received by E from C is discarded - Second LSA[S] received by C from E is discarded as well - Node H receives LSA[S] from two neighbors, and will discard one of them
40
Link State Broadcast Basic event structure at node n m on initialization: broadcast LSA[e] for each link e connected to n m on state change to a link e connected to n: broadcast LSA[e] m on receiving an LSA[e]: if (does not have LSA[e]) forwards LSA[e] to all links except the incoming link Does this protocol allow each node to have a complete link state map? 40
41
Link State Broadcast: Issues r Problem: Out of order delivery m link down and then up m A node may receive up first and then down r Solution m Each link update is given a sequence number: (initiator, seq#, link, status) the initiator should increase the seq# for each new update m If the seq# of an update of a link is not higher than the highest seq# a router has seen, drop the update m Otherwise, forward it to all links except the incoming link (real implementation using packet buffer) m Problem of solution: seq# corruption m Solution: age field (e.g., https://tools.ietf.org/html/rfc1583#page-102) 41
42
Link State Broadcast: Issues r Problem: network partition and then reconnect, how to sync across the reconnected components r Solution: updates are sent periodically 42
43
Conditions for Link State to Guarantee no Routing Loops 43 Datapath Distributed Link State Path Comp Alg Datapath Datapath Distributed Link State Path Comp Alg
44
Backup Slides 44
45
EIGRP Neighbor Discovery r EIGRP routers actively establish relationships with their neighbors r EIGRP routers establish adjacencies with neighbor routers by using small hello packets. r The Hello protocol uses a multicast address of 224.0.0.10, and all routers periodically send hellos.
46
EIGRP Neighbor Discovery r On hearing hellos, the router creates a table of its neighbors. r The continued receipt of these packets maintains the neighbor table By forming adjacencies, EIGRP routers do the following: r Dynamically learn of new routes that join their network r Identify routers that become either unreachable or inoperable r Rediscover routers that had previously been unreachable
47
47 Neighbor Discovery - 3
48
Default Hello Intervals and Hold Time for EIGRP
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.