Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path...

20
Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from: http://www.ietf.org/proceedings/07dec/slides/IDRTut-0.pdf

Transcript of Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path...

Page 1: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

Lab Course “RouterLab”

OSPF - Open Shortest Path First(RFC 2328)

1

Some of the slides come from: http://www.ietf.org/proceedings/07dec/slides/IDRTut-0.pdf

Page 2: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Miscellaneous • Anything that needs discussion?

2

Page 3: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Internet Routing• Distance Vector

- I tell you all my “best” routes for all destinations that I know and you tell me yours.

- Build simplified topology from local perspective

- E.g. RIP

3

• Link State- I announce to everyone

about my links and the addresses I originate on each link and listen to everyoneʼs announcement.

- Build full topology- E.g. OSPF

Page 4: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

OSPF (Link State)• I tell everyone about all my connections(links), with link

up/down announcements

• I tell everyone about the addresses I originate on each link

• I listen to everyone elseʼs link announcements

• I build a topology of every link (map)

• Then I compute the shortest path to every address

• I assume (trust) that everyone else has assembled the same map and performed the same path selection

4

Page 5: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

• Is an instantiation of the Dijkstra Algorithm1. Set: and for 2. Compute:3. Select:4. Update:5. If stop, otherwise go to 2

OSPF (Link State)

5

Wait for an announce

Recompute Map

Issue periodic announcement

Recompute shortest-paths tree

i = 0, S0 = {u0 = s}, L (u0) = 0, L (v) =!, v != u0

!v " (V \ Si) L (v) = min{L (v) , L (ui) + duiv }

ui+1 = v! : L (v!) = min"v#(V \Si){L (v)}

Si+1 = Si ! ui+1, i = i + 1i =| V | !1

Page 6: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

OSPF• Is more complex

- (RFC 2328 is 244 pages, RIP is 39!)

• Converges extremely quickly • Should be loop-free at all times• Does not guarantee consistency of outcomes• Relies on a “full disclosure” model across the

whole domain• Can be organized in several “areas”• Still canʼt scale

6

Page 7: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

OSPF Components• Hello Protocol:

- Builds and maintains adjacencies

• Link State Announcements• Database Synchronization:

- Ensure consistency of the Database among neighbors- Reliable Flooding

• Shortest-Path Tree Computation- Based on the Routing Database

7

Page 8: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

OSPF Packets • OSPF runs directly over IP

- Protocol Number: 89

• Packetsʼ Type1. Hello - Discover/Maintain neighbors2. Database Description - Summarize database contents3. Link State Request - Database download4. Link State Update - Database update5. Link State Ack - Flooding Acknowledgement

8

Page 9: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Hello Protocol• Task:

- Discover/Maintain neighbor relationship - Discover bi-directionality- Negotiate capabilities (HelloInterval, Netmask, RouterDeadInterval)

• Method:- Periodical multicasting of Hello Packets containing:‣ List of routers whose Hello Packets have been seen recently

• Target:- Establish Adjacencies- Adjacent routers sync the link-state database

9

Page 10: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

LSA - LS Announcements• Router-LSA

- Flooded- States of the links

• Network-LSA- Flooded by Designated Router‣ Routers use an ID (usually an IP

address on the loopback)

- Describes all routers attached to it

• The set of LSA form the Database

10

R1

R3

R2

N1

R4

1

3

9

7

Router-LSARouter-LSARouter-LSAFrom To Cost

R2 N1 1R2R3 9

Network-LSANetwork-LSANetwork-LSAFrom To Cost

N1R1 3

N1 R2 7N1R3 1

Page 11: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Database Sync

11

• Ideally all routers have to sync their Database

• In practice in OSPF only adjacent routers Sync their Database

• Types of Sync:- Initial Sync ‣ when establishing adjacencies

- Continuous Sync ‣ when adjacencies are already established

DatabaseR1

R3

R2

N1

R4

1

3

9

7

1

3

9

7

Page 12: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Initial Database Sync

12

• Routers perform “Database Exchange Process”- State Machine

• Database Description Packets - Contains summaries of LS data

• DD are explicitly acknowledged• More recent LS Data can be explicitly requested

(Link State Request)• Process ends with adjacency establishment

Page 13: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Sync Example

13

RT1 RT2

DD

Hello

Hello

DD

DD

LS-Request

LS-Request

DD

DD

LS-Update

LS-Update

Down Down

ExStartInit

Loading

Exchange

Full

ExStart

Exchange

Full

Page 14: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Continuous Database Sync• Reliable Flooding• LSA are generated

‣ periodically if nothing changes (30 minutes)‣ upon specific events if they change the content of the LSA

• If a newer LSA is received by a router it is put in the database and a route computation is triggered

• The LSA is sent to all adjacencies which have to explicitly acknowledge it

14

Page 15: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Shortest-Path Tree

15

R1

1

R5

R4

R3

R2

R6

2

5

2

2

3

34

Destination Cost Next-Hop

R1

R2

R3

R5

R4

R6

0 *

1 link

2 link

4 R3

6 R2

7 R3

1. Added Destination = <R1,0>; Candidate Destination List = <R2,1> <R3,2>2. Added Destination = <R2,1>; Candidate Destination List = <R3,2> <R5,5> <R4,6>3. Added Destination = <R3,2>; Candidate Destination List = <R5,4> <R4,6> 4. Added Destination = <R5,4>; Candidate Destination List = <R4,6> <R6,7>5. Added Destination = <R4,6>; Candidate Destination List = <R6,7>6. Added Destination = <R6,7>; Candidate Destination List = 7. Done!

Page 16: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Hierarchical OSPF• Why?

- Reduce routing overhead- Increase scalability- Speed up convergence- Confine routing instabilities in contained areas

16

Page 17: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Hierarchical OSPF• How

- Inside Areas full OSPF- Flooding is limited to Areas- Area Border Routers

summarize information‣ LSA-Summary

- Area 0 (backbone mandatory)- Inter-area communication only

through Area 0- No loops allowed among areas- Only 2 levels hierarchy allowed

17

10.1.2.0/24

10.1.128.0/24

10.1.3.0/24

LSA-summary10.3.0.0/16

Page 18: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Worksheet 4• Use same VLANs topology like in Question 1

Work Sheet 2• Target: logical networks communicate using

OSPF• Readings:

‣ Cisco RIP‣ Juniper RIP‣ RFC 2328

18

Page 19: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

New Schedule!• Deadline Worksheet 4: 29th May 2009• No debriefings/Tutorials in the week from 19th to

22nd May• Debriefing Worksheet 3 (RIP) will be held on

27th May• Tutorial on BGP will be held on Thursday 28th

May

19

Page 20: Lab Course “RouterLab” - TU Berlin · Lab Course “RouterLab” OSPF - Open Shortest Path First (RFC 2328) 1 Some of the slides come from:

OSPF

Any other Question?

20