SMART Multicast is an experimental method of Secure Reliable IP Multicast. It allows a user to forward IP datagrams to an unlimited group of receivers. See the article on
multicast
In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
for a general discussion of this subject - this article is specifically about SMART IP Multicast.
SMART Multicast Uses
IP Multicast has been successfully deployed in private and controlled networking environments, for example; IP over fiber - cable TV operators, educational institutions with significant on-campus student housing and financial sector applications such as
stock tickers and
hoot-n-holler systems. However, IP multicast has been slow to be adopted in the interdomain routing environment. This is because the current interdomain infrastructure lacks the necessary tools to efficiently handle packet loss and the security needed to create a functional business model.
SMART IP Multicast is an experimental protocol that enables the interdomain transmission of Secure Reliable IP Multicast, thus overcoming the challenges of deploying wide area interdomain IP Multicast transmissions. SMART IP Multicast reduces the complexity of deploying wide area IP Multicast in the same way MFTP (Multicast File Transfer Protocol) accomplishes this goal for file transfer, namely allowing for security and reliability to have full interoperability.
IP Multicast file distribution has been the most successful use of IP Multicast within campus and commercial networks. For file distribution most have used some variant of the experimental protocol MFTP (Multicast File Transfer Protocol). MFTP is both secure and reliable and runs on top of IP Multicast protocol. Like MFTP, SMART Multicast is a wrapper that runs on top of IP Multicast, taking advantage of IP Multicast's efficiency. SMART Multicasts are secure, reliable and provide for bi-directional feedback.
For more info se
RFC3170 - IP Multicast Applications: Challenges & Solutions
History and Milestones
SMART supports an
MBONE
Mbone (short for " multicast backbone") was an experimental backbone and virtual network built on top of the Internet for carrying IP multicast traffic on the Internet. It was developed in the early 1990s and required specialized hardware and s ...
like implementation multicast between sites through the use of dynamically allocated Multicast tunnels. SMART takes advantage of SIMPLE (Self Implementing Multicast Protocol Level Escalation)
Experimental SMART Protocol Structure
Packet structure for SRM-P2MP
DATA PACKET Message TYP = 0x00 (binary 00)
ACCESS_SYNCH_CODE 8
PACKET_TYPE 2
CMD 2
RESERVED 4
PACKET SIZE 16
PACKET_NUMBER 16
PACKET FORMAT 2
DECRYPT_Y_N 1
QUIET 4
RESERVED 1
..PAYLOAD
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Packet Sequence , FMT D QUIET R RESERVED ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Payload ,
+- -+
, ........... ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(6 bits 64 types)
MESSAGES Message TYP = 0x01 (binary 1)
ACCESS_SYNCH_CODE 8
PACKET_TYPE 2
CMD 6
PACKET_SIZE 16
..PAYLOAD
ADDR_RANGE CHANGE CMD = 01 (binary 000001)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD , Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Address ,
+- -+
, Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
USAGE_REPORT_JOIN CMD = 0x0002 (binary 000010)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Address ,
+- -+
, Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
USAGE_REPORT_LEAVE CMD = 0x0003 (binary 000011)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Address ,
+- -+
, Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ERROR_REPORT CMD = 0x000B (binary 001011)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Reporting Address ,
+- -+
, Concerning Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Message Data ,
+- -+
, Message Data ,
+- -+
, Message Data ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PROBLEM_REPORT CMD = 0x0010 Binary (010000)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Reporting Address ,
+- -+
, Concerning Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Message Data ,
+- -+
, Message Data ,
+- -+
, Message Data ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
MESSAGES Message TYP = 0x02 (binary 10) Replacement Requests
ACCESS_SYNCH_CODE 8
PACKET_TYPE 2
CMD 6
PACKET_SIZE 16
..PAYLOAD
REPLACEMENT CMD = 01 (binary 000001)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD , Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Multicast Address ,
+- -+
, Sequence # , ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
QUIET = 0x0002 (binary 000010)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Multicast Address ,
+- -+
, Duration # , ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
MESSAGES Message TYP = 0x03 (binary 11) Tunneling Requests
ACCESS_SYNCH_CODE 8
PACKET_TYPE 2
CMD 6
PACKET_SIZE 16
..PAYLOAD
REQUEST_TUNNEL CMD = 01 (binary 000001)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD , Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Address ,
+- -+
, Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LEAVE_TUNNEL = 0x0002 (binary 000010)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Access Synch , TYP CMD RESRV, Packet Size ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, Address ,
+- -+
, Address ,
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Addressing
There are four forms of IP addressing, each with its own unique properties.
*
Unicast
Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication.
In computer networking, unicast is a one-to-one transmission from one point in ...
: The most common concept of an IP address is a unicast address. It normally refers to a single sender or a single receiver.
*
Broadcast: Sending data to all possible destinations. For example, to send to all addresses within a network with the prefix 192.0.2, the directed broadcast IP address is 192.0.2.255.
*
Multicast
In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
: A multicast address is associated with a group of interested receivers. According to RFC 3171, addresses 224.0.0.0 to 239.255.255.255 are designated as multicast addresses. Routers take care of making copies of datagrams and sending them to all receivers that have registered their interest in receiving targeted data.
*
Anycast
Anycast is a network addressing and routing methodology in which a single destination IP address is shared by devices (generally servers) in multiple locations. Routers direct packets addressed to this destination to the location nearest the sen ...
: Like broadcast and multicast, anycast is a one-to-many routing topology. However, the data stream is not transmitted to all receivers, just the one which the router decides is the "closest" in the network. Anycast is useful for balancing data loads. It is used in
DNS and
UDP.
IP Multicast protocols
*
Internet Group Management Protocol
The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct ...
(IGMP)
*
Protocol Independent Multicast
400px, Example of a multicast network architecture
Protocol-Independent Multicast (PIM) is a family of multicast routing protocols for Internet Protocol (IP) networks that provide one-to-many and many-to-many distribution of data over a LAN, ...
(PIM)
*
Distance Vector Multicast Routing Protocol The Distance Vector Multicast Routing Protocol (DVMRP), defined in , is a routing protocol used to share information between routers to facilitate the transportation of IP multicast packets among networks. It formed the basis of the Internet's hist ...
(DVMRP)
*
Multicast BGP (MBGP)
*
Multicast Source Discovery Protocol Multicast Source Discovery Protocol (MSDP) is a Protocol Independent Multicast (PIM) family multicast routing protocol defined by Experimental RFC 3618. Despite becoming the IPv4 de facto standard
A ''de facto'' standard is a custom or conventi ...
(MSDP)
*
Multicast Listener Discovery
Multicast Listener Discovery (MLD) is a component of the Internet Protocol Version 6 (IPv6) suite. MLD is used by IPv6 routers for discovering multicast listeners on a directly attached link, much like Internet Group Management Protocol (IGMP) i ...
(MLD)
*
GARP Multicast Registration Protocol (GMRP)
*
Multicast DNS
In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a zero-configuration service, using essentially the same programming interfaces, pac ...
(mDNS)
* SMART Multicast (SMART)
See also
*
dense multicast
400px, Example of a multicast network architecture
Protocol-Independent Multicast (PIM) is a family of multicast routing protocols for Internet Protocol (IP) networks that provide one-to-many and many-to-many distribution of data over a LAN, ...
*
sparse multicast
*
source-specific multicast
Source-specific multicast (SSM) is a method of delivering multicast packets in which the only packets that are delivered to a receiver are those originating from a specific source address requested by the receiver. By so limiting the source, SSM re ...
*
core-based trees
*
Multicast address
A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link lay ...
*
Multicast
In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
{{DEFAULTSORT:Smart Multicast
Internet protocols
cs:IP Multicast
de:Multicast
es:Multidifusión
no:IP Multicast
pl:IP Multicast