06 routing protocols - intranet deibhome.deib.polimi.it/capone/fcn/06-routing protocols.pdf ·...
TRANSCRIPT
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
06 Routing protocols
Fundamentals of Communication Networks
Topics
o Routing basics o Routing algorithms (Bellman-Ford,
Dijkstra) o Distance Vector protocols o Link State protocols o Examples of Internet routing
protocols (RIP, OSPF, BGP) o Multicasting
2
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Routing basics
Unicast Routing o Routing functionalities are fundamental for
internetworking o In TCP/IP networks o Routing allows the communication of two
nodes A and B not directly connected
A
B
4
Unicast Routing o Layer 3 entities along the path route (choose the
exit SAP) packets according to the destination address
o The correspondence Exit SAP – destination address is stored in the routing table
Entity A Routing one Entity C Entity B
5
Routing Protocol
o Comprises two different functionalities n Info exchange on network topology,
traffic, etc. (1) n routing table creation and maintenance
(2) o Formally (1) is the routing protocol o Practically, (1) and (2) are joint
phases. The way the routing tables are created depends on the routing message exchange and viceversa
6
Routing Algorithms
o A routing algorithm defines the criteria on how to choose a path between a source and a destination…
o …and builds the routing tables o The choice criteria depend on the
type of network (datagram, virtual circuit)
7
Routing and Network Capacity
o In broadcast networks no need of routing
o Thus the maximum supported traffic depends on the capacity of the channel
o In meshed IP networks multiple links can be used at the same time
o Thus, WHAT links are used impact on the Network capacity
8
Routing and Capacity
o Dumb Routing Planning
S1
D1 S2
D2
Link Capacity = C Max Traffic = C
9
Routing and Capacity
o Wise routing planning
S1
D1 S2
D2
Link Capacity = C Max Traffic = 3C
10
Routing in the Internet
o The type of forwarding impacts the routing policy o IP forwarding is:
n destination-based n next-hop based
o Consequence: n All the packs destined to D arriving at router R follow
the same path after R
R D
11
Routing in the Internet o Thus, we have the following constraints on the
routing: n All the paths from all the sources to a destination D
must form a tree, for each D
n Couples Source-Destination cannot be routed independently from other couples.
S5
D
S1 S2
S3
S4
S6
12
Shortest Path Routing o TCP/IP Routing: the shortest path to a
destination is chosen o The computation of the shortest path is
performed on the graph representing the network (device=vertex, link=edge, edge weight=metrics)
o Shortest Path properties: n All the paths to a destination form a tree n Easy and simple algorithms (polynomial
complexity, even distributed)
13
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Routing Algorithms
Some Definition on Graphs
15
o digraph G(N,A) n N nodes n A={(i,j), i∈N, j∈N} edges (ordered couple of nodes)
o path: (n1, n2, …, nl) set of nodes with (ni, ni+1) ∈A, without repeated nodes
o cycle: route with n1= nl o Connected digraph: for each couple i and j at
least one path from i to j exists o Weighted digraph: dij weights associated to the
edge (i,j) ∈A o Path (n1, n2, …, nl) length : dn1, n2+ dn2,n3+…+dn(l-1), nl
Finding the Shortest Path
16
o The problem has polynomial complexity in the number of nodes
Given G(N,A) and two nodes i and j, find the path with minimum length
Property: If node k is traversed by the shortest path from i to j, also the path from i to k is the shortest
Bellman-Ford Algorithm
o Assumptions: n Positive-negative weights n No negative cycles
o Target: n Find the shortest paths from a source to
all the other nodes n Find the shortest paths from all the
nodes to a destination
17
Bellman-Ford Algorithm o Variables:
n Di(h) length of the shortest path from the source
(assumed to be node 1) and node i with a number of hops ≤ h
o Initialization:
o Iterations:
o The algorithm stops after N-1 iterations
18
( )⎥⎦⎤
⎢⎣⎡ +=+
jihjj
hi
hi dDDD )()()1( min,min
1
0)0(
)(1
≠∀∞=
∀=
iDhD
i
h
An Example
o Initialization n Ds
h=0 n D1
0=inf n D2
0=inf o First Iteration
n D11=min (D1
0 , Ds0+1)=1, NH:S
n D21=min (D2
0 , Ds0+3)=3, NH:S
o Second Iteration n D1
2=min (D11 , D2
1+1)=1, NH:S n D2
2=min (D21 , D1
1+1)=2, NH:1
S 1
2
1
1 3
19
Distributed Bellman-Ford o It can be shown that the algorithm does
converge in a finite number of iterations even in its distributed form
o Nodes periodically send out their estimation of the shortest path and update such estimation according to the rule:
20
( )⎥⎦⎤
⎢⎣⎡ += jijjii dDDD min,min:
Dj
Bellman-Ford in practice
o Each node is assigned a label (n, L) where n is the next hop on the path and L is the path length
o Each node updates its label looking at its neighbors’ labels
o When the labels do not change any longer the shortest path tree can be built
21
Example: Bellman-Ford
22
2
2 1
5
3
1
1
2
4
(-, ∞) (-, ∞)
(-, ∞) (-, ∞)
(-, ∞) (1, 0) 1
2 3
6
4 5
(1, 2) (1, 5)
(1, 1) (-, ∞)
(-, ∞) (1, 0) (3, 9)
(4, 2)
(1, 5) (1, 2)
(1, 0)
(1, 1)
(5, 4)
(5, 3) (1, 2)
(4, 2) (1, 1)
(1, 0)
Dijkstra Algorithm
o Assumptions: n Positive weighted edges
o Target: n Find out the shortest paths form a source
(1) and all the other nodes o Initialization:
n dij=∞ if the edge i-j does not exist
{}1 ,0
,1
1)0(
1 ≠∀==
=
jdDDP
jj
23
Dijkstra Algorithms
{ }
( )[ ]1. To Go 3.
: setP in nodeany of neighbor each for 2.
STOP.then , If setand
: find 1.
kjkkjj
j)PN(ji
dDmin,DminD(N-P)j
NP.iPP:
DminD(N-P)i
+=
∈
=∪=
=
∈
−∈
24
Dijkstra in practice
o Same label criteria as Bellman-Ford o Label can be temporary or permanent o In the beginning the only permanent label
is the one of the source o At each iteration the temporary label with
the lowest cost of the path is made permanent
25
Example: Dijkstra
26
2
2 1
5
3
1
1
2
4
(-, ∞) (-, ∞)
(-, ∞) (-, ∞)
(-, ∞) (1, 0) 1
2 3
6
4 5
(1, 2) (1, 5)
(1, 1) (-, ∞)
(-, ∞) (1, 0) (3, 9)
(4, 2)
(1, 5) (1, 2)
(1, 0)
(1, 1)
(5, 4)
(5, 3) (1, 2)
(4, 2) (1, 1)
(1, 0)
On Complexity
o Bellman-Ford: n N-1 iterations n N-1 nodes to be checked each iteration n N-1 comparisons per node
o Complexity: O(N3)
o Dijkstra: n N-1 iteration n N operations each iteration on average
o Complexity: O(N2)
o Dijkstra is generally more convenient
27
Routing IP
o Sends packet on the shortest path to the destination
o The length of the path is measured according to a given metrics
o The shortest path computation is implemented in a distributed way through a routing protocol
o In the routing table the next hop only is stored, thanks to the property that sub-paths of a shortest path are shortest themselves.
28
Routing Protocols
o Handle the message exchange among routers to compute the paths to a destination
o Two classes n Distance Vector (RIP, IGRP) n Link State (OSPF,IS-IS)
o Differences n Type of metrics n Type of messages exchanged n Type of procedures used to exchange messages
29
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Distance Vector Routing Protocols
Distance Vector Protocols
o Routers exchange specific connectivity information: the Distance Vector (DV): [destination address, distance]
o DV is sent to directly connected routers only
o DV is sent periodically and/or whenever the network topology changes
o Distance estimation is performed using Bellman-Ford distributed algorithm
31
Distance Vector: Algorithm
o DV reception 1. Increase the distance to the specified
destination of the current link cost 2. For each specified destination
n If the destination is not in the routing table o Add destination/distance
n Otherwise o If the next hop in the routing table is the DV sender
n Update the stored information with the new one o Otherwise
n If the stored distance to the destination is bigger to the one specified in the DV § Update the stored info with the new one
3. End
32
Distance Vector
o DV is sent n periodically n Whenever something changes upon the
reception of another DV o Routers calculate distances if:
n A new DV is received n Something changes in the local network
topology (local link failure)
Computation: Dj’ = mink [ Dk + dkj ] K, Dk
J, Dj
dkj
33
Routing Tables Update
34
Distance Vector Example (1) o Simple Network Topology:
■ Assume each link has cost = 1
A B
E D
C 1 2
3
6
5 4
35
Distance Vector Example (2)
o Assume all the nodes wake up at the same time F cold start procedure
o Each node knows its local connectivity situation (directly connected links and interfaces)
o Start Up routing table for node A:
From A To Link CostA local 0
36
Distance Vector Example (3) o A sets up its Distance Vector
A=0 and sends it out to all of its neighbors (on local links)
o B and D receive the DV and enlarge their knowledge of the network
A B
E D
C 1 2
3
6
5 4
37
Distance Vector Example (4)
o node B, upon reception of the Distance Vector, updates the distance adding the link cost (A=1) and checks the DV against its routing table. A is still unknown, thus routing table update
o The same thing for node D
From B To Link CostB local 0A 1 1
38
Distance Vector Example (5) o Node B sets its DV
B=0, A=1 and fires it through its local links
o The same for node D: D=0, A=1
A B
E D
C 1 2
3
6
5 4
39
Distance Vector Example (6)
o The DV from B is received by A,C and E whilst that from D is received by A and E
o A receives the two DVs From B: B=0, A=1 From D: D=0, A=1
… and updates its routing table
From A to Link CostA local 0B 1 1D 3 1
A B
E D
C 1 2
3 6
5 4
40
Distance Vector Example (7) o C receives from B on link 2
B=0, A=1 … and updates its routing table :
From C to Link CostC local 0B 2 1A 2 2
A B
E D
C 1 2
3 6
5 4
41
Distance Vector Example (8) o Node E receives from B on link 4
B=0, A=1 and from D on link 6 D=0, A=1 … and updates its routing table
o The distance to A is the same through link 4 and 6
From E To Link CostE local 0B 4 1A 4 2D 6 1
A B
E D
C 1 2
3 6
5 4
42
Distance Vector Example (9) o The nodes A,C and E have updated their
routing tables thus they transmit their own DVs: node A: A=0, B=1, D=1 node C: C=0, B=1, A=2 node E: E=0, B=1, A=2, D=1
A B
E D
C 1 2
3
6
5 4
43
Distance Vector Example (10)
o Node B:
o Node D:
o Node E
B local 0 A 1 1
A: A=0, B=1, D=1 C: C=0, B=1, A=2 E: E=0, B=1, A=2, D=1
From B To Link CostB local 0A 1 1D 1 2C 2 1E 4 1
D local 0 A 3 1
A: A=0, B=1, D=1 E: E=0, B=1, A=2, D=1
From D To Link CostD local 0A 3 1B 3 2E 6 1
E Local 0B 4 1A 4 2D 6 1
C: C=0, B=1, A=2
From E verso Link CostE local 0B 4 1A 4 2D 6 1C 5 1 44
Distance Vector Example (11)
o The nodes B,D and E transmit their own DVs: node B: B=0, A=1, D=2, C=1, E=1 node D: D=0, A=1, B=2, E=1 node E: E=0, B=1, A=2, D=1, C=1
A B
E D
C 1 2
3
6
5 4
45
Distance Vector Example (12) o Node A:
o Node C:
o Node D
A local 0 B 1 1 D 3 1
B=0, A=1, D=2, C=1, E=1 D: D=0, A=1, B=2, E=1
C local 0 B 2 1 A 2 2
B=0, A=1, D=2, C=1, E=1 E=0, B=1, A=2, D=1, C=1
D Local 0A 3 1B 3 2E 6 1
E=0, B=1, A=2, D=1, C=1
From A To Link CostA local 0B 1 1D 3 1C 1 2E 1 2
From C To Link CostC local 0B 2 1A 2 2E 5 1D 5 2
From D To Link CostD local 0A 3 1B 3 2E 6 1C 6 2
Distance Vector Example (13)
o The algorithm has reached convergence o The nodes keep transmitting their DVs
periodically but the routing tables do not change
A B
E D
C 1 2
3
6
5 4
47
Distance Vector: Link 1 Failure
o Link 1 goes down
o Nodes A and B get aware of the link failure o …and update their routing table assigning
cost = infinity to link 1
A B
E D
C 1 2
3
6
5 4
48
Distance Vector: Link 1 Failure
49
o New DVs are sent: node A: A=0, B=inf, D=1, C=inf, E=inf node B: B=0, A=inf, D=inf, C=1, E=1
From A To Link CostA local 0B 1 1⇒infD 3 1C 1 2⇒infE 1 2⇒inf
From B To Link CostB local 0A 1 1⇒infD 1 2⇒infC 2 1E 4 1
Distance Vector: Link 1 Failure
50
o The DV from A is received by D which compares it against its routing table
o All the costs specified in the DV are greater or equal than the ones stored in the routing table, but node D updates its routing table since the link it receives the DV from is the one it uses to reach all the destinations
A B
E D
C 1 2
3
6 5
4 From D to Link CostD local 0A 3 1B 3 2⇒infE 6 1C 6 2
o Also C and E update their tables
From C to Link CostC local 0B 2 1A 2 2⇒infE 5 1D 5 2
From E to Link CostE local 0B 4 1A 4 2⇒infD 6 1C 5 1
Distance Vector: Link 1 Failure
51
o nodes D, C and E transmit their DVs node D: D=0, A=1, B=inf, E=1, C=2 node C: C=0, B=1, A=inf, E=1, D=2 node E: E=0, B=1, A=inf, D=1, C=1
A B
E D
C 1 2
3
6
5 4
Distance Vector: Link 1 Failure
52
Distance Vector: Link 1 Failure
o These DVs update the tables of A,B,D and E
From A to Link CostA local 0B 1 infD 3 1C 1⇒3 inf⇒3E 1⇒3 inf⇒2
From B To Link CostB local 0A 1 infD 1⇒4 inf⇒2C 2 1E 4 1
From D To Link CostD local 0A 3 1B 3⇒6 inf⇒2E 6 1C 6 2
From E To Link CostE local 0B 4 1A 4⇒6 inf⇒2D 6 1C 5 1
53
Distance Vector: Link 1 Failure
o Nodes A,B,D and E transmit the new DVs node A: A=0, B=inf, D=1, C=3, E=2 node B: B=0, A=inf, D=2, C=1, E=1 node D: D=0, A=1, B=2, E=1, C=2 node E: E=0, B=1, A=2, D=1, C=1
o A, B and C update their tables From A To Link Cost
A local 0B 1⇒3 inf⇒3D 3 1C 3 3E 3 2
From B To Link CostB local 0A inf⇒4 inf⇒3D 4 2C 2 1E 4 1
From C To Link CostC local 0B 2 1A 2⇒5 inf⇒3E 5 1D 5 2
■ The algorithm has reached a new steady state !!!
54
Distance Vector: Main Features
55
o PROs: n Very easy
o CONs: n High time to convergence n Limited by the lowest node n Possible loops n Instability in big networks
(counting to infinity)
Convergence Time
o Grows proportionally with the number of nodes (Low Scalability)
56
Distance Vector: counting to infinity
57
o Suppose link 6 goes down
A B
E D
C 2
3
6
5 4
Distance Vector: counting to infinity
58
o Node D detects link 6 failure and updates its routing table
o if D immediately transmits the new DV, node A updates its routing table (the only reachable node is D)
From D To Link CostD local 0A 3 1B 6 2⇒infE 6 1⇒infC 6 2⇒inf
Distance Vector: counting to infinity
59
o If node A transmits its DV node A: A=0, B=3, D=1, C=3, E=2 node D updates its routing table
o loop between node A and D o The algorithm does not reach convergence o At each step the distances to B, C and E
grows by 2 Ecounting to infinity
From D To Link CostD local 0A 3 1B 6⇒3 inf⇒4E 6⇒3 inf⇒3C 6⇒3 inf⇒4
o Hop Count Limit: n The counting to infinity is broken if infinity is
represented by a finite value n Such value must be bigger than the length of the
longest path in the network n When any distance reaches such value the
corresponding node is declared unreachable n During the counting to infinity :
o Packets loops o Congested links o High packet loss probability (including routing
packets) E Convergence may be very slow
Counting to infinity: Remedies
60
Counting to infinity: Remedies
61
o Split-Horizon: n if node A sends to D the packets meant for X,
it’s pointless for A to announce X in its own DV to D
n node A does not advertise to D the destination X
A D X
Distance Vector: Split Horizon
o Node A sends different DV on different local links
o Two Flavors of Split Horizon: n Basic: the node omits any information on
the destination which it reaches through the link it is using
n Poisonous Reverse: the node includes all the destinations, setting to infinity the distance to those reachable through the link it is using
o SH does not work with some topologies
62
Distance Vector: Split Horizon
63
o when link 6 goes down this is the situation of nodes B,C and E
From Link CostB to D 4 2C to D 5 2E to D 6 1⇒inf
A B
E D
C 2
3
6
5 4
Distance Vector: Split Horizon
o Node E advertises on links 4 and 5 that the distance to D is infinity
o Suppose that such message is received by B but not (error) by C
64
From Link CostB to D 4 2⇒infC to D 5 2E to D 6 inf
Distance Vector: Split Horizon
65
o Node C fires its DV (Split Horizon with Poisonous Reverse On) n To node E: C=0, B=1, A=inf, E=inf, D=inf
o On link 5 to reach D costs infinity n to node B: C=0, B=inf, A=3, E=1, D=2
o On link 2 to reach D costs 2
A B
E D
C 2
3
6
5 4
Distance Vector: Split Horizon
66
o B updates its routing table and sends its DV (Split Horizon Poisonous Reverse On): n on link 2 D is reachable with cost = infinity n on link 4 D is reachable with cost 3
o nodes B,C and E:
o loop among nodes B,C and E until the cost threshold is reached
o AGAIN counting to infinity
From Link CostB to D 4⇒2 inf⇒3C to D 5 2E to D 6⇒4 inf⇒4
o Use of Counters/Timers (Hold down) n If for Tinvalid no info from the first hop to
a specific destination, destination is no longer valid (not advertised in the DVs, DVs from other nodes skipped)
n after Tflush the route is flushed n Tinvalid - Tflush must be set so that the new
information propagate within the whole network
n Invalid routes advertised with distance = infinity
n Nodes receiving an invalid route set the route as invalid themselves
Counting to infinity: remedies
67
o Triggered Update n Explicit advertisement of the changes in
the topology n Speed up convergence n Prompt failures discovery
Counting to infinity: remedies
68
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Link State Routing Protocols
o Each node knows neighboring nodes and the relative costs to reach them
o Each node sends to ALL the other nodes such information (flooding) through Link State Packet (LSP)
o All the nodes keep a LSP data base and a complete map of the network topology (graph)
o On the complete graph shortest paths are computed using Dijkstra
Link State Routing Protocols
70
Link State: PROs
o Flexibility and Optimality in the path definition (complete map of the network topology)
o LSP information is not sent periodically but only when something changes
o All the nodes get promptly aware of any change in the network topology
71
Link State: CONs
o Signaling protocol required to keep the topological information (Hello)
o flooding needed o LSP must be acknowledged o Difficult to implement
72
Link State: example
73
R1
R2
R4
R5
R3
a
b
c a 1 b 1 c 1 R2 0 R1 2 R3 4
2 4 1
LSP generated by R2
Flooding
o Each entering packet is transmitted through all the interfaces except the incoming one
o possible loops and consequent traffic congestion
o Sequence number (SN) + SN database in each node to avoid multiple transmissions of the same packet
o Hop counter (same as TTL in IP)
74
Example
o Each node owns a LSP data base
A B
E D
C 1 2
3
6
5 4
75
Example o The LSP data base represents the network topology
o Each node can easily calculate the shortest path to all the other nodes in the network
From To Link Cost Sequence NumberA B 1 1 1A D 3 1 1B A 1 1 1B C 2 1 1B E 4 1 1C B 2 1 1C E 5 1 1D A 3 1 1D E 6 1 1E B 4 1 1E C 5 1 1E D 6 1 1
76
Upon reception of an LSP
77
o If the LSP has not been received yet or if the SN is greater than the one already stored: n Store the new LSP n Apply the flooding
o If the LSP has the same SN of the one stored n Do nothing
o If the LSP is older than the one stored n Transmit the newer one to the sender
Link State: Example o The routing protocol must update the network topology
whenever something changes
o link 1 failure is detected by nodes A and B which send an LS update packet on links 3, 2 and 4
node A: From A, To B, Link 1, Cost=inf, Number=2 node B: From B, To A, link 1, Cost= inf, Number=2
A B
E D
C 1 2
3
6
5 4
78
Link State: Example o The messages are received by nodes D,E
and C which update their data base and flood on the local links
o The new data base after flooding is: From To Link Cost Sequence Number
A B 1 1⇒inf 1⇒2A D 3 1 1B A 1 1⇒inf 1⇒2B C 2 1 1B E 4 1 1C B 2 1 1C E 5 1 1D A 3 1 1D E 6 1 1E B 4 1 1E C 5 1 1E D 6 1 1
79
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Examples of Internet routing protocols
o Autonomous System: portion of Network managed by a single organization
backbone
AS AS
AS Autonomous System
Exterior Gateway
Interior Gateway
o EGP - Exterior Gateway Protocol
o IGP - Interior Gateway Protocol
Routing in Internet
81
o Routing Domain (RD): portion of an AS running a single routing protocol
o some routers belonging to multiple RDs implement multiple routing protocols
AS
RD
RD
RD
Routing Domains
82
o Multiple RD routers must act as routing protocols gateways
o Translation from Prot. A to Prot. B depends on the implementation of A and B
o Prot A and B may be one IGP and one EGP (distribution criteria are defined)
RD RD
Prot. A Prot. B
Routing Distribution
83
The most common routing protocols
84
o IGP n RIP (Routing Information
Protocol), version 1 and 2 n IGRP (Interior Gateway Routing
Protocol) CISCO proprietary n IS-IS (Intermediate System
Intermediate System) n OSPF (Open Shortest Path First)
o EGP n BGP (Border Gateway Protocol)
Link State
Distance Vector
Path Vector
o Designed at Berkeley (1982) and standardized in RFC 1058
o IGP o Distance Vector, uses Bellman-Ford to compute
shortest paths o Metrics: number of hops o Limited to 16 hops o RIP messages are encapsulated into UDP
segments (port: 520)
RIP Version 1
85
RIP v1: message format
o RIPv1 messages can be: n Requests n Responses (stimulated/non stimulated)
Source: TCP/IP Protocol Suite, B. Forouzan
86
Request Messages
o Requests may come from n “Just-Switched-on” router n A router having some destination out of date
o Requests may deal with n All the destinations n Specific destinations
Source: TCP/IP Protocol Suite, B. Forouzan
87
Response Messages
Includes the DV
Source: TCP/IP Protocol Suite, B. Forouzan
88
RIP v1: timing o routing update timer (default 30 s)
n Period of time between two contiguous DVs
o route invalid (or duration) timer (default 180 s) n If no DV is received from an interface in this
interval, the routes are declared invalid and its distance is set to 16
o route flush timer or garbage collection timer (default 270 s) n Time interval after which a route is erased (if
other DVs arrive from other interfaces they are accepted)
89
RIP Version 2 o Standardized in RFC 1723 o Added Functionalities
n Info on connectivity (router tag + next hop address) n Authentication n Classless routing (subnet mask) n Multicasting: uses address 224.0.0.9
Source: TCP/IP Protocol Suite, B. Forouzan 90
RIPv2: Authentication
Source: TCP/IP Protocol Suite, B. Forouzan
91
OSPF (Open Shortest Path First)
o RFC 1247, 1583 o Link state o Hierarchical routing o Hello protocol
o LSA (link state advertisement)
92
OSPF: routers classification
Source: Computer Networking, J. Kurose
93
OSPF: Types of links
Source: TCP/IP Protocol Suite, B. Forouzan
94
OSPF: Topology Representation
Network as represented by OSPF
Real Network
Source: TCP/IP Protocol Suite, B. Forouzan 95
OSPF: Packets
o Routing Packets are acknowledged
Source: TCP/IP Protocol Suite, B. Forouzan
96
Version (1) Type Message Length
Source Gateway IP address
Checksum
Authentication
1 4 8 16 19 32
Area ID
Authentication type
Authentication
OSPF: Common Header
97
o Type field: type of OSPF packets n HELLO: neighboring nodes detection n DATABASE DESCR IPT ION : l i n k s t a t e
broadcasting
n LINK STATUS REQUEST n LINK STATUS UPDATE n LINK STATUS ACKNOWLEDGE: ack for the LSU
packets
o Source gateway IP address IP address of the sender
o Area ID indicates the area
OSPF: Packets
98
OSPF: Types of LSA o Type 1: router links advertisement
n Within the same area (classical LSP) o Type 2: network links advertisement
n Generated by a LAN pseudo-Node (DR) o Type 3: network summary link advertisement
n Generated by area border routers to summarize the info regarding an area
o Type 4: boundary routers summary link advertisement n Generated by the area border routers, indicates
the presence of a AS boundary router in the area and the associated cost
o Type 5: AS external link advertisement n Generated by AS boundary routers and propagated
to all the routers of all the areas with info on external destinations and the associated costs 99
o The area border router propagates in every area routing info regarding all the other areas they are connected to n distance vector contamination
As seen in area 2
OSFP: border routers
100
o OSPF sends periodically HELLO messages to test if neighbors are reachable
o database description messages are used to initialize the topology data base
o Data on link metrics are broadcast through the link status update messages
OSFP
101
OSPF: Hello Packets
o Used for n Neighbors discovery n Select a designated router
Network Mask
Dead Interval
Backup Designated Router IP
Hello Interval All 0’s E T Priority
Neighbor IP address
Designated Router IP
Common Header 24 bytes Type:1
Set to 1 when the network is a stub
Set to 1 If the sender uses Multiple metrics
102
OSPF: LSU Packets
o LSU packets have a common header + Link State common header + payload
103
OSPF: Router Link LSA
o Link ID (link address) o Link data/Link Type: depends on the link
type (point to point, stub, network) 104
Router Link LSA: Example 10.24.7.14
10.24.7.15 10.24.7.16 10.24.7.0/24
Metrica:4
Metrica:6 Metrica:2
10.24.7.14 1
4 1
OSPF Header Type: 4 LSA Header Type:1
10.24.7.15 2
6 1
10.24.7.0 255.255.255.0
2 3
105
OSPF: Network Link LSA
o Network Mask o Attached Router: all the routers
connected to the network
106
Network Link LSA: example
o Only the Designated Router (one of the three routers) signals the presence of all the other routers
o Network address is not advertised (can be obtained form the header info)
OSPF Header Type:4
255.255.255.0
10.24.7.15
LSA Header Type:2
10.24.7.16
10.24.7.14 10.24.7.14 10.24.7.15 10.24.7.16
107
OSPF: Summary Link to Network LSA
o Used to advertise networks outside an area of a AS
o 1 message for 1 network (multiple messages needed to address more networks)
108
OSPF: Summary Link to AS Boundary Router LSA
o Defines the network a border router is connected to
109
OSPF: External Link LSA
o Defines external networks o Forwarding Address: to route packets
meant for external destinations 110
Template Activity o Given the network below with routers, networks and
costs associated to the interfaces
R2
N1
R1
R3 R4
R5 R6
R7 N9
N8
N4
N2
2
1
R8 R9 R10
N5
N6 N7
N10 N12
1 1 1
2
2
2
1
1
2 2 1
2
2 1
1 1 1
1
111
Template Activity o Assuming the AS runs OSPF
a) Sketch the graph of the network as represented by OSPF assuming one single area
b) Assuming the AS divided in areas as in the figure (area 0, area 1 and area 2) sketch the graphs of the AS as seen by routers R1, R7 and R10
112
Solution N1
R1 R2 R4 R3
N6 N7 N2
R5 R6
N4
N5
R7
N8
N11
N10 R10 R9 R8
N9
N12 2
2
2
1 1
1
1
2
2 2
1
1
1 1 2
1 1 1
1
2
a)
113
Solution N1
R1 R2 R4
R3 N6 N7
N2
N4 N5
N8
N11
N10
N9
N12
2
8
5 7
9 6
1 1
2
1 1 1
1
9
b) As seen by R1
R2
N1
R1 R3 R4
R5 R6
R7 N9 N8
N4
N2
2
1
R8 R9 R10
N5 N6 N7
N10 N12
1 1 1
2
2
21
1
2 2 1
2
2 1
1 1 1
1
114
Solution N1
R3 N6
N7
N2
R5 R6
N4
N5
R7
N8
N11 N10
N9
N12
2
2 2
1
1
2
2
b) As seen by R7 1
3
3
4 9
7
10
R2
N1
R1 R3 R4
R5 R6
R7 N9 N8
N4
N2
2
1
R8 R9 R10
N5 N6 N7
N10 N12
1 1 1
2
2
21
1
2 2 1
2
2 1
1 1 1
1
115
Solution
N1
R4
N6
N7
N2
N4
N5
N8
N11
N10 R10 R9 R8
N9
N12 2
2
2
1 1
1
1
1
b) As seen by R10
3
3
4
11
11
8 R2
N1 R1
R3 R4
R5 R6
R7 N9 N8
N4
N2
2
1
R8 R9 R10
N5 N6 N7
N10 N12
1 1 1 2
2
21
1 2 2
1
2
2 1 1 1 1
1
116
BGP o Most used EGP (standard de facto) o Inter AS routing is different from intra AS one
n Route decisions criteria are not based on metrics n Backbone managers choose the routes according
to a policy n Routing choice may need to exploit full
knowledge of the path to destination o Thus:
n DV does not fit since it has no knowledge of all the path
n LS does not fit since it will need to build up a database of the entire internet
117
BGP: Path vector o BGP is similar to distance vector,
but; n the PVs do not report a “distance to
destination”, but the entire path to destination
Network
Next Router Path
N01 R01 AS2,AS5,AS7,AS12 N02 R07 AS4,AS13,AS6,AS9 N03 R09 AS11,AS12,AS8,AS6 … … …
118
BGP: messages exchange
o Each BGP router sends its path vector to neighboring nodes (peers)
o BGP messages use TCP o TCP connections are opened by
sending routers o BGP uses port number 179
119
BGP: Path Vector o BGP allows the distribution of paths to
specific destinations o ..but leaves the routing choice to the
network administration (policy based routing)
120
Policy based routing
o A BGP router receiving a path vector from a peer may decide to: n Add to the routing table the destination
specified in the PV n Forward the PV to the neighbors
o On the basis of the local routing policy
121
Policy based routing: example 1
o B doesn’t update its routing table and doesn’t forward the PV since this goes against the local routing policy
A B
D
C
N01, RD, D
N01, RA, A-D
Net Next Router Path
N01 RD D
122
Policy based routing: example 2
o D does not update its routing table and does not forward the PV since its own AS is specified in the path
A B
D
Net Next Router Path
N01 RD D
N01, D, RD
Net Next Router Path
N01 RA A-D
N1, B-A-D, RB
N01, A-D, RA
123
BGP: Path vector
o path vector messages contain attributes
o Attributes may be mandatory and optional
o Mandatory attributes: n ORIGIN: IGP protocol origin of the info
(e.g. OSPF, RIP, IGRP) n AS_PATH: sequence of traversed AS n NEXT_HOP: next router
124
BGP Messages
o Common header
125
Open Messages o Peering set up messages o Routers answer with keepalive messages (common
header only)
BGP version (4)
Waiting time for a keepalive message
AS id
Sender ID
Authentication option
126
Update Messages
o Contain the path vector
o Used to advertise path or to cancel previously advertised paths
127
Notification Messages
o To notify an error or to close a connection
128
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione
Multicasting
Multicasting
o Applications may require the use of point-to-multipoint connections n audio and video broadcast n Network games (Quake, etc.)
130
o multicasting can also be implemented by the source over a unicast network
Multicasting o If the network supports multicasting 1
packet is enough o Some nodes in the network must play an
active role (red routers)
131
o Required Functionalities: n Destinations
groups definition n addressing n Routing definition
Groups and Addresses
132
o IP defines an addressing class for multicasting applications
o Group addresses reduce overhead, but pose new problems: n How to build up a
group n How to add
members to a group
n How to know the members’ list
11110 multicast addresses from 224.0.0.0 to 239.255.255.255
Internet Group Management Protocol (IGMP)
o Specific routers manage the multicasting o IGMP is used in the communications
between hosts and multicast routers o Each host communicates with the
multicast router within its own IP subnet
133
Group Management
134
o The multicast router periodically sends out multicast messages (224.0.0.1 to all the systems in the LAN)
o Hosts answer with the list of the multicast groups currently in use by some application
IGMP Message types Sent by Purpose
membership query: general routerquery multicast groups joined by attached hosts
membership query: specific router
query if specific multicast group joined by attached hosts
membership report host
report host wants to join or is joined to given multicast group
leave group hostreport leaving given multicast group
Source: Computer Networking, J. Kurose
Multicast routing o How to forward multicast
packets? o Target: to set up a
spanning tree without cycles
o The routers not connected to users of a given group may be excluded from the tree
o Similar problem to the transparent bridging
135
What Trees?
o One common tree FOR ALL the multicast traffic sources
o One tree FOR EACH of the multicast traffic sources
136
Group-shared tree Source-based trees
Group-Shared Tree o Theoretically the minimum cost tree can be found o Practically sub-optimal approaches are used: o center-based approach:
n Central router election n Join (unicast) messages are sent to the central router n The messages trace the branches of the multicast tree
and stop either at the central router or at a router already belonging to the tree
137
Source-based Trees
o It uses the shortest path tree o Reverse Path Forwarding (RPF)
138
o All the packets arriving from the shortest path to the source are forwarded
o All the others are dropped
Non-multicast router may belong to the Multicast tree
Source-based Trees: pruning
o Pruning to eliminate nodes from the multicast tree
o Router can detach from the tree sending prune packet along the tree (in the opposite direction)
139
o Problems: n Gather info on leaf
routers (signalling needed)
n Let new router enter the tree (explicit unprune messages or pruninig timer)
Distance Vector Multicast Routing Protocol (DVMRP)
o distance vector to set up the multicasting tree
o Each router owns a list of depending routers
o pruning messages are sent only if all the router of the list have already been pruned
o explicit unprune messages (grafts) o pruning info have a time-out
140
Multicasting in Internet o Only a small fraction of Internet routers
has multicast functionalities o What happens if none of the neighboring
routers supports multicast functionalities? o MBone (Multicast Backbone) uses
tunneling:
141