Download 8- Routing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Deep packet inspection wikipedia , lookup

AppleTalk wikipedia , lookup

CAN bus wikipedia , lookup

Backpressure routing wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Wake-on-LAN wikipedia , lookup

IEEE 1355 wikipedia , lookup

Computer network wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Internet protocol suite wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Airborne Networking wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Peering wikipedia , lookup

Dijkstra's algorithm wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Introduction to
Computer Networks
Routing
Ilam University
By: Dr. Mozafar Bag-Mohammadi
1
Routing Process

Question? How to populate the lookup table?

Primary solutions:


Build the lookup table Manually? Is it practical?
The answer is no.
Flooding- Broadcast to all node except the one we
have received the packet.


Waste the bandwidth
Does not scale well.
2
Overview
A

Network as a Graph
C


1
3
4

6
2
1
B
9
E
F
1
D
Problem: Find lowest cost, or shortest, path between
two nodes
The process is distributed and this makes it
complicated, i.e, it may create loop.
Factors


static: topology
dynamic: load
3
Distance Vector

Each node maintains a set of triples
(Destination, Cost, NextHop)

Exchange updates with directly connected neighbors



periodically ( on the order of several seconds)
whenever its table changes (called triggered update)
Each update is a list of pairs:
(Destination, Cost)

Update local table if receive a “better” route



smaller cost
came from next-hop
Refresh existing routes; delete if they time out
4
Example
B
C
A
D
E
F
Destination
A
C
D
E
F
G
Cost
1
1
2
2
2
3
NextHop
A
C
C
A
A
A
G
•Distance of other nodes from Node B.
•The cost between two nodes has been assumed 1.
•All nodes keep a routing table from themselves.
5
The Bellman-Ford Algorithm
•Bellman-Ford algorithm solve the distance
Vector problem in general case.
1. Set: Xo = (  ,  ,  ,…,  ).
2. Send updates of components of Xn to neighbors
3. Calculate: Xn+1 = F(Xn)
4. If Xn+1
 Xn then go to (2)
5. Stop
6
Bellman-Ford Algorithm
Example:

Calculate from R8

1
R1
2


R1

4
R6
3
2
4
2
4
R4
2
R3
3
R7
2
1
R2
2
step
2
R8

1
R6

3


4
R4
R5
4
R3
2nd
1
R2
2

R5
2
R7
2
3
3
R8
7
Bellman-Ford Algorithm
6
R1
4
R2
1
1
4
4
R3
5
R1
Result:
R4
R7
2
2
3
5
1
R2
R5
4
R6
3
2
4
2
R4
2
R3
R6
R8
4
1
4
3
2
R5
2
step
2
3
2
3rd
6
2
2
R7 3
R8
8
Node Failure






F detects that link to G has failed
F sets distance to G to infinity and sends update to A
A sets distance to G to infinity since it uses F to reach G
A receives periodic update from C with 2-hop path to G
A sets distance to G to 3 and sends update to F
F decides it can reach G in 4 hops via A
B
C
A
D
E
F
G
9
Routing Loops






link from A to E fails
A advertises distance of infinity to E
B and C advertise a distance of 2 to E
B decides it can reach E in 3 hops; advertises this to A
A decides it can read E in 4 hops; advertises this to C
C decides that it can reach E in 5 hops…
B
C
A
D
E
F
G
10
The count-to-infinity problem
11
Loop-Breaking Heuristics

Set infinity to a reasonably small number. For
instance, RIP sets to 16

Split horizon: Don’t announce the distance to
the node the distance has been gotten from.

Split horizon with poison reverse: Instead of
not announcing the distance put negative
numbers.
12
Link State

Strategy


send to all nodes (not just neighbors) information
about directly connected links (not entire routing
table)
Link State Packet (LSP)




id of the node that created the LSP
cost of the link to each directly connected neighbor
sequence number (SEQNO)
time-to-live (TTL) for this packet
13
Link State (cont.)

Reliable flooding



store most recent LSP from each node
forward LSP to all nodes but one that sent
it
generate new LSP periodically



increment SEQNO
start SEQNO at 0 when reboot
decrement TTL of each stored LSP

discard when TTL=0
14
Route Calculation


Dijkstra’s shortest path algorithm
Let
 N denotes set of nodes in the graph
 l (i, j) denotes non-negative cost (weight) for edge (i, j)
 s denotes this node
 M denotes the set of nodes incorporated so far
 C(n) denotes cost of the path from s to node n
M = {s}
for each n in N - {s}
C(n) = l(s, n)
while (N != M)
M = M union {w} such that C(w)
is the minimum for all w in (N - M)
for each n in (N - M)
C(n) = MIN(C(n), C (w) + l(w, n ))
15
Shortest Path Routing: Dijkstra Algorithm
16
Subnetting



Add another level to address/routing hierarchy:
subnet
Subnet masks define variable partition of host part
Subnets visible only within site
Network number
Host number
Class B address
1111111111111111111
0000000000000000
Subnet mask (255.255.0.0)
Network number
Subnet ID
Host ID
Subnetted address
17
Subnet Example
Subnet
Net
host
Subnet mask: 255.255.255.128.
Subnet number: 128.96.34.0
128.96.34.15
128.96.34.1
111….1.0xxx….x
H1
R1
Subnet mask: 255.255.255.128
Subnet number: 128.96.34.128
128.96.34.130
128.96.34.139
128.96.34.129
H2
R2
H3
128.96.33.14
128.96.33.1
Subnet mask: 255.255.255.0
Subnet number: 128.96.33.0
Forwarding table at router R1
Subnet #
128.96.34.0
128.96.34.128
128.96.33.0
Subnet Mask
255.255.255.128
255.255.255.128
255.255.255.0
Next Hop
interface 0
interface 1
R2
18
Supernetting



