Lehrstuhl für Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
ilab Lab 3 Dynamic Routing Static Routing TCP/ IP ISO/ OSI - - PowerPoint PPT Presentation
Lehrstuhl fr Netzarchitekturen und Netzdienste Institut fr Informatik Technische Universitt Mnchen ilab Lab 3 Dynamic Routing Static Routing TCP/ IP ISO/ OSI Concepts, Hardware, Software Minicom Application Application
Lehrstuhl für Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
2 ilab: Dynamic Routing
Ciscorouter, IPv4, ICMP, ARP
Session Presentation Application Physical Datalink Network Transport Network Transport Application Host-to-Net TCP/ IP ISO/ OSI
Concepts, Hardware, Software
Minicom
3 ilab: Dynamic Routing
RIP, OSPF, BGP Session Presentation Application Physical Datalink Network Transport Network Transport Application Host-to-Net TCP/ IP ISO/ OSI
Concepts, Hardware, Software
2.4. What did RIP do? 2.5. Changing the setup a little... 2.6. Configuring the serial link 2.7. RIP done.
3.3. Distance values 3.6. Compare: OSPF with and without areas 3.7. Ad-/ Disadvantages of OSPF area routing 3.8. Inspecting OSPF packets
4.1. Autonomous systems Cisco Serial Link
Zebra
4 ilab: Dynamic Routing
Given: Graph
Main problem:
path tree in order to forward packets to their destination
Subproblems:
Routing algorithms solve subproblems 1 and 2
A E D C B F
2 2 1 3 1 1 2 5 3 5
5 ilab: Dynamic Routing
Approach
Information gathering
routing information (destination, costs)
Path calculation
has changed
Outcome
changed
Properties
distributed – each nodes only shared information with its neighbor
Iterative - algorithm terminates after all information has been exchanged
A E D C B F
2 2 1 3 1 1 2 5 3 5
B costs 2 C costs 4 D costs 1 E costs 2 F costs 4 A costs 1 B costs 2 C costs 3 E costs 1 F costs 3
?
6 ilab: Dynamic Routing
D () A B C D A 1 7 6 4 B 15 8 9 11 D 5 5 4 2
E
Costs to destination via
7 8 1 2 1 2
A B C D E
D (Y,Z)
X Distance from X to Y via Z c(X,Z) + min {D (Y,w)}
Z
= =
D (C,D)
E
c(E,D) + min {D (C,w)}
D w
=
= 2+2 = 4
Loop!
Example
Distance table contains unwanted routes
D (C,A)
E
c(E,A) + min {D (C,w)}
A w
=
= 1+5 = 6
7 ilab: Dynamic Routing
E costs via
Exit link, costs
8 ilab: Dynamic Routing
Rule: good news travels fast bad news travels slowly - “count to infinity” problem!
X
1 4 50 60
etc.
Y Z
9 ilab: Dynamic Routing
Split-Horizon
would route via D
Poison Reverse
Path vector routing
information in their update messages
A E D C B F
2 2 1 3 1 1 2 5 3 5
B costs 2 C costs ∞ D costs ∞ E costs ∞ F costs ∞
10 ilab: Dynamic Routing
Approach
Information gathering
topology due to the broadcasting of link properties
Path calculation
path tree (itself being the root of the tree)
Dijkstra or Bellman-Ford
path tree
Result: Routing table
A E D C B F
2 2 1 3 1 1 2 5 3 5
Flooding
A E D C B F
2 1 1 2 1
Shortest Path tree B B C-F D to via
11 ilab: Dynamic Routing
1.
INPUT
2.
Q : set of all nodes
3.
a : node
4.
OUTPUT
5.
d : distance for each node
6.
p : predecessor of each node in shortest-path tree
7.
BEGIN
8.
FOR all nodes v DO d[v]=inf; ENDFOR
9.
d[a]=0;
10.
p[a]=null;
11.
N={a}; // MinHeap regarding d[]
12.
WHILE N.notEmpty() DO
13.
v = N.popMinimum();
14.
FOR all nodes u adjacent to v DO
15.
IF d[u] > d[v]+c(v,u) THEN
16.
d[u] = d[v]+c(v,u);
17.
p[u] = v;
18.
N.addOrUpdate(u);
19.
ENDIF
20.
ENDFOR
21.
ENDWHILE
22.
END
Notation:
path tree
Baum
A E D C B F
2 2 1 3 1 1 2 5 3 5
Complexity: O(n2), n being the number of nodes
12 ilab: Dynamic Routing
Erstellen der Routing-Tabelle aus dem Kürzeste-Wege-Baum Wünschenswert ist es, nicht jedes Ziel einzeln eintragen zu müssen,
sondern Bereiche zusammenfassen zu können.
A E D C B F
2 2 1 3 1 1 2 5 3 5 Ziel Nächster Hop B B CDEF D
13 ilab: Dynamic Routing
In practice, nodes use a forward search alogorithm based on the
All nodes flood the network with their Link State Packets (LSP) Nodes maintain a tentative and a confirmed list and calculate the
routing table directly after receiving the LSPs A C B
2 4 1 8 3
D
14 ilab: Dynamic Routing
Step 1 2 3 4 5 6 7 confirmed (D,0,-) (D,0,-) (D,0,-) (A,1,A) (D,0,-) (A,1,A) (D,0,-) (A,1,A) (B,3,A) (D,0,-) (A,1,A) (B,3,A) (D,0,-) (A,1,A) (B,3,A) (C,6,A) tentativ (A,1,A) (B,4,B) (C,8,C) (B,4,B) (C,8,C) (B,3,A) (C,8,C) (C,8,C) (C,6,A) Notes Read LSP of D populate tentative list Add the least expensive entry to the confirmed list (here A) Read its LSP and update the entries (here: path to B) Add the least expensive entry to the confirmed list Read its LSP and update the entries (here: route to C) Add the least expensive entry to the confirmed list
A C B
2 4 1 8 3
D
15 ilab: Dynamic Routing
16 ilab: Dynamic Routing
AS X AS A AS D AS Z AS B AS C
Inter-AS- connection
Border Router Autonomous System X
AS X
Stub-AS Multihomed AS
Transittraffic
17 ilab: Dynamic Routing
Autonomous System (AS):
Networks under one administrative organization
Interior Gateway (IG):
Internal routers of an AS
Exterior Gateway (EG):
Border routers Core Network EG EG IG IG IG IG
AS AS
IG
Interior Gateway Protocols (IGP) Exterior Gateway Protocols (EGP) Routing in the internet
18 ilab: Dynamic Routing
Intra-Domain-Routing:
Inter-Domain-Routing:
(CIDR)
19 ilab: Dynamic Routing
Distance-Vektor-Verfahren
since 1982 in BSD-UNIX
Metric: # of Hops (max = 15 Hops)
Distance vectors: updates/advertisements are sent every 30s via UDP
Each advertisement contains routes to max. 25 destination networks
Link declared unreachable after 180s without an update
20 ilab: Dynamic Routing
Link-State-Verfahren
OSPF-Advertisement beinhaltet einen Eintrag pro Nachbarrouter
Advertisements werden an ganzes AS geflutet
Sicherheit: alle OSPF-Messages authentisiert, über TCP-Verbindung
unterstützt Multiple-same-cost-Pfade
Für jeden Link, multiple Kostenmetriken abhängig vom TOS (Linkkosten zum Beispiel abhängig davon, ob Best-Effort oder Realtime-Verkehr)
Integrierte Unterstützung von Uni- und Multicast:
OSPF
Hierarchisches OSPF für große AS.
21 ilab: Dynamic Routing
22 ilab: Dynamic Routing
23 ilab: Dynamic Routing
BGP (Border Gateway Protocol): Standard protocol in the internet Path-Vector-Protocol:
(sequence of AS numbers)
Neighbors decide based on policies and costs which path to use
24 ilab: Dynamic Routing
Policy:
through the network
Scalablity:
needed for exchanging routing information
Performance: