MBone - UMBC

Download Report

Transcript MBone - UMBC

IP Multicast
Fang Yan
CSEE, UMBC
10/14/04
topics
Basics of multicasting
MBone
IPv4 routing protocols
6bone
What is multicasting
Application level one to many communication.


A single packet is addressed to all intended recipients—host
group
The network replicates packets only as needed—when paths
diverge at a router
Why Multicasting
It is efficient



better bandwidth utilization
less host/router processing
quicker participation
Many applications send data to multiple receivers.





Streaming multimedia
Content delivery (meeting, lecture, speech…)
Stock quotes, news
Database replication
Software distribution
B
Y
A
X
C
Z
Flow of data in multiple unicasting
D
E
B
Y
A
X
C
Z
D
E
Flow of data in multicasting
Basic components of IP multicasting
Definition of a multicast host group
Protocols for establishing and controlling multicast
groups
Router infrastructure for distribution of multicast traffic
Application protocols and APIs that enable desktop
computers and workstations to put multicasting to
good use
multicast address
IPV4
4
class D



1110
28 bits
Multicast Group ID
From 224.0.0.0 to 239.255.255.255
From 224.0.0.0 to 224.0.0.255 is reserved
Totally 2^28-256=268 million addresses
Reserved address examples
224.0.0.1 all hosts
224.0.0.1 all multicast routers
224.0.0.4 DVMRP routers
224.0.0.5 OSPF routers
224.0.0.6 OSPF designated routers
224.0.0.22 IGMP
…
multicast address (cont.)
IPV6
8
4
4
112 bits
11111111 flags scope Multicast Group ID


Support 4millionbillionbillionbillion addresses
Flag


Transit/permanent
Scope





1: node-local
2: link-local
5: site-local (set by administrators of routers at the site)
8: organization local (set by administrators of routers of the
organization)
14: global
Ready to go?
Unfortunately, there is a problem…
At the early 90’s, the majority of the routers on the Internet don't
know how to handle multicasting. Most routers are set up to
move traditional IP unicast packets.
Router manufacturers have been reluctant to create equipment that
can do multicasting until there is a proven need for such
equipment. But, as you might expect, it's difficult for users to try
out a technology until they have a way to use it. Without the right
routers, there's no multicasting. Without multicasting, there won't
be the right routers.
Solution?
MBone !
MBone—a little bit history
Stands for Multicast Backbone
In 1992, some bright fellows on the Internet
Engineering Task Force (IETF) decided that no one
would do in hardware, they could do in software.
Many scientific conferences, scientific events,
concerts were broadcast over MBone since then.
In 1997, the first ISPs started rolling out commercial
services utilizing multicasting on the Internet.
MBone—architecture
A virtual overlay network on top of the Internet.
Consists of multicast-capable islands connected by
tunnels
Each island (typically a LAN or group of
interconnected LANs) supports hardware multicast to
its hosts.
Each island contains one or more special routers
called mrouters (multicast routers)
Mrouters are often workstations running multicast
routing daemon (mrouted)
mrouter
C
B
LAN
A
D
Multicast island
tunneling
A tunnel is a connection between two mrouters using "IP over
IP".
Tunnel parameters


Threshold — The minimum TTL required for a packet to be forwarded
across this tunnel
Cost — A metric used to compute routing “distances”
encapsulate MBone packets within IP packet and send as
regular unicast packets to the destination mrouter’s IP address
Original packet
version hdr len service type
datagram length
identification
flags
fragment offset
time to live
protocol
header checksum
source address
multicast destination address
application data
Encapsulated packet
version hdr len service type
datagram length
identification
flags
fragment offset
time to live
protocol=4
header checksum
source address=unicast address of router at beginning of tunnel
destination address=unicast address of rounter at end of tunnel
version hdr len service type
detagram length
identification
flags
fragment offset
time to live
protocol
header checksum
source address
multicast destination address
application data
Tunnel configure
Tunnel is configured manually
 The administrator of the new island sends a
message announcing its existence to the MBone
mailing list.
 The administrators of nearby sites then contact
him to arrange to set up tunnels.
 Existing tunnels may be reshuffled to take
advantage of the new island to optimize the
topology.
MBone (cont.)
Initially used DVMRP routing algorithm
Migrated toward PIM
Uses UDP protocol
Problems



Scalability
Flow control
Congestion control
Future

Universe support of multicast?
IGMPv1
Stands for Internet Group Management Protocol
Described in RFC 1112.
Manages multicast group membership
Runs between hosts and their immediate neighboring mrouter
Only two kinds of packets: query and report
Packet format
4
4
4
16 bits
version type unused
checksum
class D multicast group address
IGMPv1
How to join a host group
Mrouter initiated
 Periodically, mrouter sends out a Query packet to its island asking
