Transcript routing

Routing
•
•
•
•
•
•
•
•
•
Distance Vector Routing
Link State Routing
Hierarchical Routing
Routing for Mobile Hosts
Subnetting
Classless Inter-Domain Routing (Supernet)
Border Gateway Protocol
Routing in Ad-hoc Networks
IPv6
1
Overview
• Forwarding vs Routing
– forwarding: to select an output port based on
destination address and routing table
– routing: process by which routing table is built
• Network as a Graph
A
6
1
3
4
C
2
1
B
9
E
F
1
D
• Problem: Find lowest cost path between two nodes
• Factors
– static: topology
– dynamic: load
2
Desired Properties of Routing Algorithm
•
•
•
•
•
•
Correctness
Simplicity
Robustness
Stability
Fairness
Optimality
– Minimizing mean packet delay
– Maximizing total network throughput
3
Distance Vector
• Each node maintains a set of triples
– (Destination, Cost, NextHop)
• Exchange updates directly connected neighbors
– periodically (on the order of several seconds)
– whenever 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
G
Destination Cost NextHop
B
1
B
C
1
C
D

E
1
E
F
1
F
G

-
5
Routing Loops
• Example 1
–
–
–
–
–
–
F detects that link to G has failed
F sets distance to G to infinity and sends update t o 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
• Example 2
–
–
–
–
–
–
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…
6
Loop-Breaking Heuristics
• Set infinity to 16
• Split horizon
• Split horizon with poison reverse
• The Core of the Problem:
– When X tells Y that it has a path somethere, Y has no
way of knowing whether it itself is on the path.
7
Link State Routing
• Strategy
– send to all nodes (not just neighbors) information
about directly connected links (not entire routing
table)
• Five Parts
– Discover its neighbors and learn their network
addresses
– Measure the delay or cost to each of its neighbors
– Construct a packet telling all it has just learned
– Send this packet to all other routers
– Compute the shortest path to every other router
8
Link State Routing …
• Measuing Line Cost
– ECHO packet
– Round Trip Time (RTT) divide by two
– Load ??
• Link State Packet (LSP)
–
–
–
–
id of the node that created the LSP
cost of link to each directly connected neighbor
sequence number (SEQNO)
time-to-live (TTL) for this packet
9
Reliable Flooding
• 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, no wrap
– start SEQNO at 0 when reboot
– decrement TTL of each stored LSP
• discard when TTL=0
10
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 ))
11
Shortest Path Algorithm
12
Metrics
• Original ARPANET metric
– measures number of packets enqueued on each link
– took neither latency or bandwidth into consideration
• New ARPANET metric
– stamp each incoming packet with its arrival time (AT)
– record departure time (DT)
– when link-level ACK arrives, compute
Delay = (DT - AT) + Transmit + Latency
– if timeout, reset DT to departure time for retransmission
– link cost = average delay over some time period
• Fine Tuning
– compressed dynamic range
– replaced Delay with link utilization
13
Hierarchical Routing
14
Mobility
The ability to change locations, while connected to
the network, accessing information services.
• Maintain connection during movement
– All messages sent to the mobile node are redirected to its real
location
• More than portability
– Operate at any point of attachment
– Connections have to be shutdown when nodes is moved.
15
Routing for Mobile Hosts
16
Route Optimization in Mobile IP
17
How to Make Routing Scale
• Flat versus Hierarchical Addresses
• Inefficient use of Hierarchical Address Space
– class C with 2 hosts (2/255 = 0.78% efficient)
– class B with 256 hosts (256/65535 = 0.39% efficient)
• Still Too Many Networks
– routing tables do not scale
– route propagation protocols do not scale
18
Internet Structure
Recent Past
NSFNET backbone
Stanford
ISU
BARRNET
regional
Berkeley
PARC
MidNet
regional
Westnet
regional
UNM
NCAR
UNL
KU
UA
19
Internet Structure
Today
Large corporation
“Consumer ” ISP
Peering
point
Backbone service provider
“ Consumer” ISP
Large corporation
Peering
point
“Consumer”ISP
Small
corporation
20
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
111111111111111111111111
00000000
Subnet mask (255.255.255.0)
Network number
Subnet ID
Host ID
Subnetted address
21
Subnet Example
Subnet mask: 255.255.255.128
Subnet number: 128.96.34.0
128.96.34.15
128.96.34.1
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 Number
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
22
Forwarding Algorithm
D = destination IP address
for each entry (SubnetNum, SubnetMask, NextHop)
D1 = SubnetMask & D
if D1 = SubnetNum
if NextHop is an interface
deliver datagram directly to D
else
deliver datagram to NextHop
•
•
•
•
Use a default router if nothing matches
Not necessary for all 1s in subnet mask to be contiguous
Can put multiple subnets on one physical network
Subnets not visible from the rest of the Internet
23
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
24
Route Propagation
• Know a smarter router
–
–
–
–
hosts know local router
local routers know site routers
site routers know core router
core routers know everything
• Autonomous System (AS)
– 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)
25
Popular 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
26
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)
27
BGP-4: Border Gateway Protocol
• AS Types
– stub AS: has a single connection to one other AS
• carries local traffic only
– multihomed AS: has connections to more than one AS
• refuses to carry transit traffic
– transit AS: has connections to more than one AS
• 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
28
BGP Example
• Speaker for AS2 advertises reachability to P and Q
– network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached
directly from AS2
Customer P
(AS 4)
128.96
192.4.153
Customer Q
(AS 5)
192.4.32
192.4.3
Customer R
(AS 6)
192.12.69
Customer S
(AS 7)
192.4.54
192.4.23
Regional provider A
(AS 2)
Backbone network
(AS 1)
Regional provider B
(AS 3)
• Speaker for backbone advertises
– networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached
along the path (AS1, AS2).
• Speaker can cancel previously advertised paths
29
Features of IPv6
•
•
•
•
•
•
•
•
Larger Address – 128 bits
Extended Address Hierarchy
Increased addressing flexibility – concept of anycast address,
and improved scalability of multicast routing
Flexible Header Format, Improved Options
Provision For Protocol Extension
Support For Resource Allocation – real time services,
differentiated services
Support For Autoconfiguration and Renumbering
Support for authentication, data integrity and confidentiality at
the IP level
30
IPv6 Address Notation
•
128-bit addresses unwieldy in dotted decimal; requires 16
numbers
105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255
• Groups of 16-bit numbers in hex separated
by colons – colon hexadecimal
69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF
FF05:0:0:0:0:0:0:B3 can be written
FF05::B3
31
IPv6 Address Space Allocation
Prefix
Use
0000 0000
Reserved (IPv4 compatibility)
……
…….
001
Aggregatable Global Unicast Addresses
……
……
1111 1110 00
Link local use addresses
1111 1110 11
Site local use addresses
1111 1111
Multicast Addresses
32
Aggregatable Global Unicast Addresses
3
001
001
m
Registry ID
n
Provider ID
o
Subscriber ID
Global Routing Prefix
p
Subnet ID
Subnet ID
64
Interface ID
Interface ID
RFC3587, August 2003
33
The IPv6 Header
Bit 31
Bit 0
hlen
version(4)
20
bytes
IPV4
flags
identification
TTL
Total length
TOS(8)
protocol
Frag offset
header checksum
Source address
Destination address
Options and padding
Bit 31
Bit 0
version(4)
40
bytes
IPV6
Traffic
class(8)
Payload Length (16)
Flow Label (20)
Next header(8)
Hop Limit (8)
Source IP address (128)
Destination IP address (128)
34
Routing in Ad Hoc Networks
Possibilities when the routers are mobile:
• Military vehicles on battlefield.
– No infrastructure.
• A fleet of ships at sea.
– All moving all the time
• Emergency works at earthquake .
– The infrastructure destroyed.
• A gathering of people with notebook computers.
– In an area lacking 802.11.
35
Route Discovery
36
Route Discovery (2)
Format of a ROUTE REQUEST packet.
Format of a ROUTE REPLY packet.
37
Route Maintenance
(a) D's routing table before G goes down.
(b) The graph after G has gone down.
38
Repeaters, Hubs, Bridges, Switches, Routers
and Gateways
39
Repeaters, Hubs, Bridges, Switches, Routers
and Gateways (2)
(a) A hub. (b) A bridge. (c) a switch.
40