Upload
lucy-mckinney
View
241
Download
0
Tags:
Embed Size (px)
Citation preview
Routing Algorithms
Network Layer 4-2
Dynamic Routing
The routing table is updated using the routing protocols. When there is a change in the Internet such as router breakdown or link failure, the routing protocols update all the information in the routing tables.
For the dynamic routing, routers should exchange routing information using routing protocols. routing information
• information about network topology, delay, etc. routing protocol
• It specifies the routing messages and procedures to exchange the routing information to determine routes.
Network Layer 4-3
Internet Routing Architecture Internet architecture from routing’s views
It is unrealistic to apply a single routing protocol to the worldwide Internet because of its size.
So, the worldwide Internet is divided into many groups, which are administered independently.
These independent groups of networks are called the autonomous systems(AS) which are assigned 16 bits long AS number.
AS • “a group of networks and routers controlled by a single
administrative authority” Each AS needs to inform its routing information of other
ASs. For this purpose each AS has more than one border routers.
Network Layer 4-4
Subnet 1.2
Subnet 1.4 Subnet
2.3
Subnet 2.2
Subnet 2.4
Subnet 2.1
Subnet 1.3
R1
R2R3
R4
R5
R6
R7
R8
Autonomous System 1 Autonomous System 2
LEGEND: Interior Gateway Protocol
Exterior Gateway Protocol
Subnet 1.1
Network Layer 4-5
Internet Routing Protocols
Interior Gateway Protocol (IGP) IGP is operated within each AS. Each AS can operate its own IGP. Most well-known IGPs
• RIP(Routing Information Protocol)• OSPF(Open Shortest Path Find)
Exterior Gateway Protocol (EGP) To exchange packets between AS, the AS border
routers should exchange the routing information. EGP is the routing protocol between ASs.
• BGP(Border Gateway Protocol)
Network Layer 4-6
IGPs
Routingprotocol
Shortest path algorithm
Routingalgorithm
RIPIGRP
Bellman-Ford algorithm
Distance Vector algorithm
OSPFIS-IS
Dijstra algorithm Link State algorithm
Network Layer 4-7
Distance Vector Algorithm
(assume that the metric is delay)Step 1: Each router exchange ECHO packet to measure the time to reach each neighboring routers.
Step 2: Each router send this information to its neighboring routers periodically. The information contains the times to reach all other routers.
Step 3: Each router determines the mim. time to reach all other routers using step 1 and 2. And update its own routing table.
Network Layer 4-8
Example
J A CEcho 패킷
m secTi sec
E
B
D(TAB, TAC, TAD, TAE)
TB = m + TABTC = m + TACTD = m + TADTE = m + TAE
Network Layer 4-9
Example: sample network
A
E
I
B C D
F G H
J K L
Network Layer 4-10
new information from A, I, H, K
From to
A I H K
A 0 24 20 21 B 12 36 31 28 C 25 18 19 36 D 40 27 8 24 E 14 7 30 22 F 23 20 19 40 G 18 31 6 31 H 17 20 0 19 I 21 0 14 22 J 9 11 7 10 K 24 22 22 0 L 29 33 9 9
Network Layer 4-11
New information on the neighboring nodes Suppose that the delay from J to A, I,H, and K
8,10,12,6 secs respectively. Then what is the next hop router and the delay to
reach G from J?
J ---> A -------> G 8 + 18 = 26
J ----> I -------> G 10 + 31 = 41
J ----> H ------> G 12 + 6 = 18 (best route for JG)
J ----> K ------> G 6 + 31 = 37
Network Layer 4-12
Updated routing table of J
destination delay Outgoing link A 8 A B 20 A C 28 I D 20 H E 17 I F 30 I G 18 H H 12 H I 10 I J 0 - K 6 K L 15 K
Network Layer 4-13
Link state Routing
Overview Each node collects the topology information of the
whole network, and then computes the shortest paths to reach each node using the Dijkstra algorithm.
The routing protocols such as ISO’s IS-IS and IETF’s OSPF belong to this algorithm, and they will replace the DVA routing protocol.
Examples OSPF for TCP/IP ISO’s IS-IS for CLNS and IP DEC’s DNA Phase V Novell’s NLSP(Netware Link services protocol)
Network Layer 4-14
Link state Routing Algorithm
Discover the neighboring node. (send Hello message periodically)
Measure the link costs to the neighboring nodes. Make the Link State packet. Broadcast the Link State packet to all nodes. After receiving the Link State packets from all other
nodes, make the link state database. Compute the shortest paths to reach all other
nodes based on the link state database.
Network Layer 4-15
Example of Link state routingStep1: Collect the link state information from the
neighboring nodes and make the link state packets.
A
B
D
C
E
F
5
2
3 1
2 1
1 332
Aseq#age
B 2C 5D 2
Dseq#age
A 2B 2C 3E 1
Cseq#age
A 5B 3D 3E 1F 1
Bseq#age
A 2C 3D 2
Eseq#age
C 1D 1F 1
Fseq#age
C 1E 1
Link state packets
Network Layer 4-16
Example of Link state routing
Step 2: Propagate the link state information to all other nodes. Make the link state packet. Use the flooding.
Step 3: Compute the shortest path. Based on the link state information, the node makes
the link state database that represents the whole network topology.
Compute the shortest path using the Dijkstra algorithm.
Network Layer 4-17
Link State Database
A
B
D
C
E
F
5
2
3 1
2 1
1 332
Link # Cost Link # CostA-BA-CA-DB-AB-CB-DC-A
2522325
D-EE-CE-DE-FE-CE-E
111111
C-BC-DC-EC-FD-AD-BD-C
3311223
Link # Cost
Network Layer 4-18
Internet Routing Protocols
Network Layer 4-19
Intra-AS Routing
Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocol (Cisco proprietary)
Network Layer 4-20
RIP IETF standard routing protocol Based on the Distant Vector algorithm The hop count is used as the metric.
The hop count is 1 for an adjacent network. The hop count 16 means infinity.(network is not
connected.) Each router exchange routing information every
30 secs. The routing information contains the whole routing table
entries. Each advertisement: list of up to 25 destination
nets within AS It uses the UDP port number 520. It was first implemented in the UNIX 4.2 BSD.
Network Layer 4-21
Procedure
Receive a response RIP message
1. Add one hop to the hop count for each advertised destination2. Repeat the following steps for each advertised destination:
If (destination not in the routing table)Add the advertised information to the table
elseif (next-hop field is the same)
replace entry in the table with the advertised oneelse
if (advertised hop count smaller than one in the tableadd it to the routing table
elsedo nothing
3. Return
Network Layer 4-22
RIP: Example(1)
Network Layer 4-23
RIP: Example(2)
Network Layer 4-24
RIP: Example(2)
Network Layer 4-25
RIP message
Command version
family
reserved
All 0s
Network address
All 0s
All 0s
distance
Command : request (1) or response (2) The unsolicited response is transmitted periodically every 30 secs. Family: TCP/IP (2)distance : hop count
반복
Network Layer 4-26
Problems of DVA(RIP)
Problems scalability Slow convergence
• In particular, when the shortest paths are changing rapidly, the inconsistency between routing tables can happen, since the updated routing information propagates slowly.
• count-to-infinity problem Not proper to be expanded to multicast
routing protocol.
Network Layer 4-27
Good news go travels quickly!
good news go fast! When the connection with the network 1 is added, the routing
table can reach the stability after 2 message exchanges.
upR1 R3R2Net 1
Net D R 1 1 R1
Net D R 1 -
Net D R 1 -
Net D R 1 1 R1
Net D R 1 2 R1
Net D R 1 -
Net D R 1 1 R1
Net D R 1 2 R1
Net D R 1 3 R2
(N1,1)
(N1,1)
(N1,2)(N1,2)
Initial state
time
Note: (x, y) = (destination network, Distance)
distance next routerdestination
Network Layer 4-28
Count-to-infinity Problem(1)crash
R1 R3R2Net 1
Net D R 1 -
Net D R 1 2 1
Net D R 1 3 2
Net D R 1 3 2
Net D R 1 4 3
Net D R 1 3 2
Net D R 1 5 2
Net D R 1 4 3
Net D R 1 5 2
Net D R 1 5 2
Net D R 1 6 1
Net D R 1 5 2
Net D R 1 -
Net D R 1 -
Net D R 1 -
(N1,2)
(N1, )
(N1,4)
(N1,3)
(N1,4)
(N1,5)
(N1,3)
(N1,2)
(N1,3)
(N1,4)
(N1,5)
(N1,4)... ... ...
Initial state
time
Network Layer 4-29
Count-to-infinity Problem(2) Bad news goes slowly!!
In the previous picture, when the connection between R1 and network 1 is broken, the cost (distance) to network 1 grows to infinity gradually.
When the cost reaches to 16, the router knows that the connection is broken.
When the bad news occur, it takes a long time to be aware of that.(slow convergence)
Solutions Split Horizon Hold down Poison reverse
Network Layer 4-30
Solutions to the Count-to-infinity Problem
Split horizon update (with Poison Reverse) The router interface that receives the information
about a certain network should send information about that network to other routers as infinity (distance=16)
It cannot be applied to all kinds of topologies. Route poisoning
If a router receives the information that the hop count to a certain network increases, it sets the hop count=16, and send it to other routers, suspecting a loop might occur.
Network Layer 4-31
Split Horizon
A router should never send the routing update information to the interface through which it received the corresponding routing information.
Net1 Net2 Net3
Net2 1Net3 2 Net3 1
A B
Net1 1Net1 2Net2 1
routing message routing message
Network Layer 4-32
Poison reverse
When a router sends the routing update message to all routers, it says to the interface from which it received the information about the network that the cost to the network is infinity (cost=16).
Net1 Net2 Net3
Net1 16Net2 1Net3 2
A B
routing message
Net1 1Net2 16Net3 16
Net1 16Net2 16Net3 1
routing message
Net1 2Net2 1Net3 16
Network Layer 4-33
RIP: Link Failure and Recovery If no advertisement heard after 180 sec -->
neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements
(if tables changed) link failure info quickly propagates to entire net poison reverse used to prevent ping-pong
loops (infinite distance = 16 hops)
Network Layer 4-34
RIP Table processing
RIP routing tables managed by application-level process called route-d (daemon)
advertisements sent in UDP packets, periodically repeated
physical
link
network forwarding (IP) table
Transprt (UDP)
routed
physical
link
network (IP)
Transprt (UDP)
routed
forwardingtable
Network Layer 4-35
OSPF (Open Shortest Path First)
“open”: publicly available Uses Link State algorithm
LS packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm
OSPF advertisement carries one entry per neighbor router
Advertisements disseminated to entire AS (via flooding) Carried in OSPF messages directly over IP (rather than
TCP or UDP
Network Layer 4-36
OSPF “advanced” features (not in RIP)
Security: all OSPF messages authenticated (to prevent malicious intrusion)
Multiple same-cost paths allowed (only one path in RIP)
For each link, multiple cost metrics for different TOS (e.g., satellite link cost set “low” for best effort; high for real time)
Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology
data base as OSPF Hierarchical OSPF in large domains.
Network Layer 4-37
Hierarchical OSPF
Network Layer 4-38
Hierarchical OSPF
Two-level hierarchy: local area, backbone. Link-state advertisements only in area each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas. Area border routers: “summarize” distances to
nets in own area, advertise to other Area Border routers.
Backbone routers: run OSPF routing limited to backbone.
Boundary routers: connect to other AS’s.
Network Layer 4-39
Internet inter-AS routing: BGP
BGP (Border Gateway Protocol): the de facto standard
BGP provides each AS a means to:1. Obtain subnet reachability information from
neighboring ASs.2. Propagate the reachability information to all
routers internal to the AS.3. Determine “good” routes to subnets based
on reachability information and policy. Allows a subnet to advertise its
existence to rest of the Internet: “I am here”
Network Layer 4-40
Anonymous System(AS)
Subnet 1.2
Subnet 1.4 Subnet
2.3
Subnet 2.2
Subnet 2.4
Subnet 2.1
Subnet 1.3
R1
R2R3
R4
R5
R6
R7
R8
Autonomous System 1 Autonomous System 2
LEGEND: Interior gateway protocol
Exterior gateway protocol
Subnet 1.1
Network Layer 4-41
Autonomous System (AS) AS
“ a set of routers under a single technical administration, using an Interior Gateway Protocol and common metrics to route packets within the AS and using an Exterior Gateway Protocol to route packets to other ASs” (RFC 1771)
Today AS may use more than one IGP, with potentially several sets of metrics.
The autonomous system designator is a 16-bit number, with a range of 1 to 65535. A range of AS numbers, 64512 through 65530, is reserved for private use, much like the private IP addresses.
Network Layer 4-42
Path attributes & BGP routes
When advertising a prefix, advert includes BGP attributes. prefix + attributes = “route”
Two important attributes: AS-PATH: contains the ASs through which the advert
for the prefix passed: AS 67 AS 17 NEXT-HOP: Indicates the specific internal-AS router
to next-hop AS. (There may be multiple links from current AS to next-hop-AS.)
When gateway router receives route advert, uses import policy to accept/decline.
Network Layer 4-43
BGP messages
BGP messages exchanged using TCP. BGP messages:
OPEN: opens TCP connection to peer and authenticates sender
UPDATE: advertises new path (or withdraws old)
KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request
NOTIFICATION: reports errors in previous msg; also used to close connection
Network Layer 4-44
AS 1
AS 5
AS 2
AS 3
1
1
BGP Example
R1
R2
R3R51
R52
AS 4R4
N3
N2
N1
Network Layer 4-45
BGP Example R1
Obtain the network information in AS1 by exchanging the IGP routing messages between routers in AS1.
R1 sends BGP UPDATE message to all BGP neighbors. The UPDATE message includes:
• AS_Path: {AS1}• Next_Hop: {R1’s IP address}• NLRI: {N1, N2, N3}
R2, R3 R2 and R3 that received the UPDATE message can
know that the networks in AS1 can be reached via R1.
Network Layer 4-46
AS 1
AS 5
AS 2
AS 3
2
2
BGP Example
R1
R2
R3R51
R52
AS 4R4
N3
N2
N1
Network Layer 4-47
BGP Example
R2 sends to R51 the UPDATE message that includes the following: AS_Path: {AS1, AS2} Next_Hop : {R2’s IP address} NLRI: {N1, N2, N3}
R3 sends to R4 the UPDATE message that includes the following: AS_Path: {AS1, AS3} Next_Hop : {R3’s IP address} NLRI: {N1, N2, N3}
Network Layer 4-48
AS 1
AS 5
AS 2
AS 3
3
BGP Example
R1
R2
R3R51
R52
AS 4R4
N3
N2
N1
Network Layer 4-49
BGP Example
R4 sends to R52 the UPDATE message that includes the following: AS_Path: {AS1, AS3, AS4} Next_Hop : {R3’s IP address} NLRI: {N1, N2, N3}
Network Layer 4-50
AS 1
AS 5
AS 2
AS 3
BGP Example
R1
R2
R3R51
R52
AS 4R4
N3
N2
N1
Network Layer 4-51
BGP Example R51 and R52
R51 that received the UPDATE message from R2 can know:• The networks in AS1 can be reached via R2 • The path is {AS2, AS1}.
R52 that received the UPDATE message from R4 can know:• The networks in AS1 can be reached via R4• The path is {AS4, AS3, AS1}.
R51 and R52 exchange BGP UPDATE messages. They will choose the better path.
Choosing the path, they refer to AS-path list in the UPDATE message to find out:
• Route loop(loop prevention)• Path selection based on the shortest path(shortest path vector)• Path selection based on AS policy(policy routing)
Network Layer 4-52
BGP route selection
Router may learn about more than 1 route to some prefix. Router must select route.
Elimination rules:1. Local preference value attribute: policy
decision2. Shortest AS-PATH 3. Closest NEXT-HOP router: hot potato
routing4. Additional criteria
Network Layer 4-53
BGP routing policy
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W X
Y
legend:
customer network:
provider network
A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks
X does not want to route from B via X to C .. so X will not advertise to B a route to C
Network Layer 4-54
BGP routing policy (2)
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W X
Y
legend:
customer network:
provider network
A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW?
No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers
B wants to force C to route to w via A B wants to route only to/from its customers!
Network Layer 4-55
Why different Intra- and Inter-AS routing ?
Policy: Inter-AS: admin wants control over how its traffic
routed, who routes through its net. Intra-AS: single admin, so no policy decisions
needed
Scale: hierarchical routing saves table size, reduced
update trafficPerformance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance