Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Network Layer: Routing Distance Vector Protocols with Revisions and Link State Protocols Y. Richard Yang 4/13/2016.

Similar presentations


Presentation on theme: "1 Network Layer: Routing Distance Vector Protocols with Revisions and Link State Protocols Y. Richard Yang 4/13/2016."— Presentation transcript:

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


Download ppt "1 Network Layer: Routing Distance Vector Protocols with Revisions and Link State Protocols Y. Richard Yang 4/13/2016."

Similar presentations


Ads by Google