Multicast IP and the MBONE
LESSON 17
(November 1, 1995)
Daniel Z. Tabor Jr.
New Jersey Institute of Technology
Broadcasting:
- Broadcasting:
- Network delivers a copy to all destinations using a special reserved broadcast address.
- Ethernet broadcast address: FF.FF.FF.FF.FF.FF
- TCP/IP broadcast address: 255.255.255.255
- Disadvantage:
- Consumes resources on all machines for every broadcast.
Hardware Multicasting:
- Hardware Multicasting:
- Allows each machine to choose whether it wants to participate in the multicast (also know as selective
broadcasting).
- Multicast address:
- Decided upon and used by all member machines of the multicast group.
- Network Interface Cards (NIC):
- Must be configured to receive hardware multicast addresses.
- Advantage:
- Only machine resources of those wishing to receive the selective broadcast are consumed.
Software Multicasting (IP):
- IP Multicasting:
- The internet abstraction (equivalent) of hardware multicasting, provided through software.
- Multicast groups are formed in software to determine which nodes receive the selective broadcast.
- Membership in a multicast group is dynamic.
- Multicast addresses are Class D IP addresses, where each group must use a unique one either:
- Permanently - Internet Authority assigns well-known addresses.
- Temporarily - Corresponding to transient multicast groups.
- Multicast gateways must be used to forward multicast datagrams.
- The TCP/IP Multicasting standard defines:
- IP multicast addressing.
- Specifies how hosts send and receive multicast datagrams.
- Describes the gateway protocol that is used to determine the multicast group membership on a network.
Multicast Addresses:
- Multicast address range:
- 224.0.0.0 - 239.255.255.255
- 224.0.0.0 - Reserved
- 224.0.0.1 - Permanently assigned to the All Hosts Group
- Multicast addresses:
- Can only be used as destination addresses.
- Can never appear in the source field of a datagram.
- Can never appear in the Source Route or Record Route options.
- No ICMP error messages can be generated for them.
- IP multicast addresses must be mapped to hardware multicast addresses.
- Broadcast addresses are used if multicast support is not available.
- A host participates in the IP multicast at one of three status levels.
- It must run a protocol that informs the local multicast gateways of it’s group membership status.
- Hosts join specific IP multicast groups of specific networks.
Internet Group Management Protocol (IGMP):
- Internet Group Management Protocol (IGMP):
- Used by hosts and gateways that implement multicast to communicate group membership information.
- ICMP (a TCP/IP standard) is required on all machines that participate in IP Multicast at level 2.
- IGMP is similar in service to ICMP.
- Two phases to IGMP’s functionality.
- Phase One:
- Host joins a new group and send an IGMP message to the "all hosts" group (224.0.0.1).
- Messages are received and membership information gets propagated to other multicast gateways.
- Phase Two:
- Local multicast gateways poll hosts periodically to determine if it is still in each multicast group.
- If yes, it continues advertising it’s membership.
- If no, it stops and deletes that membership entry from the gateway.
- IGMP must remember the status of each multicast group to which a host belongs.
- It keeps a table of membership and each entry can have one of three possible states (levels):
- Not used
- Timer Active
- Member
IGMP Message Format:
- VERS (4-bits):
- TYPE (4-bits):
- Query sent by gateway = 1
- Response sent by host = 2
- GROUP ADDR (32-bits):
- Host reports membership in particular multicast group.
Propagating Route Information:
- No standard currently exists for propagating routing information among multicast routers.
- Current multicast routers are adopting an experimental routing protocol to exchange information
- Distance Vector Multicast Routing Protocol (DVMRP):
- Uses IGMP messages to carry information and exchange group membership status.
- Other routing protocols proposed for use with multicast networks are:
- MOSPF (Multicast Open Shortest Path First) - OSPF routing with multicast extensions.
- PIM (Protocol Independent Multicast) - proposed by the (IDMR)
Inter-Domain Multicast Routing working group, and has two modes:
- Most mrouters (used in the MBONE) employ DVMRP which is commonly considered inadequate for
rapidly changing network topologies because routing information propagates too slowly.
- The multicast extension to the Open Shortest Path (MOSPF) link-state protocol has been proposed by
John Moy of Proteon Inc. to address this problem.
Multicast Routers (Mrouters):
- Mrouters (IP Multicast Routers):
- Assist or replace the functionality of host/gateway participation in distributing and replication of the multicast
datastream.
- Mrouters:
- Provide "efficient" distribution of packets
- Use (in part) multicast tunnels to achieve it.
- Once properly established, they need little or no attention.
Multicast Tunneling:
- Multicast Tunnels:
- Mrouters append additional headers to packets which are routed through non-multicast gateways as normal
packets.
- The headers are then stripped off when received by an mrouter at the other end of the tunnel.
- Tunneling Scheme:
- A scheme to forward multicast packets through Internet IP routers which typically do not support IP multicast.
- The tunneling scheme encapsulates multicast streams into unicast packets which can be passed as regular
Internet protocol packets.
- Packets are sent along a virtual network of dedicated multicast routers (mrouters) until they reach the
various destination local area networks.
- The use of dedicated mrouters segregates multicast packet delivery, protecting standard network
communications (mail, ftp, telnet) from real-time applications.
Virtual Internet Backbone for Multicast-IP (MBONE):
- What is the MBONE?
- MBONE is a virtual network layered on top of portions of the physical Internet.
- MBONE stands for Multicast Backbone, a virtual network that has been in existence for over three years.
- MBONE is currently used for multicast real-time applications.
- The network originated from an effort to multicast audio and video from the IETF meetings.
- MBONE today is used by several hundred researchers for
protocols and applications development and for group communication.
- Multicast is used because it provides one-to-many and many-to-many simultaneous network delivery
services for real-time applications such as videoconferencing and audio.
MBONE:
Virtual Network
- The reason that MBONE is a virtual network:
- It shares the same physical media as the Internet
- It uses a parallel system of routers that can support multicast, augmented with IP tunnels.
- Usually the routers are dedicated workstations running with modified kernels and multiple network interfaces.
MBONE:
Bandwidth Considerations
- The reason why a multicast stream is bandwidth-efficient is that one packet can be sent to all workstations on a
network.
- Example:
- 125 Kbps video stream (1 frame/second) uses the same bandwidth whether it is received by one workstation or
twenty.
MBONE:
Networking Details
- When a host on an MBONE-equipped subnet establishes or joins a group it announces that event using IGMP.
- The multicast router on that subnet forwards the group information to other routers in the network.
- MBONE sessions use the session directory (sd) tool (developed by Van Jacobson of Lawrence Berkeley
Laboratories) to display the announcements by multicast groups.
- SD is also used for:
- Launching multicast applications.
- Automatically selecting an unused address for any new groups.
- Groups are disestablished when all members leave, freeing-up that IP multicast address for reuse.
- The MBONE routers occasionally poll hosts on the subnets to determine if any are still group members.
- If there is no reply by a host, the router stops advertising that hosts group membership to the other multicast
routers.
- This is an exact implementation of IGMP functionality.
MBONE:
Topology and Scheduling
- "The MBONE topology and the scheduling of multicast sessions must be actively managed by the
MBONE community to minimize congestion."
- The topology consists of the backbone and regional (midlevel) networks linked by a mesh of IP tunnels and mrouters.
- Currently, over 20 countries participate in the MBONE project and use over 1000 multicast routers.
- Approximately 400 sites worldwide are currently MBONE members.
MBONE:
Real Time Protocol (RTP)
- In addition to the multicast protocols, MBONE applications are using the Real Time Protocol (RTP) on
top of User Datagram Protocol (UDP) and IP.
- RTP is being developed by the Audio-Video Transport Working Group within the IETF.
- RTP provides timing and sequencing services; which allows applications to adapt and smooth out
network-induced latencies and errors.
- The end result:
- Participants using real time audio normally perceive conversations as if they are in real-time even though
there is a small buffering delay to synchronize and sequence the arriving voice packets.
MBONE:
Application Tools
- Video, audio, and a shared drawing whiteboard are the principal applications used on the MBONE.
- Specific software packages which implement them are:
- nv (net video):
Ron Frederick (Xerox PARC)
- vat (visual audio tool): Van Jacobson
- wb (whiteboard): Van Jacobson (Berkeley Lab)
- Additional tools are also available or under development such as:
- imm (Image Multicaster Client):
- A low-bandwidth image server by Winston Dang (Univ. Hawaii)
- It is used to provide live images of Earth from geostationary satellites at half-hour intervals.
- Distributed Interactive Simulation: (Mike Macedonia)
- Ported from IEEE Distributed Interactive Simulation (DIS) protocol.
- Used to enable live interaction between virtual worlds as an MBONE communications tool.
MBONE:
Events
- NASA Select, the NASA in-house cable channel broadcast during space shuttle missions.
- Some conferences include:
- Supercomputing
- Internet Engineering Task Force
- Scientific visualization
- Lectures by distinguished speakers (Xerox PARC)
- Internet Talk Radio (Carl Malamud) "geek of the week"
MBONE:
Debugging Tools
- Tcpdump
| - Mcollect
|
- Traceroute
| - Mdump
|
- Mtrace
| - Map-Mbone
|
- Etherfind
| - Rtpqual
|
- Netstat
| - Slack
|
- Ifconfig
| - Mrmap
|
- Mrdebug
| - Etherman
|
- Mrinfo
| - Interman
|
MBONE:
Resource Acknowledgments
- Many thanks to Mike Macedonia and Don Brutzman of the Naval Postgraduate School for the information
resources on the MBONE.
- Their guide - MBONE - An Overview, (M.Macedonia & D.Brutzman) can be found at:
All work was written, produced, and is copyrighted by Daniel Z. Tabor Jr.
Page created by Daniel Z. Tabor Jr.
Copyright ©1995 Illusion Industries Inc.