Abstract: multicast communication is a hot network technology. This article describes the basic concepts of IP multicast technology, multicast addressing, Internet Group Management Protocol (IGMP), multicast routing algorithms, and existing multicast routing protocols, and the new multicast routing protocol being studied. It also introduces the main problems in multicast: security issues and QoS issues, and briefly introduces the present situation and prospects of multicast applications.
Keywords: multicast group multicast routing multicast tree
1. Introduction
With the development of the Internet, new services such as on-demand video, video conferencing, remote learning, and computer collaboration have emerged. Traditional point-to-point communication not only wastes a large amount of network bandwidth, but also has low efficiency. Multicast is a technology that effectively utilizes the existing bandwidth. Multicast is a communication method that allows you to send messages from one to multiple points (or multiple to multiple points). That is, multiple receivers receive the same message from one source at a time.
In multicast, the concept of group is very important. According to the definition of multicast, multicast streams are sent from a source to a group of destination nodes. In IP multicast, a multicast group has an ID number called the multicast group ID number, which specifies the destination group for sending packets. These IDS are actually Class d ip addresses. If a host wants to receive multicast messages sent to a specific group, it needs to listen to all packets sent to that specific group. To select multiple multicast packets on the Internet, the host needs to notify its subnetwork multicast router to join a group. The multicast network uses the Internet Group Management Protocol (IGMP) to this end, IGMP is also used to exit the group. In this way, the multicast routers on the network will know the multicast group members on the network and decide whether to forward multicast packets to their networks. When a multicast router receives a multicast group, it checks the Message ID and forwards the packet only when the group has members. IGMP provides the information required at the final stage of forwarding Multiple Multicast packets to the destination. Multicast routers exchange information with each other, which is collected from members of the group of hosts directly connected to them. The algorithms used to exchange route information between multicast routers include flood, spanning tree, reverse route broadcast, and reverse route multicast, some algorithms are used in dynamic multicast routing protocols, such as distance vector Multicast Routing Protocol (distance ).
Vector multicast routing protocol, dvmrp, multicast Open Shortest Path First, mospf, core-based tree, And CBT ), it is independent of the Point-to-Point Protocol (Protocol Independent Multicast, Pim. From the routing information obtained through these protocols, multicast routers must decide whether to forward packets to their networks. Finally, the router on the leaf node needs to check whether there are Members in the physical network connected to the specific group and decide whether to forward the group.
In the next section, we will introduce multicast addressing and their conversion to MAC layer addresses, and then IGMP. Then we will discuss routing algorithms and protocols. Finally, we will introduce the multicast basis (mbone) the prospect of multicast.
2. Multicast Groups
2.1 addressing
There are three basic types of IP addresses: unicast, broadcast, and multicast. The Unicast address is used to transmit a packet to a single destination node. The broadcast address is used to transmit a packet to all nodes on the subnet; multicast addresses are used to send a packet to a group of destination nodes that may not be in the same subnet.
2.2internet Group Management Protocol (IGMP)
IGMP is a protocol used by multicast routers to understand multicast group member information. It mainly uses two types of packets: group member Query Packets and group member report packets. Multicast routers periodically send group member Query Packets to learn which groups have members on the connected subnets. The query message is sent to all host groups. The host responds to the multicast group to which a member reports packets. When a host is added to a new group, it should immediately send an add packet instead of waiting for a query, just in case it is the first member of that group.
When the host receives the information as a member of a group, the multicast router periodically queries the group and checks whether the Members in the inspection team are still involved, as long as there is another host still participating, the multicast router continues to receive data. When all hosts leave the group, the multicast router will receive an IGMP "quit" message, and the multicast router will immediately query whether there are any active group members in the group. If a group member is active, the multicast router continues to forward data. If not, data is no longer forwarded.
3. Multicast Routing Algorithms and protocols
The most common method to implement multicast communication is to construct a tree-based route, because the tree-based route has the following advantages: 1) Grouping arrives at different receivers along the branches in parallel; 2) group replication is only performed at the forks, minimizing the number of groups transmitted in the network.
Multicast Routing is used to find a tree from the source to a group of destination nodes. Information is transmitted along this tree to all receivers. Multicast Groups are a set of trees. Each tree corresponds to the multicast route of a node.
Currently, algorithms for building multicast trees mainly include flooding, spanning tree, St, shortest path tree, and SPT ), minimum Spanning Tree (MST), maximum bandwidth tree (MBT), reverse path Broadcasting (RPB), and truncated
Reverse path broadcasting, trpb), Steiner Tree (Steiner Tree, St), restricted Steiner Tree (constrained Steiner Tree, Cst), reverse path multicast (reverse path multicasting, rpm) and core-based tree (CBT) algorithms.
Multicast over the Internet mainly uses two types of routing protocols. The first is the muticast interior gateway protocol (migp), which is used to communicate in an autonomous system. Such as distance vector Multicast Routing Protocol (dvmrp), multicast Open Shortest routing Priority Protocol (mospf), and core Tree Protocol (CBT ), the multicast protocol (PIM) independent of the Point-to-Point Protocol ). The second is the protocol used by the border router to communicate between autonomous systems (AS), for example, the Border Gateway multicast protocol (Border ).
Gateway multicast protocol, bgmp ).
In the multicast routing algorithm described above, only one part is used in practice. Dvmrp and mospf use the shortest path tree, while CBT and bgmp use the core tree for multicasting. Pim uses the core tree or the reverse Shortest Path Tree. The following describes protocols such as dvmrp, mospf, CBT, and Pim. Several new protocols are also introduced, which explicitly require the Protocol Express (explicitly requested single source) AND Sm (simple Multicast) of a single source ).
3.1 distance vector Multicast Routing Protocol (dvmrp)
Dvmrp is the multicast routing protocol used on mbone. It uses RPM to build multicast trees. Dvmrp specifies a scale and threshold for each communication link. The scale specifies the routing cost of the link and is used to build the reverse Shortest Path Tree. The threshold value is the minimum TTL (TTL) that a multicast group needs to forward to a given link ). The threshold value can be used to limit the propagation range of multicast groups,
In dvmrp, multicast routers periodically exchange route information with their adjacent multicast routers. The multicast router uses the route information obtained from the neighboring multicast router to establish its own Multicast Route table.
With the rapid development of mbone, the regular propagation of a large number of route control groups caused by dvmrp restricts the expansion of the network scale. Therefore, the hierarchical dvmrp concept is proposed, that is, mbone is divided into multiple regions for hierarchical management, and multicast communication in the region can be performed according to any protocol, multicast Communication between regions is performed by the border router according to the dvmrp protocol. This reduces the overhead of route control information.
3.2 Open Shortest Path-first multicast protocol (mospf)
Mospf is a multicast routing protocol based on OSPF using a point-to-point link status database. In OSPF, the link status database is created through five different link status notification groups (LSA. An LSA group is a data unit that describes the local status of a vro or network. For a router, this includes the status of the router interface and the adjacent interface. Each link status announcement is spread in the routing domain using a flood algorithm ." Mospf expands OSPF by adding a new type of LSA group called group members LSA group. In mospf, the router uses IGMP to understand the group member information on the connected network, and uses the flooding algorithm to spread the group member LSA group in the autonomous system. Therefore, the router can establish a shortest path tree for any node in the Autonomous System by Using the link status database. When a vro receives a multicast group, it calculates the shortest path tree based on the source in the group and forwards the packet along the tree. To save the CPU and memory resources of the vro, mospf can execute algorithms as needed, that is, the routing algorithm is executed only when the vro receives the first group from a source. The disadvantage of this approach is that the latency of the first group is large.
3.3 core Tree Protocol (CBT)
Dvmrp is not applicable to a large network with many active multicast groups for two reasons. First, if there are thousands of nodes in the network and only a few nodes belong to multicast groups, the cost of spreading the first group with RPM is very high. Second, each multicast router must remember each (source, group) pair. When multicast groups and sources increase, this operation is very difficult. CBT is proposed to overcome these shortcomings of dvmrp. In CBT, branches are sent from the core of the tree. These branches are composed of other routers that form the shortest path between the router and the core directly connected to the host. CBT reduces the size of the multicast route table in the vro, because it only needs to store route information for each active group, rather than for each active source group. Once the core router is determined, a router that is not on the CBT can send an add/request packet to the core router, and then the core router establishes a route table at each hop. In this way, the CBT establishes a shared core tree.
CBT creates a transfer tree for each node, which is transmitted at the core and shared by the nodes sent to the multicast target node. For sparse groups, CBT is not the same as RPM and needs to be broadcast occasionally. However, this benefit is achieved by the CBT imposing a shared tree for each multicast group. Because the traffic comes from all sources and is connected to the core through the same link, CBT will result in traffic concentration and bottlenecks near the core router.
3.4pim Protocol
The starting point of Pim is that it supports both the shared tree and SPT in the Wan, and can achieve flexible conversion between the two, which combines the advantages of both while avoiding their shortcomings. When group members are sparse, construct a shared tree to avoid the broadcast overhead of a group. When a group member is in a dense set, transmit data in the form of broadcast, and then delete the branches without receiving nodes from the tree. Pim has two modes: Sparse Mode (PIM-SM) and dense mode (PIM-DM ).
PIM-SM protocol is used when the receiver distribution in the network is scattered or multicast groups are separated by Wan. It defines a set point (RP) to connect the receiver and the sender. Vrouters in group members add a PIM-SM tree by sending clear messages, while dvmrp generates multicast trees by pruning the reverse Shortest Path Tree. When the receiver wants to send data, it first sends the data to the RP, and then the RP sends the data to the group. When the receiver wants to receive the data, it needs to register with the consortium router.
PIM-DM protocols are applicable when the sender and receiver are very close and only some of them are with many recipients. It is a data-driven protocol and uses SPT to build multicast trees. It directly uses the route table provided by the unicast routing algorithm to forward data, but is independent of the unicast protocol.
3.5 VBR multicast protocol (bgmp)
The border router uses bgmp for multicast communication between different as instances. Bgmp consists of migp and bgmp. The virtual border router uses migp to join the as migp protocol and bgmp to establish a core tree with other virtual border routers. The root of the core tree is an as rather than a router.
Bgmp uses TCP as its transmission protocol. The Border Gateway establishes a TCP connection between them and exchanges bgmp packets. When the Group members change, the Border Gateway sends the Add or trim packets. Because the shortest path from a multicast source to the target node is different from the path used by the shared tree, bgmp also allows the border gateway to connect a branch specified by the source to the core tree.
3.6 latest protocol
In the above protocols, the main problems exist: first, there is no mechanism to estimate the size of multicast groups. Second, there is no mechanism to restrict unauthorized senders from sending data to multicast groups and unauthorized recipients from receiving data from multicast groups. Third, this model requires protocols such as MASC (multicast address set claim) to allocate a globally unique multicast group address. The following protocols are proposed to solve these problems.
Express is a protocol that explicitly requires a single source. It is an extension of IP multicast that supports the channel model. A channel is composed of a specified source and multiple user groups. Express creates the source-specific tree for each channel (S, M). S is the source IP address, and m is the multicast address. Express does not require the Protocol to assign a globally unique multicast address, because a channel is identified by multicast addresses and source node IP addresses. When a channel key is allocated through the source, unauthorized hosts are restricted. Express also provides a way to calculate the number of members in a multicast group.
The simple multicast protocol (SM) is built with the core node as the root share tree. It joins and leaves members, and maintains data transmission and multicast trees similar to CBT. The main difference between SM and CBT is how they solve the problem of multicast address allocation. Each multicast group in SM is identified by (C, M, c is the address of the core router on the multicast tree, and M is a multicast address. The identification information of multicast groups is attached to the request message and data packet. Because multicast groups are identified by multicast addresses and IP addresses of core nodes, it is not difficult to manage global addresses.
4. mbone
To test multicast protocols and applications, researchers hope to find a way to use multicast applications without converting devices on the Internet into devices that support multicast, this led to the birth of mbone. Mbone is the result of a joint experiment and cooperation between volunteers across several continents. It is actually a virtual network built on the Internet. It uses tunnels to pass through networks that do not support multicast. Through tunneling, multicast groups can achieve the target node through the non-multicast capability in the Internet.
In mbone, the original routing protocol only uses dvmrp. Although other routing protocols such as mospf and PIM are used in mbone, most routers still use dvmrp.
Now, IETF, NASA, and other research groups use mbone to Study and Test multicast protocols and services, and use mbone for Multimedia conferences and desktop conferences that use Internet multicast, even multicast real-time concerts. The number of sites added to mbone has been growing rapidly.
5. Main Problems in Multicast
5.1 security issues
IP multicast uses the connectionless protocol UDP to avoid storms. Because UDP is a connectionless protocol, it does not use ACK or Nack to ensure reliable transmission, and multicast cannot be detected by the firewall. Therefore, the most common firewall type (application gateway) cannot perform security authentication on multicast.
5.2 QoS Problems
In multimedia environments, the loss of a few groups is acceptable. However, in commercial processing and file transmission, this is unacceptable. In the multicasting of videos and sounds, only a small amount of loss can be tolerated. However, as users increase, the quality of data traffic protection becomes very prominent. Multicast requires reliable and rapid transmission, which can reduce the loss and delay of groups. Generally, the latency of a group is caused by low-layer protocols, such as Ethernet, ATM, and the gateway network. If they are sent to the destination end to process the group, the delay is easily caused.
Because every vro on the data link checks the information of each group, this delay can occur on all the Route IP networks. There are usually several media servers between the source and target to connect to different networks. When a group is from one vro to another, the protocol on each vro determines the shortest path for the Group to reach the next vro, which easily leads to a delay when the group reaches the destination.
In multicast, applications need to control the QoS of the data they receive. The main parameters for distinguishing network services are security, bandwidth, latency, jitter, and error rate. The Network trunk also needs to support QoS so that routers and hubs can transmit traffic in a centralized and accurate manner. Provides differentiated network services based on the security level, bandwidth, latency (wait time), jitter, error rate, cost, and other QoS parameters of the network. In addition, QoS provides different methods to allow different propagation types to share paths in a network. These propagation types include: constant bit rate (CBR), variable bit rate (VBR), and Available Bit Rate (ABR ).
Resource retention Protocol (RSVP) is the main Protocol that may be implemented by QoS. RSVP is an Internet transmission control protocol running at the top of IPv4 or IPv6. Its implementation is completed in the background, rather than in the data transmission path. RSVP allows the host to require the quality of service specified by the network that uses a specific application data stream or flow. For example, a host can specify a specific network service level based on the maximum average bandwidth, maximum delay, priority queue, and other parameters. The router also uses RSVP to pass QoS requirements to all nodes along the path, and establishes and maintains the locations that provide the services required.
6. Present Situation and Prospects of Multicast Applications
Multicast has been widely used abroad. Microsoft uses Multicast technology to disseminate multimedia data streams every month. Cisco has used IP addresses/TVs to broadcast real-time video streams for internal meetings and training; the promus Hotel, Tennessee, has used Starburst communication software to distribute software updates and data updates to its branches through satellite links.
Some ISPs such as planet are conducting multicasting experiments on a limited basis. Vendors including uunet technologies have begun to provide multicast services to customers. Digital Xpress has distributed multicast services through satellites.
Multicasting is a very practical technology. With the further support of the internet for multicasting, And the promotion by many manufacturers and ISPs for multicasting, the development of multicasting is growing rapidly. In addition, it is composed of major international network equipment vendors, telecommunications companies and ISPs to form an international forum "IP multicast Initiative (IPMI )". It aims to work with multicast Working Groups in IETF to develop IP multicast standards and accelerate their adoption. With the further improvement of multicast technology and the development of more efficient and practical multicast applications, multicast will be widely used.