Upload
cyrah
View
58
Download
1
Embed Size (px)
DESCRIPTION
Computer Networks Chapter 4: Advanced Internetworking. Problems. How do we build a routing system that can handle hundreds of thousands of networks and billions of end nodes? How to handle address space exhaustion of IPv4? How to enhance the functionalities of Internet?. Chapter Outline. - PowerPoint PPT Presentation
Citation preview
Computer Networks
Chapter 4: Advanced Internetworking
CN_4.2
Problems How do we build a routing system
that can handle hundreds of thousands of networks and billions of end nodes?
How to handle address space exhaustion of IPv4?
How to enhance the functionalities of Internet?
CN_4.3
Chapter Outline Global Internet Multicast Mobile IP
CN_4.4
Chapter Goal Understanding the scalability of
routing in the Internet Discussing IPv6 Understanding the concept of
multicasting Discussing Mobile IP
CN_4.5
The Global Internet
The tree structure of the Internet in 1990
CN_4.6
The Global Internet
A simple multi-provider Internet
CN_4.7
Interdomain Routing (BGP) Internet is organized as
autonomous systems (AS) each of which is under the control of a single administrative entity
Autonomous System (AS) corresponds to an administrative
domain examples: University, company,
backbone network A corporation’s internal network
might be a single AS, as may the network of a single Internet service provider
CN_4.8
Interdomain Routing
A network with two autonomous system
CN_4.9
Route Propagation Idea: Provide an additional way to
hierarchically aggregate routing information is a large internet. Improves scalability
Divide the routing problem in two parts: Routing within a single autonomous
system Routing between autonomous systems
Another name for autonomous systems in the Internet is routing domains Two-level route propagation hierarchy
Inter-domain routing protocol (Internet-wide standard)
Intra-domain routing protocol (each AS selects its own)
CN_4.10
EGP and BGP Inter-domain Routing Protocols
Exterior Gateway Protocol (EGP) Forced a tree-like topology onto the Internet Did not allow for the topology to become
general– Tree like structure: there is a single backbone
and autonomous systems are connected only as parents and children and not as peers
Border Gateway Protocol (BGP) Assumes that the Internet is an arbitrarily
interconnected set of ASs. Today’s Internet consists of an interconnection
of multiple backbone networks (they are usually called service provider networks, and they are operated by private companies rather than the government)
Sites are connected to each other in arbitrary ways
CN_4.11
BGP Some large corporations connect
directly to one or more of the backbone, while others connect to smaller, non-backbone service providers.
Many service providers exist mainly to provide service to “consumers” (individuals with PCs in their homes), and these providers must connect to the backbone providers
Often many providers arrange to interconnect with each other at a single “peering point”
CN_4.12
The Global Internet
A simple multi-provider InternetStub AS
Multihomed AS
Transit AS
CN_4.13
BGP-4: Border Gateway Protocol
Assumes the Internet is an arbitrarily interconnected set of AS's.
Define local traffic as traffic that originates at or terminates on nodes within an AS, and transit traffic as traffic that passes through an AS.
We can classify AS's into three types: Stub AS: an AS that has only a single connection
to one other AS; such an AS will only carry local traffic (small corporation in the figure of the previous page).
Multihomed AS: an AS that has connections to more than one other AS, but refuses to carry transit traffic (large corporation at the top in the figure of the previous page).
Transit AS: an AS that has connections to more than one other AS, and is designed to carry both transit and local traffic (backbone providers in the figure of the previous page).
CN_4.14
The goal of Inter-domain routing is to find any loop free path to the intended destination Reachability is more concerned
than optimality Finding path close to optimal is
considered to be a great achievement
Why?
BGP
CN_4.15
Scalability: An Internet backbone router must be able to forward any packet destined anywhere Having a routing table that will provide a
match for any valid IP address Autonomous nature of the domains
Not possible to calculate meaningful path costs for a path that crosses multiple ASs
A cost of 1000 across one provider might imply a great path but it might mean an unacceptable bad one from another provider
Issues of trust Provider A might be unwilling to believe
certain advertisements from provider B
BGP
CN_4.16
Each AS has: One BGP speaker that advertises:
local networks other reachable networks (transit AS
only) gives path information
In addition to the BGP speakers, the AS has one or more border “gateways” which need not be the same as the speakers
The border gateways are the routers through which packets enter and leave the AS
BGP
CN_4.17
BGP does not belong to either of the two main classes of routing protocols (distance vectors and link-state protocols)
BGP advertises complete paths as an enumerated lists of ASs to reach a particular network
BGP
CN_4.18
BGP Example
Example of a network running BGP
CN_4.19
BGP Example Speaker for AS 2 advertises reachability
to P and Q Network 128.96, 192.4.153, 192.4.32,
and 192.4.3, can be reached directly from AS 2.
Speaker for backbone network then advertises Networks 128.96, 192.4.153, 192.4.32,
and 192.4.3 can be reached along the path <AS 1, AS 2>.
Speaker can also cancel previously advertised paths
CN_4.20
BGP Issues It should be apparent that the
AS numbers carried in BGP need to be unique
For example, AS 2 can only recognize itself in the AS path in the example if no other AS identifies itself in the same way
AS numbers are 16-bit numbers assigned by a central authority
CN_4.21
Integrating Interdomain and Intradomain Routing
All routers run iBGP and an intradomain routing protocol. Border routers (A, D, E) also run eBGP to other ASs
CN_4.22
Integrating Interdomain and Intradomain Routing
BGP routing table, IGP routing table, and combined table at router B
CN_4.23
Routing Areas
A domain divided into areas
Backbone areaArea border router (ABR)
CN_4.24
Next Generation IP (IPv6)
CN_4.25
Major Features
128-bit addresses Multicast Real-time service Authentication and security Auto-configuration End-to-end fragmentation Enhanced routing functionality,
including support for mobile hosts
CN_4.26
IPv6 Addresses Classless addressing/routing (similar to CIDR) Notation: x:x:x:x:x:x:x:x (x = 16-bit hex
number) contiguous 0s are compressed:
47CD::A456:0124 IPv6 compatible IPv4 address: ::128.42.1.87
Address assignment provider-based geographic
CN_4.27
IPv6 Header 40-byte “base” header Extension headers (fixed order, mostly
fixed length) fragmentation source routing authentication and
security other options
CN_4.28
Internet Broadcast/ Multicast Routing
CN_4.29
R1
R2
R3 R4
sourceduplication
R1
R2
R3 R4
in-networkduplication
duplicatecreation/transmission
duplicate
duplicate
Broadcast Routing Deliver packets from source to all other
nodes Source duplication is inefficient:
source duplication: how does source determine recipient addresses?
CN_4.30
In-network duplication Flooding: when node receives
broadcast packet, sends copy to all neighbors Problems: cycles & broadcast storm
Controlled flooding: node only broadcasts packet if it hasn’t broadcast same packet before Node keeps track of packet ids
already broadcasted Or reverse path forwarding (RPF):
only forward packet if it arrived on shortest path between node and source
Spanning tree No redundant packets received by
any node
CN_4.31
A
B
G
DE
c
F
A
B
G
DE
c
F
(a) Broadcast initiated at A (b) Broadcast initiated at D
Spanning Tree First construct a spanning tree Nodes forward copies only along
spanning tree
CN_4.32
A
B
G
DE
c
F1
2
3
4
5
(a) Stepwise construction of spanning tree
A
B
G
DE
c
F
(b) Constructed spanning tree
Spanning Tree: Creation Center node Each node sends unicast join message
to center node Message forwarded until it arrives at a node
already belonging to spanning tree
CN_4.33
Multicast Routing: Problem Statement
Goal: find a tree (or trees) connecting routers having local multicast group members tree: not all paths between routers used source-based: different tree from each sender to
receivers shared-tree: same tree used by all group
members
Shared treeSource-based trees
CN_4.34
Approaches for building multicast trees
Approaches: source-based tree: one tree per
source shortest path trees reverse path forwarding
group-shared tree: group uses one tree minimal spanning (Steiner) center-based trees…We first look at basic approaches, then
specific protocols adopting these approaches
CN_4.35
Shortest Path Tree Multicast forwarding tree: tree of
shortest path routes from source to all receivers Dijkstra’s algorithm
R1
R2
R3
R4
R5
R6 R7
21
6
3 45
i
router with attachedgroup member
router with no attachedgroup member
link used for forwarding,i indicates order linkadded by algorithm
LEGENDS: source
CN_4.36
Reverse Path Forwarding
if (multicast datagram received on incoming link on shortest path back to sender)
then flood datagram onto all outgoing links
else ignore datagram
Rely on router’s knowledge of unicast shortest path from it to sender
Each router has simple forwarding behavior:
CN_4.37
Reverse Path Forwarding: example
• Result is a source-specific reverse SPT– may be a bad choice with asymmetric
links
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
datagram will be forwarded
LEGENDS: source
datagram will not be forwarded
CN_4.38
Reverse Path Forwarding: pruning
Forwarding tree contains subtrees with no multicast group members no need to forward datagrams down
subtree “prune” messages sent upstream by
router with no downstream group members
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup memberrouter with no attachedgroup member
prune message
LEGENDS: source
links with multicastforwarding
P
PP
CN_4.39
Shared-Tree: Steiner Tree Steiner Tree: minimum cost tree
connecting all routers with attached group members
problem is NP-complete excellent heuristics exists not used in practice:
computational complexity information about entire network
needed monolithic: rerun whenever a router
needs to join/leave
CN_4.40
Center-based trees Single delivery tree shared by all One router identified as “center” of
tree to join:
edge router sends unicast join-msg addressed to center router
join-msg “processed” by intermediate routers and forwarded towards center
join-msg either hits existing tree branch for this center, or arrives at center
path taken by join-msg becomes new branch of tree for this router
CN_4.41
Center-based trees: an example
Suppose R6 chosen as center:
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
path order in which join messages generated
LEGEND
2
1
3
1
CN_4.42
Internet Multicasting Routing: DVMRP
DVMRP: Distance Vector Multicast Routing Protocol, RFC1075
Flood and prune: reverse path forwarding, source-based tree RPF tree based on DVMRP’s own routing
tables constructed by communicating DVMRP routers
no assumptions about underlying unicast routing protocols (RIP, OSPF, etc)
initial datagram to multicast group flooded everywhere via RPF
routers not wanting group: send upstream prune messages
CN_4.43
DVMRP: continued… Soft state: DVMRP router periodically (1
min.) “forgets” branches are pruned: Multicast data again flows down
unpruned branch downstream router: reprune or else
continue to receive data routers can quickly regraft to tree
following IGMP join at leaf odds and ends
commonly implemented in commercial routers
Mbone routing done using DVMRP
CN_4.44
TunnelingQ: How to connect “islands” of
multicast routers in a “sea” of unicast routers?
Multicast datagram encapsulated inside “normal” (non-multicast-addressed) datagram
Normal IP datagram sent thru “tunnel” via regular IP unicast to receiving multicast router
receiving multicast router unencapsulates to get multicast datagram
physical topology logical topology
CN_4.45
PIM: Protocol Independent Multicast
Not dependent on any specific underlying unicast routing algorithm (works with all)
Two different multicast distribution scenarios :
Dense (密 ): group
members densely packed, in “close” proximity.
bandwidth more plentiful
Sparse(疏 ): Number of
networks with group members small wrt number of interconnected networks
group members “widely dispersed”
bandwidth not plentiful
CN_4.46
Consequences of Sparse-Dense Dichotomy:
Dense group membership
by routers assumed until routers explicitly prune
data-driven construction on multicast tree (e.g., RPF)
bandwidth and non-group-router processing profligate
Sparse: no membership until
routers explicitly join
receiver- driven construction of multicast tree (e.g., center-based)
bandwidth and non-group-router processing conservative
CN_4.47
PIM- Dense Mode
Flood-and-prune RPF, similar to DVMRP but
underlying unicast routing protocol provides RPF information for incoming datagram
less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm
has protocol mechanism for router to detect it is a leaf-node router
CN_4.48
PIM - Sparse Mode Center-based
approach Router sends join
message to rendezvous point (RP) intermediate routers
update state and forward join
after joining via RP, router can switch to source-specific tree increased
performance: less concentration, shorter paths
R1
R2
R3
R4
R5
R6R7
join
join
join
all data multicastfrom rendezvouspoint
rendezvouspoint
CN_4.49
PIM - Sparse Mode
Sender(s): unicast data to RP,
which distributes down RP-rooted tree
RP can extend multicast tree upstream to source
RP can send stop message if no attached receivers “no one is
listening!”
R1
R2
R4
R5
R6R7
join
join
join
all data multicastfrom rendezvouspoint
rendezvouspoint
CN_4.50
Routing for Mobile Hosts Mobile IP
home agent: Router located on the home network of the mobile hosts
home address: The permanent IP address of the mobile host. Has a network number equal to that of the home network and thus of the home agent
foreign agent: Router located on a network to which the mobile node attaches itself when it is away from its home network
CN_4.51
Routing for Mobile Hosts
CN_4.52
Routing for Mobile Hosts Problem of delivering a packet to the
mobile node How does the home agent intercept a
packet that is destined for the mobile node ? Proxy ARP
How does the home agent then deliver the packet to the foreign agent ? IP tunnel Care-of-address
How does the foreign agent deliver the packet to the mobile node ?
CN_4.53
Routing for Mobile Hosts
Route optimization in Mobile IP The route from the sending node to
mobile node can be significantly sub-optimal
One extreme exampleThe mobile node and the sending node are on the same network, but the home network for the mobile node is on the far side of the Internet– Triangle Routing Problem
CN_4.54
Routing for Mobile Hosts Solution
Let the sending node know the care-of-address of the mobile node. The sending node can create its own tunnel to the foreign agent
Home agent sends binding update message
The sending node creates an entry in the binding cache
The binding cache may become out-of-date– The mobile node moved to a different network
– Foreign agent sends a binding warning message
CN_4.55
Summary
We have talked about the following issuesScalability routing in the
InternetIPv6Broadcast/MulticastingMobile IP
End of Chapter 4