Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.

Similar presentations


Presentation on theme: "1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector."— Presentation transcript:

1 1 Routing Protocols

2 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector (DECnet, “old” ARPANET, RIP) –link state (“new” ARPANET 1980, DECnet Phase V 1985, IS-IS 1988, OSPF version 2 1998).

3 3 Distance Vector Routing Rtr knows –own ID –how many cables hanging off box –cost, for each cable, of getting to nbr j k m n cost 3 cost 2 cost 7 I am “4”

4 4 Distance Vector (DV) Routing Initialize distances to all rtrs in the network to be 0, except to its nbrs. Rtr learns from nbrs their distances to all nodes in the network, calculate own distances, and forward the distance vector to nbrs. This repeats until the distance vector converges. Rtr updates the distance vector whenever it receives different distance vector from some nbr, or whenever some link breaks. Distance vector is either sent periodically or when the network configuration changes.

5 5 j k m n cost 3 cost 2 cost 7 I am “4” distance vector rcv’d from cable j distance vector rcv’d from cable k distance vector rcv’d from cable m distance vector rcv’d from cable n your own calculated distance vector your own calculated forwarding table 1231531253180715 58321074205015 0532199522247 6207851181232 2 m 6 j 5 k/m 0 0 12 k 8 j 6 k/j cost 3 cost 2 cost 7 19 n 3? j? ? ? Example of DV Routing

6 6 Problems with Distance Vector Routing B does not conclude that C is unreachable but that d(B,C)=d(B,A)+d(A,C) =3 When A receives DV from B it concludes that d(A,C)=4 DV increases in this until infinity, or maximum value which is set by administrator. For this reason, the cost field has the small size. ABC

7 7 Split Horizon This technique sometime prevents counting toward infinity. If R1 forwards packets to D through R2, then R1 informs R2 that its distance to D is infinity. So, when the link toward node D fails, R2 learns from R1 that its distance to D is infinity immediately, i.e. that D is unreachable. R1R1R2R2D

8 8 Unfortunatelly, split horizon does not always work. When link to D fails, R1 concludes that D is unreachable. R2 gets the information from R1 that D is unreachable, and sets the path to D through R3, calculating DV based on DV of R3. R2 sends new DV to R1, that updates it and sends it further to R3. R3 updates DV and sends it to R3, which updates it and sends it to R2 etc. Cost of path to D is again increasing slowly toward infinity. R2 D R1 R3 Split Horizon

9 9 Link State Routing Construct Link State Packet (LSP) –who you are –list of (nbr, cost) pairs Broadcast LSPs to all rtrs Store latest LSP from each rtr received from nbrs Compute Routes Forward LSPs from each nbr to other nbrs

10 10 Building Link State Packets (a) A subnet. (b) The link state packets for this subnet.

11 11 Computing Routes Edsgar Dijkstra’s algorithm: –calculate tree of shortest paths from self to each –also calculate cost from self to each –Algorithm: step 0: put (SELF, 0) on tree step 1: look at LSP of node (N,c) just put on tree. If for any nbr K, this is best path so far to K, put (K, c+dist(N,K)) on tree, child of N, with dotted line step 2: make dotted line with smallest cost solid, go to step 1

12 12 ABC DEF G 62 5 1 2 12 24 A B/6 D/2 B A/6 C/2 E/1 C B/2 F/2 G/5 D A/2 E/2 E B/1 D/2 F/4 F C/2 E/4 G/1 G C/5 F/1 Example of Dijkstra Algorithm

13 13 C(0) B(2) F(2) G(5) C(0) B(2) F(2) G(5) C(0) B(2) F(2) G(5) E(6)G(3) C(0) B(2) F(2) E(6)G(3) C(0) B(2) F(2) E(6)G(3) A(8)E(3) C(0) B(2) F(2) G(3) A(8)E(3) Example of Dijkstra Algorithm

14 14 C(0) B(2) F(2) G(3) A(8)E(3) D(5) C(0) B(2) F(2) G(3) A(8)E(3) D(5) C(0) B(2) F(2) G(3) A(8)E(3) D(5) A(7) C(0) B(2) F(2) G(3) E(3) D(5) A(7) Forwarding table: A/B B/B C/self D/B E/B F/F G/F Example of Dijkstra Algorithm

