ip multicast fang yan csee, umbc 10/14/04 topics basics of multicasting mbone ipv4 routing protocols...

50
IP Multicast Fang Yan CSEE, UMBC 10/14/04

Upload: jonah-pope

Post on 30-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

IP Multicast

Fang Yan

CSEE, UMBC

10/14/04

Page 2: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

topics

Basics of multicasting

MBone

IPv4 routing protocols

6bone

Page 3: 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

Page 4: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 5: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

A

B

C

D

E

X

Y

Z

Flow of data in multiple unicasting

Page 6: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

A

B

C

D

E

X

Y

Z

Flow of data in multicasting

Page 7: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 8: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

multicast address

IPV4

4 28 bits

class D

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

1110 Multicast Group ID

Page 9: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 10: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

multicast address (cont.)

IPV6 8 4 4 112 bits

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 organizatio

n) 14: global

11111111 flags scope Multicast Group ID

Page 11: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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 !

Page 12: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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.

Page 13: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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)

Page 14: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

mrouter

LAN

Multicast island

A

B C

D

Page 15: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 16: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

versi on hdr l en servi ce typeflags

t i me to l i ve

datagram l engthi denti fi cati on f ragment off set

protocol header checksumsource address

mul ti cast desti nati on addressappl i cati on data

Original packet

Page 17: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

version hdr len service typeflags

time to live

version hdr len service typeflags

time to live

source address=unicast address of router at beginning of tunneldestination address=unicast address of rounter at end of tunnel

datagram lengthidentification fragment offset

protocol=4 header checksum

detagram lengthidentification fragment offset

protocol header checksumsource address

multicast destination addressapplication data

Encapsulated packet

Page 18: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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.

Page 19: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

MBone (cont.)

Initially used DVMRP routing algorithm

Migrated toward PIM

Uses UDP protocol

Problems Scalability Flow control Congestion control

Future Universe support of multicast?

Page 20: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

IGMPv1

Stands for Internet Group Management ProtocolDescribed in RFC 1112.Manages multicast group membershipRuns between hosts and their immediate neighboring mrouterOnly two kinds of packets: query and reportPacket format

4 4 4 16 bits

versi on type unused checksumcl ass D mul t i cast group address

Page 21: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

IGMPv1How 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

Page 22: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 23: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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)

Page 24: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 25: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 26: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

RPF

Stands for reverse path forwarding

Simple algorithm developed to avoid duplicate packets on multi-access 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 never forwarded back out the RPF interface!

Page 27: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

DVMRPexchange distance vectors

First multicast routing protocol ever deployed in the InternetEach router maintains a ‘multicast routing table’ by exchanging distance vector information among routers Constructs a source tree for each group using reverse path

forwardingThere 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

Page 28: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

DVMRPbroadcast & 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)

Page 29: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 30: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

DVMRP

Advantage Relatively simple Modest processing demands

Disadvantage Convergence performance Periodically flood multicast traffic to rebuild its

trees – scalability

Page 31: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

MOSPF

Modified from OSPFSuitable 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 networkEach router floods its local state through the ASSource-rooted Shortest path tree for each [source network, destination group] pairSource-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

Page 32: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

MOSPFEach 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 databaseForwarding 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

Page 33: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 34: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

PIM-DMAssert 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)

Page 35: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

PIM-SMDesigned 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

Page 36: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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

Page 37: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

PIM-SMjoining

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)

Host(receiver)

DesignatedRouter

Rendezvous Point(RP)

for group G

Join Join

Page 38: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

PIM-SMsending

DR encapsulates the initial multicast packets in a Register packet and sends them toward the primary RPThe 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)

Host(receiver)

RP

DR

PIM Router

Rendezvous Point

PIM-Register

PIM-Join

Page 39: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

CBT

Construct a single tree shared by a GroupProtocol independentCore router equivalent to RPReceiver cannot switch from RP-tree to SPTCBT state bi-directional data flows in either direction along the branch

Advantage Less traffic Better scalability

Disadvantage Bottleneck at CR Single point failure

Page 40: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

CBT

Host sends IGMP report to Join a groupJOIN-Request sent towards the core routerJOIN-Request is explicitly acked using JOIN-ACK by core or on-tree routerIntermediate 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

Page 41: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

Comparison

Page 42: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

Inter-Domain Routing

Hierarchical routing HDVMPR HPIM

M-BGP (Multicast Border Gateway Protocol)

MSDP (Multicast Source Discovery Protocol) Connect multiple PIM-SM domains together

Page 43: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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 1996started as a virtual network (using IPv6 over IPv4 tunneling/encapsulation) operating over the IPv4-based Internet to support IPv6 transport

slowly migrating to native links for IPv6 transport

Now 1478 sites from 60 countries

Page 44: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

6bone hierarchy

The 6Bone network is organized in three hierarchical layers the core backbone 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)

the transit node layer 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.

Page 45: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone
Page 46: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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 belongi

ng to lower hierarchical levels which are configured as their "clients".

The entire 6Bone network is identified by a 16-bit prefix assigned directly by IANAeach backbone node is assigned a 24- or 28-bit long prefix

Page 47: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone
Page 48: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

6bone future

Will stay in place until on longer needed

excellent place for an ISP to get early experience before going into production

Page 49: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

Thank you !

question?

Page 50: IP Multicast Fang Yan CSEE, UMBC 10/14/04 topics Basics of multicasting MBone IPv4 routing protocols 6bone

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/swc

onfig60-multicast/html/swconfig60-multicastTOC.html