Intra- and Inter-Network Routingโฌยฆย ยท State Packet (LPS). 3. For each ๐ ๐ โof ๐ ๐ฅ...
Transcript of Intra- and Inter-Network Routingโฌยฆย ยท State Packet (LPS). 3. For each ๐ ๐ โof ๐ ๐ฅ...
27 Oct 2019 SE 428: Advanced Computer Networks 1
Intra- and Inter-Network
Routing
27 October 2019
Lecture 1
Some Slide Credits: Jennifer Rexford and Michael Schapira
Some Slides Adapted From: James Kurose and Keith Ross
Topics for Today
โข Routing Goals
โข Intra-Network Routing: OSPF
โข Inter-Network Routing Intro
Sources: PD 3.3.3, 4.1.2
27 Oct 2019 SE 428: Advanced Computer Networks 2
27 Oct 2019 SE 428: Advanced Computer Networks 3
Routing protocols on the internet
โข Treated extensively in SE 331: Introduction to Computer Networks
โข Routing information protocol (RIP)
โ Distance vector routing
โ Uses Bellman-Ford algorithm
โ Outdated, suffers from count-to-infinity problem
โข Open shortest path first (OSPF)
โ Link state routing
โ Runs over Layer 3 (over IP)
โ Uses Dijkstra algorithm to determine shortest paths
โข Intermediate System to Intermediate System IS-IS
โ Link state routing โ similar to OSPF
โ Runs over Layer 2 (under IP)
โข Border gateway protocol (BGP)
โ Between networks (administrative domains, Autonomous Systems)
โ Path-vector routing
โ Consideration of business agreements
Routing criteria
Correctness
Every packet is delivered to its
destination
EfficiencyChoose paths with
small delay and high throughput (network
wide)
ComplexitySetting up routing
tables
Making routing decisions
Robustness
Cope with topology changes
No network reboot
Adaptiveness
Load balancing and traffic control
Fairness
All users get the same degree of
service
27 Oct 2019 SE 428: Advanced Computer Networks 4
Path costs, Routing metrics
Minimum hop
Number of channels traversed
Shortest pathChannels have statically
assigned weights and the cost of a path is the sum of costs of
the edges
Presumes no negative-cost cycles
Minimum delayChannels have dynamically
assigned weights based on the traffic on the channel
Routing tables are repeatedly revised such that paths with close
to minimal delays are chosen
27 Oct 2019 SE 428: Advanced Computer Networks 5
27 Oct 2019 SE 428: Advanced Computer Networks 6
Destination-based routing
Decision where to forward a packet depends only on the
destination of a packet (not on its source)
Optimal paths can be determined, when
1. The cost of sending a packet via a path is independent of
the amount of traffic on the path.
2. The cost of the concatenation of two paths equals the
sum of the costs of the concatenated paths.
3. The communication network does not contain cycles with
negative cost.
So Far
โข Routing Goals
โข Intra-Network Routing: OSPF
โข Inter-Network Routing
โ Classless Interdomain Routing (CIDR)
โ BGP
27 Oct 2019 SE 428: Advanced Computer Networks 7
27 Oct 2019 SE 428: Advanced Computer Networks 8
RIP Issues: Stability problem
โข Loops may form and stability cannot occur without
โcounting to infinityโ.
โข Timing of events may cause cycles of updates.
2
1
0
3
27 Oct 2019 SE 428: Advanced Computer Networks 9
(Partial) Solutions for Stability
โข Pick small value for โinfinityโโ If โinfinityโ is 16 then at most 15 hops in network
โ Distance of 16 considered unreachable
โข Disallow cyclic updatesโ Called split horizon algorithm
โ Donโt send updates learned from a neighbor back to that neighbor
โ Only works for small (e.g. 2-hop) cycles
โข Route Poisoningโ Introduces artificial delay
OSPFv2 (1998)
โข RFC 2328
โข IPv4
โข In protocol authentication
of routers and
completeness of
messages
โข Atoms are networks and
subnets
โข Routers identified by
Router ID and/or IP
address
OSPFv3 (2008)
โข RFC 5340
โข IPv4 + IPv6
โข Authentication at IP layer
(IPSec)
โข Completeness at IP layer
โข Atoms are links (may
have multiple subnets)
โข Router IDs and IP
addresses are disjoint
27 Oct 2019 SE 428: Advanced Computer Networks 10
Open Shortest Path First (OSPF)
27 Oct 2019 SE 428: Advanced Computer Networks 11
Open Shortest Path First (OSPF)
โข Each node sends a reliable flood of information to all other nodesโ In v3, can limit the flooding scope
โข These Link-State Packets (LSPs) containโ ID of the node that created the packet
โ List of (neighbor, cost) pairs associated with the source node
โ Sequence Number (64bitsโno wrapping)
โ Time To Live (ensure old info is eventually removed)
โ Authentication (v2) โ password or message authenticity code (MAC)
Reliable Flooding
โข Adjacent routers reliably
send updates (ACKs)
โข Source sends to all
neighbors
โข Recipients
โ Send to all neighbors
except the one it got the
message from
โ Ignores duplicates
Local Calculations
โข Once all of the link-state
info has been flooded
each node has complete
network topology
โข Compute routing
information using
Dijkstraโs shortest-path
algorithm
โข Periodic updates and
failure detection are like
RIP.
27 Oct 2019 SE 428: Advanced Computer Networks 12
OSPF Steps
X A
C B D
27 Oct 2019 SE 428: Advanced Computer Networks 13
OSPF Features
โข Authentication of routing messages (v2)
โ Misconfigured or malicious host could advertise bad route info (i.e.
reach anywhere in 0 hops)
โ Prevent routers from accidentally joining a network
โ Prevent malicious or accidental changes to route information
โ (Eventually added to RIP too.)
โข Additional Hierarchy
โ Partitions domains into areas
โ Reduces transmission & storage overhead
โข Load Balancing
โ Multiple routes with same cost
โ Traffic evenly distributed
Dijkstraโs AlgorithmNode has two lists โ Confirmed and Tentative - pairs of (Destination, Cost, Next-Hop)
Algorithm:1. Initialize Confirmed with an
entry for self with cost 0.
2. For the node just added to Confirmed in the previous step, (๐๐๐ฅ๐ก), examine its Link State Packet (LPS).
3. For each ๐๐๐๐โ of ๐๐๐ฅ๐ก, calculate the distance to ๐๐๐๐โ via ๐๐๐ฅ๐กc๐๐ ๐ก = (๐ ๐๐๐ โ ๐๐๐ฅ๐ก) + (๐๐๐ฅ๐ก โ๐๐๐๐โ)a) If ๐๐๐๐โ isnโt on Confirmed or
Tentative, add (๐๐๐๐โ, ๐๐๐ ๐ก, ๐๐ป) to Tentative, where ๐๐ป is the way to reach ๐๐๐ฅ๐ก in Confirmed.
a) If ๐๐๐๐โ is on Tentative and ๐๐๐ ๐ก is better than the old cost, replace it with (๐๐๐๐โ, ๐๐๐ ๐ก, ๐๐ป), where ๐๐ป is the way to reach ๐๐๐ฅ๐ก in Confirmed.
4. If Tentative is empty, stop.
5. Choose the node on Tentative with the lowest cost, move it to Confirmed, and go to step 2.
27 Oct 2019 SE 428: Advanced Computer Networks 14
27 Oct 2019 SE 428: Advanced Computer Networks 15
Dijkstra Example
A
B
D
C
2
11
10
53
27 Oct 2019 SE 428: Advanced Computer Networks 16
Dijkstra Example
A
B
D
C
2
11
10
53
27 Oct 2019 SE 428: Advanced Computer Networks 17
Dijkstra Example 2
So Far
โข Routing Goals
โข Intra-Network Routing: OSPF
โข Inter-Network Routing
โ Classless Interdomain Routing (CIDR)
27 Oct 2019 SE 428: Advanced Computer Networks 18
Inter- versus Intra-
โข Intra-Network Routing โ driving within a single city
โข Inter-Network Routing โ driving between cities
โข Different decisions:
โ Traffic lights
โ Narrow streets
โ Speed bumps
โ One way streets
โข Fastest versus Shortest
โข What shape is the internet?
27 Oct 2019 SE 428: Advanced Computer Networks 19
The old shape (1990s)
27 Oct 2019 SE 428: Advanced Computer Networks 20
A newer picture
27 Oct 2019 SE 428: Advanced Computer Networks 21
27 Oct 2019 SE 428: Advanced Computer Networks 22
Organizations and Backbone
27 Oct 2019 SE 428: Advanced Computer Networks 23
โข Key Concept: Autonomous System (AS) (aka Routing
Domain)
Organizations and Backbone
27 Oct 2019 SE 428: Advanced Computer Networks 24
Conclusion
โข Routing Goals
โข Intra-Network Routing: OSPF
โข Inter-Network Routing
โ Classless Interdomain Routing (CIDR)
27 Oct 2019 SE 428: Advanced Computer Networks 25