who is interested in which channel.
 Hosts wishing to (continue to) receive one or more channels send
back Report packet.
 Each mrouter keeps a table of which channels it must put out into
its LAN
Receiver initiated
 When a host first joins a group, it immediately transmits Report
message rather than waiting from the next Query from the mrouter.
 The request may need to be forwarded up to a router that’s already
part of the host group
 Reduce join latency
More IGMP
IGMPv2



Defined in RFC 2236
Adds an explicit Leave message
Routers can more easily determine when a group has no
interested listeners on a LAN
IGMPv3


Defined in RFC 3376
Optimizes support for a single source of content for a
multicast group (SSM)
Backward compatible
IPv4 multicast routing protocols
DVMRP (Distance Vector Multicast Routing Protocol)
MOSPF (Multicast Open Shortest Path First)
PIM-DM (Protocol Independent Multicast, Dense
Mode)
PIM-SM (Protocol Independent Multicast, Sparse
Mode)
CBT (Core-Based Tree)
distance vector routing
Dynamic routing algorithm
Each router maintain a table giving the best known distance to
each destination and which line to use to get there.
These tables are updated by exchanging information with the
neighbors periodically.
Problem

Count-to-infinity
link state shortest-path-first routing
Periodically, each router floods a link-state message,
containing the router’s identity and its associated
connectivity information to each of its immediate
neighbors.
Each router runs the shortest-path-first algorithm to
determine the shortest path from itself to all the other
routers.
Problem:

Computation intensive
RPF
Stands for reverse path forwarding
Simple algorithm developed to avoid duplicate packets on multiaccess links
RPF algorithm takes advantage of the IP routing table to compute
a multicast tree for each source.
RPF check

When a multicast packet is received, note its source (S) and
interface (I)

If I belongs to the shortest path from S, forward to all
interfaces except I

If test in step 2 is false, drop the packet
Packet is never forwarded back out the RPF interface!
DVMRP
exchange distance vectors
First multicast routing protocol ever deployed in the Internet
Each router maintains a ‘multicast routing table’ by exchanging
distance vector information among routers
 Constructs a source tree for each group using reverse path
forwarding
There is a “designated forwarder” in each subnet
 Multiple routers on the same LAN select designated forwarder by
lower metric or lower IP address (discover when exchanging metric
info.)
Once tree is created, it is used to forward messages from source to
receivers
DVMRP
broadcast & prune
Flood multicast packets based on RPF (Reverse path
forwarding) rule to all interested routers.
Leaf routers check and sends prune message to upstream
router when no group member is on their network
Upstream router prune the interface with no dependent
downstream router.
Graft message to create a new branch for late participants
Restart forwarding after prune lifetime (standard : 720 minutes)
DVMRP tables
Routing table






Source subnet: the source of multicast datagrams
From-Gateway: previous hop router leading back to source
Metric: cost
TTL
InPort: router’s interface for incoming traffic
OutPort: router’s interface for outgoing traffic
Forwarding table





Source subnet: the sub network sending multicast datagrams
Multicast group: class D IP address
TTL
InPort: parent interface, prune message
OutPort: child interface to forward, prune message
DVMRP
Advantage
 Relatively simple
 Modest processing demands
Disadvantage
 Convergence performance
 Periodically flood multicast traffic to rebuild its
trees – scalability
MOSPF
Modified from OSPF
Suitable for multicasting within a single autonomous system (AS)
One router is selected as the designated router (DR)
DR floods Group-Membership Link State Advertisements (LSAs)
Each router maintains the up-to-date image of the topology of the
entire network
Each router floods its local state through the AS
Source-rooted Shortest path tree for each [source network,
destination group] pair
Source-rooted SPT calculated at each router
 Based on Link-State database
 Provides the best route to any destination in AS
 Pruned SPT - Group membership LSAs
MOSPF
Each router makes its forwarding decision based on the contents
of its forwarding cache.
Forwarding cache is build from the source-based shortest-path
tree for each (source, group) pair and the router’s local group
database
Forwarding cache entry





Destination
Source
Upstream: receive from
Downstream: forward to
TTL
Advantage


Adapt rapidly to changes in group membership
Interoperate with OSPF—used to forward normal unicast IP traffic
Disadvantage


Computationally intensive
Not well-suited for handling sparse mode
PIM-DM
Similar to DVMRP



Floods multicasts out of all interfaces except the source
interface
Uses RPM
Prune message to eliminate unneeded branches
Protocol-independent

Needs to establish its own router-to-router dialogs
PIM-DM
Assert Mechanism
Multiple routers are active on the same link
Routers sends “PIM assert” messages




Compare distance and metric values
Router with best route to source wins
If metric & distance equal, highest IP address wins
Losing router stops sending (prunes interface)
PIM-SM
Designed to provide efficient communication between members
of sparsely distributed groups
Rendezvous point (RP) are used by senders to announce their
existence and by receivers to learn about new senders of a
group
Requires host group members explicitly join a delivery tree by
transmitting Join message
One set of RPs per sparse-mode domain, not per group.
Each group has precisely one RP at any given time.
DR sends Join/Prune messages toward the RP and maintain
the active RP
PIM-SM (cont.)
Allows routers to create a source-based SPT on
behalf of their attacked receivers


Reduce delay
Reduce concentration of traffic on RP-tree
Advantages

Less traffic
disadvantages


Bottle-neck at an RP router
Single point of failure
PIM-SM
joining
DR receives IGMP Report message from receiver
DR creates a multicast forwarding entry for the (*,G) pair and transmits a
unicast Join message toward the primary RP for this group
Intermediate router forwards the Join message, creating a forwarding
entry for the (*,F) pair if not exists.
Source (S)
Designated
Router
Rendezvous Point
(RP)
for group G
Host
(receiver)
Join
Join
PIM-SM
sending
DR encapsulates the initial multicast packets in a Register packet and
sends them toward the primary RP
The active RP transmits Join messages back toward the source’s DR.
Intermediate routers create a new (S, G) pair.
When source gets a Join, it sends further packets without
encapsulation
Source (S)
PIM Router
DR
Rendezvous Point
PIM-Register
PIM-Join
Host
(receiver)
RP
CBT
Construct a single tree shared by a Group
Protocol independent
Core router equivalent to RP
Receiver cannot switch from RP-tree to SPT
CBT state bi-directional
 data flows in either direction along the branch
Advantage


Less traffic
Better scalability
Disadvantage


Bottleneck at CR
Single point failure
CBT
Host sends IGMP report to Join a group
JOIN-Request sent towards the core router
JOIN-Request is explicitly acked using JOIN-ACK by core or on-tree
router
Intermediate routers set up Transient state

<Group, Incoming interface, Outgoing interface>
Transient state converted to Active state by JOIN-ACK

Bi-directional state
Keep-alive mechanism—CBT Echo protocol


Echo-Request
 Each on-tree router is responsible for maintaining its Upstream link
 Sent to the Upstream router
 Carries a list of groups for which the upstream router is the parent
Echo-Reply
 From the parent with the list of groups attached to the child interface
Comparison
Inter-Domain Routing
Hierarchical routing


HDVMPR
HPIM
M-BGP (Multicast Border Gateway Protocol)
MSDP (Multicast Source Discovery Protocol)

Connect multiple PIM-SM domains together
6bone
Stands fro IPv6 backbone
an IPv6 test bed to assist in the evolution and
deployment of IPv6
The network became a reality in March 1996
started as a virtual network (using IPv6 over IPv4
tunneling/encapsulation) operating over the IPv4based Internet to support IPv6 transport
slowly migrating to native links for IPv6 transport
Now 1478 sites from 60 countries
6bone hierarchy
The 6Bone network is organized in three
hierarchical layers

the core backbone layer



the transit node layer




made up of a mesh of IPv6 over IPv4 tunnels which
connect only the backbone nodes
routing is based on BGP4+ (Border Gateway Protocol
version 4 extended to support IPv6) (RFC 2858)
connected to one or more backbone nodes
provide transit service to the leaf nodes
Routing outside of the backbone is mainly static
the peripheral or leaf node layer.
6bone addressing
based on the format established for IPv6
unicast addresses (RFC 2073)
backbone nodes act as experimental TLAs (Top
Level Aggregators) called pseudo-TLA

responsible for assigning IPv6 addresses to nodes
belonging to lower hierarchical levels which are
configured as their "clients".
The entire 6Bone network is identified by a
16-bit prefix assigned directly by IANA
each backbone node is assigned a 24- or 28bit long prefix
6bone future
Will stay in place until on longer needed
excellent place for an ISP to get early experience
before going into production
Thank you !
question?
References:
•
•
•
•
•
•
IP Multicasting by Dave Kosiur
Multimedia communications by Fred Halsall
Computer Networks by Andrew S. Tanenbaum
http://www.6bone.net
http://www.savetz.com/mbone/
http://www.juniper.net/techpubs/software/junos/junos60/swco
nfig60-multicast/html/swconfig60-multicastTOC.html