Assign block of contiguous network numbers to
nearby networks
Called CIDR: Classless Inter-Domain Routing
Represent blocks with a single pair
(first_network_address, count)



Restrict block sizes to powers of 2
Use a bit mask (CIDR mask) to identify block size
All routers must understand CIDR addressing
19
Route Propagation

Know a smarter router





Autonomous System (AS)




hosts know local router
local routers know site routers
site routers know core router
core routers know everything
corresponds to an administrative domain
examples: University, company, backbone network
assign each AS a 16-bit number
Two-level route propagation hierarchy


interior gateway protocol (each AS selects its own)
exterior gateway protocol (Internet-wide standard)
20
Architecture of Routing Protocols
Interior Gateway
Protocols (IGP) :
inside autonomous
systems
UUNet
OSPF, IS-IS,
RIP, EIGRP, ...
IGP
AS 701
Metric Based
AS 6431
BGP
Policy Based
IGP
IGP
AT&T Research
Exterior Gateway
Protocols (EGP) :
between autonomous
systems
EGP
AT&T
Common Backbone
AS 7018
21
Interior Gateway Protocols

RIP: Route Information Protocol





developed for XNS
distributed with Unix
distance-vector algorithm
based on hop-count
OSPF: Open Shortest Path First




recent Internet standard
uses link-state algorithm
supports load balancing
supports authentication
22
The Most Common Routing Protocols
BGP
RIP
Cisco proprietary
TCP
UDP
IP
OSPF IS-IS EIGRP
(and ICMP)
Routing protocols exchange network
reachability information between routers.
23
BGP-4

BGP = Border Gateway Protocol

Is a Policy-Based routing protocol

Is the de facto EGP of today’s global Internet

Relatively simple protocol, but configuration is complex and the
entire world can see, and be impacted by, your mistakes.
•
1989 : BGP-1 [RFC 1105]
–
Replacement for EGP (1984, RFC 904)
•
1990 : BGP-2 [RFC 1163]
•
1991 : BGP-3 [RFC 1267]
•
1995 : BGP-4 [RFC 1771]
–
Support for Classless Interdomain Routing (CIDR)
24
BGP-4: Border Gateway Protocol

AS Types

stub AS: has a single connection to one other AS


multihomed AS: has connections to more than one AS


refuses to carry transit traffic
transit AS: has connections to more than one AS


carries local traffic only
carries both transit and local traffic
Each AS has:


one or more border routers
one BGP speaker that advertises:



local networks
other reachable networks (transit AS only)
gives path information
25
EGP: Exterior Gateway Protocol

Overview



designed for tree-structured Internet
concerned with reachability, not optimal routes
Protocol messages



neighbor acquisition: one router requests that another be
its peer; peers exchange reachability information
neighbor reachability: one router periodically tests if the
another is still reachable; exchange HELLO/ACK
messages; uses a k-out-of-n rule
routing updates: peers periodically exchange their routing
tables (distance-vector)
26
Policy-Based vs. Distance-Based Routing?
Minimizing
“hop count” can
violate commercial
relationships that
constrain interdomain routing.
Host 1
Cust1
YES
ISP1
NO
ISP3
ISP2
Cust3
Host 2
Cust2
27
Why not minimize “AS hop count”?
National
ISP1
National
ISP2
YES
NO
Regional
ISP3
Cust3
Regional
ISP2
Cust3
Regional
ISP1
Cust2
28
BGP Operations Simplified
Establish Peering on
TCP port 179
AS1
BGP
Peers Exchange
All Routes
AS2
Exchange Incremental
Updates
While connection
is ALIVE exchange
route UPDATE messages
29
Two Types of BGP Neighbor Relationships
AS1
• External Neighbor (eBGP) in a
different Autonomous Systems
• Internal Neighbor (iBGP) in the
same Autonomous System
eBGP
iBGP
Physical Connection
AS2
Logical (TCP) Connection
30
Four Types of BGP Messages

Open : Establish a peering session.

Keep Alive : Handshake at regular intervals.

Notification : Shuts down a peering session.

Update : Announcing new routes or withdrawing
previously announced routes.
announcement
=
Network prefix + attributes
31
AS Path Attribute (cont.)
BGP at AS YYY will
never accept a route
whose AS Path
contains YYY. This
avoids interdomain
routing loops.
AS702
UUnet
10.22.0.0/16
AS Path = 1 333 702 877
Don’t Accept!
32
Local Preference Attribute
Used only in iBGP to prefer a point of exit
Frank’s Upstream Provider
AS 4
13.13.0.0/16
AS Path = 4 1
Loc pref = 80
Frank’s
Internet Barn
13.13.0.0/16
AS Path = 3 1
Loc pref = 90
Frank’s Local Competition
AS 3
13.13.0.0/16
AS Path = 2 1
Loc pref = 100
Frank’s Customer
AS 2
Higher Local
Preference Values
are more preferred
Customer of Frank’s Customer
AS 1
13.13.0.0/16
33
IP Version 6

Features








128-bit addresses (classless)
multicast
real-time service
authentication and security
autoconfiguration
end-to-end fragmentation
protocol extensions
Header


40-byte “base” header
extension headers (fixed order, mostly fixed length)




fragmentation
source routing
authentication and security
other options
34
Tunneling
35
Routing for Mobile Hosts
1- finding location of the mobile host
2- hand-off
3- security
36
Routing for Mobile Hosts (2)
Packet routing for mobile users.
37