15 15 Distance Vector vs Link State Memory: distance vector wins (but memory is cheap) Computation: debatable Simplicity of coding: simple distance vector wins. Convergence speed: link state better Functionality: link state can have custom routes, mapping the net, easier troubleshooting,

16 16 Routing Information Protocol (RIP) Packets are requests and responses. Report through response every destination every 30 seconds, or as a reply to request. Throw away info if too old (90s for IP) Request when a rtr comes up or when info is too old Maximum cost is 16 0.0.0.0 with mask 0.0.0.0 is default destination Most implementations of IP RIP do –split horizon –triggered updates –poison reverse (rtr that learns about link fail announce the distance through it as infinity).

17 17 RIP Version 1 Header Command Version Reserved Address Family ID (=2 for IP) Address Metric 1 1 2 2 14 4 Request Or Response

18 18 RIP Version 2 Header Command Version=2 Reserved Address Family=0xFFFF 1 1 2 2 16 4 Request Or Response Authentication Type Authentication Info Address Family ID=2 Route Tag IP Address Mask Next Hop =0 or Rtr on LAN Metric 2 2 2 4 4 4 When there is auth When router Represents other rtr For external routes Etc.

19 19 Differences Between RIP 1 and 2 RIP 1 works with classful addresses. RIP 2 works with classless addresses and ads authentication

20 20 OSPF: Nbr Discovery Routers send Hellos to their nbrs periodically. Nbrs learn about nbr appearance and dissappearances from hello messages. Hello messages specify hello interval and RouterDeadInterval. If a router does not receive hello message in one RouterDeadInterval, it regards the link as failed. New router learns from one of its nbrs the entire link state database, and acks every entry.

21 21 OSPF: Info Exchange on LAN One router is designated to send link state updates to the routers on LAN, and another routers is backup designated router. Routers on LAN send their link state ads to the DR and BDR. DR send these messages to all routers on LAN as a part of link state update message. DR is the first one on LAN, BDR is the second one. If one of them fails it is replaced by the router with the highest priority.

22 22 OSPF: Flooding LSAs LSAs are distributed through flooding –send to every nbr except from which LSA rcv’d LSA is updated only if it has a higher sequence number than the existing one, or if its age exceeded the maximum age. Rtr forwards only updated LSAs, and it generates new LSAs periodically or when there is a configuration change (link cost has changed, nbr is down).

23 23 OSPF Hierarchy Runs on the top of IP with protocol field 89, and is applied to autonomous systems (AS). Comprises two levels of hierarchy: areas and backbone. Boarder routers of some domain calculate their costs to the routers of the area and flood this info to other boarder routers. They flood processed info learned from other boarder routers to their areas. Area boarder routers learn info about external routes from AS boarder routers, and flood this info to other boarder and internal routers.

24 24 OSPF Header OSPF ver (1) Pkt type (1) OSPF Pkt Length Source OSPF Rtr ID OSPF Area ID Packet checksum Authentication type Authetication data 2 4 4 2 2 8

25 25 OSPF Pkt Types 1. Hellos 2. Database description 3. Link state request 4. Link state update: Multiple LSAs 5. Link state ack 6. Links state advertisement (LSA) –Type 1 LSA: link between routers, or LAN –Type 2 LSA: all routers on LAN, or MAN –Type 3 LSA: area border router send costs to prefixes of the area to other border rtrs, they process these LSAs and send them to the area. –Type 4 LSA: AS border routers are advertised to the area border routers and they further advertise them to their areas –Type 5 LSA: an AS external link ad

26 26 Address Aggregation B C A 10.1.2.0/24 1 1 3 3 3 11 3 3 2 2 11 1 3 3 3 1 1 Area 0.0.0.2 Area 0.0.0.3 Area 0.0.0.1 Area 0.0.0.0 D 10.1.1.0/24 10.1.3.0/24 10.2.1.0/24 10.2.2.0/24 10.8.2.0/24 10.3.7.0/24 Border rtr to outside of area, e.g.: A sends pair: net 10.1.1.0/20 cost 4 B sends pair: net 10.2.1.0/16 cost 7


Download ppt "1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector."

Similar presentations


Ads by Google