IP Multicast Technology and Its Application

 

Go to: IP multicast technology and its application  http://www.cnblogs.com/iloverain/

With the rapid development of the global Internet (Internet), the number of people surfing the Internet is increasing exponentially, and the proportion of data communications dominated by Internet technology in the total communications business is rising rapidly. Internet business has become a development in the multimedia communications industry. The fastest and most competitive field. The substantial increase in Internet network transmission and processing capabilities has resulted in more and more online application services, especially the development and maturity of video and audio compression technology, making online video and audio services one of the most important services on the Internet.

Compared with general services, video and audio services such as video on demand (VOD), video telephony, and video conferencing implemented on the Internet have the characteristics of large data volume, strong delay sensitivity, and long duration. Therefore, to use the least time and space to transmit and solve the problems of high network utilization, fast transmission speed, and strong real-time performance required by video and audio services, it is necessary to adopt forwarding technologies and QoS service guarantees that are different from traditional unicast and broadcast mechanisms. Mechanism to achieve, and IP multicast technology is the key technology to solve these problems.

1. The concept of IP multicast technology

IP multicast (also called multicast or multicast) technology is a TCP/IP network that allows one or more hosts (multicast sources) to send a single data packet to multiple hosts (once, at the same time) technology. As a point-to-multipoint communication, multicast is one of the effective ways to save network bandwidth. In the application of network audio/video broadcasting, when the signal of a node needs to be transmitted to multiple nodes, whether it is a repeated point-to-point communication method or a broadcast method, it will seriously waste network bandwidth. Only multicast is the best s Choice. Multicast enables one or more multicast sources to only send data packets to a specific multicast group, and only hosts that join the multicast group can receive the data packets. Currently, IP multicast technology is widely used in network audio/video broadcasting, AOD/VOD, network video conferencing, multimedia distance education, "push" technology (such as stock quotes, etc.), and virtual reality games.

2. Basic knowledge of IP multicast technology

1. IP multicast address and multicast group

IP multicast communication must rely on the IP multicast address. In IPv4, it is a class D IP address, ranging from 224.0.0.0 to 239.255.255.255, and is divided into local link multicast addresses, reserved multicast addresses, and management There are three types of authorization multicast addresses. Among them, the local link multicast address range is 224.0.0.0~224.0.0.255, which is reserved for routing protocols and other purposes. The router does not forward IP packets belonging to this range; the reserved multicast address is 224.0.1.0~ 238.255.255.255, which can be used on a global scale (such as the Internet) or network protocols; the management authority multicast address is 239.0.0.0~239.255.255.255, which can be used internally by the organization. It is similar to a private IP address and cannot be used on the Internet. It can be more restricted Broadcast range.
All hosts that use the same IP multicast address to receive multicast packets form a host group, also known as a multicast group. The membership of a multicast group can change at any time. A host can join or leave the multicast group at any time. The number of members of the multicast group and the geographic location are also not limited. A host can also belong to several multicast groups. . In addition, hosts that do not belong to a certain multicast group can also send data packets to the multicast group.

2. Multicast distribution tree

In order to transmit multicast data to all receiving hosts, a multicast distribution tree is used to describe the path of IP multicast transmission in the network. There are two basic types of multicast distribution trees: active trees and shared trees.

The active tree uses the multicast source as the root of the active tree. The branches of the active tree form a distribution tree that reaches the receiving host through the network. Because the active tree runs through the network with the shortest path, it is often called the shortest path tree ( SPT). The shared tree uses one of the selectable multicast routes in the multicast network as the common root of the shared tree. This root is called the rendezvous point (RP). The shared tree can be divided into one-way shared tree and two-way shared tree. One-way shared tree means that the multicast data stream must be sent from the root to the multicast receiver through the shared tree. The bidirectional shared tree means that the multicast data stream may not pass through the shared tree.

3. Reverse path forwarding

Reverse Path Forwarding (RPF) is the basis of the multicast data forwarding process in the multicast routing protocol. Its working mechanism is that when the multicast information passes through the active tree, the multicast router checks the multicast source address of the arriving multicast packet. To determine whether the interface through which the multicast data packet passes is on the active branch, if so, the RPF check succeeds and the multicast data packet is forwarded; if the RPF check fails, the multicast data packet is discarded.

4. Internet multicast backbone (MBONE) network

The Internet multicast backbone (MBONE) network is composed of a series of interconnected subnet hosts and interconnected routers that support IP multicast. It can be seen as a virtual network structured on the upper layer of the Internet physical network. In this virtual network, the multicast information stream sent by the multicast source can be directly transmitted between the router groups that support IP multicast, and in the multicast router The transmission between the group and the non-multicast router group is through point-to-point tunneling technology.

Three, IP multicast routing and its protocol

1. Basic types of IP multicast routing

A common idea of ​​multicast routing is to construct an extended distribution tree among multicast group members. The IP multicast traffic on a specific "source, destination group" pair is transmitted from the source to the recipient through this extended tree, which connects all hosts in the multicast group. Different IP multicast routing protocols use different technologies to construct these multicast extended trees. Once the tree is constructed, all multicast traffic will be propagated through it. 
According to the distribution of multicast group members in the network, in general, IP multicast routing protocols can be divided into the following two basic types. The first assumes that multicast group members are densely distributed in the network, that is, most subnets of the network contain at least one multicast group member and the network bandwidth is large enough. This is called "dense mode" ( Dense-Mode) multicast routing protocol relies on broadcast technology to "push" data to all routers in the network. Dense mode routing protocols include Distance Vector Multicast Routing Protocol (DVMRP: Distance Vector Multicast Routing Protocol), Multicast Open Shortest Path First (MOSPF: Multicast Open Shortest Path First) and Dense Mode Independent Multicast Protocol (PIM-DM: Protocol) -Independent Multicast-Dense Mode) etc.

The second type of multicast routing assumes that multicast group members are sparsely dispersed in the network, and the network cannot provide sufficient transmission bandwidth. For example, the Internet connects a large number of users scattered in many different areas through ISDN lines. In this case, broadcasting will waste a lot of unnecessary network bandwidth and may cause serious network performance problems. So the sparse-mode multicast routing protocol must rely on technologies with routing capabilities to build and maintain the multicast tree. The sparse mode mainly includes core tree-based multicast protocol (CBT: Core Based Tree) and sparse mode independent protocol multicast (PIM-SM: Protocol-Independent Multicast-Sparse Mode).

2. Dense mode protocol

(1) Distance Vector Multicast Routing Protocol (DVMRP)

The first routing protocol that supports the multicast function is the distance vector multicast routing protocol. It has been widely used in MBONE, a multicast backbone network.
DVMRP constructs a different distribution tree for each sending source and destination host group. Each distribution tree is a minimally expanded distribution tree with the multicast source as the root and the multicast receiving destination host as the leaf. This distribution tree provides a shortest path between the source and each multicast receiver in the group. The shortest path in units of "hop count" is a measure of DVMRP. When a source wants to send a message to the multicast group, an extended distribution tree is established according to this request, and the "broadcast and pruning" technology is used to maintain the extended distribution tree.

The specific operation of selectively sending multicast packets during the construction of the extended distribution tree is: when a router receives a multicast packet, it first checks its unicast routing table to find the shortest path interface to the source of the multicast group If this interface is the interface where the multicast packet arrives, then the router will record the multicast group information in its internal routing table (indicating the interface through which the group of packets should be sent), and send the multicast packet to the To the neighboring routers other than the router of the data packet continue to send. If the arrival interface of the multicast packet is not the interface of the shortest path from the router to the source, then the packet is discarded. This mechanism is called "Reverse-Path Broadcasting" (Reverse-Path Broadcasting) mechanism, which ensures that there will be no loops in the constructed tree, and it is the shortest path from the source to all recipients.

DVMRP works well for the densely distributed multicast groups in the subnet, but for the scatteredly distributed multicast groups in a relatively large area, periodic broadcast behavior can cause serious performance problems. DVMRP cannot support sparsely dispersed multicast groups in large networks.

(2) Multicast open shortest path first (MOSPF)

Open Shortest Path First (OSPF) is a unicast routing protocol that routes data packets on the least cost path, where the cost is a measure of the link state. In addition to the number of hops in the path, other network performance parameters that can affect the path cost include load balancing information and QoS required by applications.

MOSPF is designed for unicast routing and multicast use. MOSPF relies on OSPF as a unicast routing protocol, just as DVMRP also includes its own unicast protocol. In an OSPF/MOSPF network, each router maintains an up-to-date network topology diagram. This "link state" information is used to construct a multicast distribution tree.

Each MOSPF router periodically collects multicast group membership information through the IGMP protocol. This information and these link state information are sent to all other routers in its routing domain. Routers will update their internal connection status information based on the information they receive from neighboring routers. Since each router knows the topology of the entire network, it can independently calculate a minimum overhead expansion tree, and use the multicast source and multicast group members as the root and leaves of the tree, respectively. This tree is the path used to send the multicast stream from the source to the members of the multicast group.

(3) Independent Multicast Dense Mode Protocol (PIM-DM)

The Multicast Protocol Independent (PIM) is a standard multicast routing protocol, and can provide scalable inter-domain multicast routing on the Internet without relying on any unicast protocol. PIM has two operating modes, one is densely distributed multicast group mode, the other is sparsely distributed multicast group mode, the former is called independent multicast dense mode protocol (PIM-DM), the latter is called independent multiple Broadcast Sparse Mode Protocol (PIM-SM).

PIM-DM is somewhat similar to DVMRP. Both protocols use a reverse path multicast mechanism to build a distribution tree. The main difference between them is that PIM does not depend on the unicast routing protocol in the network at all, while DVMRP relies on a related unicast routing protocol mechanism, and PIM-DM is simpler than DVMRP.

The PIM-DM protocol is also data-driven like all dense-mode routing protocols. But since PIM-DM does not rely on any unicast routing protocol, the multicast data packet received by a certain receiving port of the router (that is, the port with the shortest path back to the source) is sent to all downstream interfaces until the unnecessary branch from The tree is pruned. In the tree construction stage, DVMRP can use the topology data provided by the unicast protocol to selectively send data packets downstream, while PIM-DM is more inclined to simplicity and independence, even at the expense of increasing the additional overhead caused by packet replication.

2. Sparse mode multicast routing protocol

 

When the multicast group is distributed in the network or the network provides enough bandwidth, the dense mode multicast routing protocol is an effective method. When the members of the multicast group are sparsely distributed in a wide area, another method is needed That is, the sparse mode multicast routing protocol controls the multicast traffic on the link path connected to the multicast group members, and will not "leak" to the unrelated link path, which not only ensures the safety of data transmission, but also It can effectively control the total traffic in the network and the load of the router.

(1) Multicast protocol based on core tree (CBT)

Unlike DVMRP and MOSPF constructing the shortest path tree for each "sending source and destination group" pair, the CBT protocol only constructs a tree for all members in the group to share, and this tree is also called a shared tree. The multicast traffic of the entire multicast group is sent and received on this shared tree, regardless of the number or location of the source. The use of this shared tree can greatly reduce the multicast status information in the router.

The CBT shared tree has a core router to build this tree. The router to join sends a join request to this core router. After the core router receives the join request, it returns an acknowledgment along the reverse path, which forms a branch of the tree. The join request packet does not need to be transmitted to the core router until it is confirmed. If the join request packet arrives at a certain router on the tree before reaching the core router, the router will receive the request packet instead of sending it forward and confirm the request packet. The router that sent the request is connected to the shared tree. CBT concentrates multicast traffic on a minimum number of links instead of on a shared tree based on the source of transmission. Traffic concentrated on the core router may cause some problems with multicast routing. Some versions of CBT support the use of multiple multicast cores, and multi-core can achieve load balancing better than a single multicast core.

(2) Independent multicast sparse mode protocol (PIM-SM)

Similar to CBT, PIM-SM is designed to restrict multicast to routers that need to be sent and received. PIM-SM builds a multicast distribution tree around a router called Rendezvous Point (RP). This concentration point plays the same role as the CBT core router, and the receiver can find a new source at the concentration point. However, PIM-SM is more flexible than CBT. The tree of CBT is usually a multicast group shared tree. Independent receivers in PIM-SM can choose to build a group shared tree or a shortest path tree.

The PIM-SM protocol first built a group shared tree for multicast groups. This tree is constructed by the sender and receiver connected to the centralized point, just like the shared tree built around the core router in the CBT protocol. After the shared tree is established, a receiver (actually the router closest to the receiver) can choose to change the connection to the sending source through the shortest path tree. The process of this operation is completed by sending a PIM join request to the sending source. Once the shortest path from the sender to the receiver is established, the outer branches through the RP are pruned.

Fourth, the tunnel transmission mechanism in IP multicast routing

The tunnel concept in multicast refers to the re-encapsulation of a multicast packet into an IP data packet for routing transmission in an Internet that does not support multicast. The most famous example of a multicast tunnel is MBONE (using the DVMRP protocol). Encapsulation of data packets is carried out at the entrance of the tunnel, and decapsulation is carried out at the exit of the tunnel. The tunnel mechanism is very useful in achieving the local all-IP multicast configuration transmission mechanism.

5. Application of IP multicast technology

IP multicast applications can be roughly divided into three categories: point-to-multipoint applications, multipoint-to-point applications and multipoint-to-multipoint applications.

1. Point-to-multipoint application

Point-to-multipoint application refers to an application form with one sender and multiple receivers. This is the most common form of multicast application. Typical applications include: media broadcasting, media push, information caching, event notification and status monitoring.

Media broadcasting: events such as lectures, presentations, meetings, etc. according to the schedule. Its traditional media distribution methods usually use television and radio. This type of application usually requires one or more constant rate data streams. When multiple data streams (such as voice and video) are used, they often need to be synchronized with each other and have different priorities. They often require higher bandwidth and smaller delay jitter, but the requirements for absolute delay are not very high.
Media push: such as news headlines, weather changes, sports scores and other non-commercial key dynamic changes. They require lower bandwidth and no requirement for delay.

Information cache: such as website information, execution code and other file-based distributed replication or cache updates. They have general requirements for bandwidth and general requirements for delay.

Event notification: such as network time, multicast session schedule, random numbers, keys, configuration updates, effective range of network alarms or other useful information. They have different requirements for bandwidth, but they are generally relatively low, and the requirements for delay are also average.

Status monitoring: such as stock prices, sensing equipment, security systems, production information or other real-time information. Such bandwidth requirements vary according to the sampling period and accuracy, and there may be constant rate bandwidth or burst bandwidth requirements. Generally, the requirements for bandwidth and delay are general.

2. Multi-point to point application

Multipoint-to-point application refers to the application form of multiple senders and one receiver. Usually a two-way request response application, any end (multipoint or point) may initiate a request. Typical applications include: resource search, data collection, online auction, information inquiry and Juke Box.

Resource search: For example, service location, it requires low bandwidth and average delay.

Data collection: It is the reverse process of status monitoring applications in point-to-multipoint applications. It may send data back to a data collection host by multiple sensing devices. Bandwidth requirements vary according to the sampling period and accuracy. There may be constant rate bandwidth or burst bandwidth requirements. Generally, such applications have general requirements for bandwidth and delay.

Online auction: The auctioneer auctions the product, and multiple bidders send the bid back to the auctioneer.

Information inquiry: The inquirer sends an inquiry, and all the inquired respond to it. Usually this requires low bandwidth and is less sensitive to delay.

Juke Box: For example, it supports near-on-demand (Near-On-Demand) audio and video reverse playback. Generally, the receiver uses an "out-of-band" protocol mechanism (such as HTTP, RTSP, SMTP, or multicast mode) to send the reverse playback request to a dispatch queue. It has higher requirements for bandwidth and general requirements for delay.

3. Multi-point to multi-point application

Multipoint-to-multipoint application refers to an application form with multiple senders and multiple receivers. Generally, each receiver can receive data sent by multiple senders, and at the same time, each sender can send data to multiple receivers. Typical applications include: multipoint conferences, resource synchronization, parallel processing, collaborative processing, distance learning, discussion groups, distributed interactive simulation (DIS), multiplayer games and Jam Session, etc.

Multipoint conference: Usually audio/video and text applications constitute multipoint conference applications. In a multipoint conference, different data streams have different priorities. Traditional multipoint conferences use a special multipoint control unit to coordinate and distribute them. Using multicast, any sender can directly send to all receivers. The multipoint control unit is used to control the current right to speak. Such applications have relatively high requirements for bandwidth and delay.

Resource synchronization: synchronization of distributed databases such as schedules, directories, and information. They have general requirements for bandwidth and delay.
Parallel processing: such as distributed parallel processing. It has relatively high requirements for bandwidth and delay.
Cooperative processing: such as editing of shared documents. It has general requirements for bandwidth and delay.
Distance learning: This is actually a media broadcast application plus support for upstream data streams (allowing students to ask questions of teachers). It has general requirements for bandwidth and delay.
Discussion group: similar to a text-based multipoint conference, it can also provide some simulated expressions.
Distributed Interactive Simulation (DIS): It has higher requirements for bandwidth and delay.
Multiplayer game: Multiplayer game is a simple distributed interactive simulation with discussion group capabilities. It has relatively high requirements for bandwidth and delay.
Jam Session: This is an audio coding sharing application. It has relatively high requirements for bandwidth and delay.

IP multicast brings many new applications and reduces network congestion and server burden. At present, the scope of application of IP multicast is not large enough, but it can reduce the occupied bandwidth, reduce the server load, and improve the quality of transmitted data. It is especially suitable for multimedia applications that require a large amount of bandwidth, such as audio and video. This new technology has become a hot topic in the current network community and will fundamentally change the network architecture.

The copyright of this article belongs to the author. Please indicate the source for reprinting http://www.cnblogs.com/iloverain/. This statement must be retained without the author's consent, otherwise the right to pursue legal responsibility is reserved.

Tags: computer network, multimedia communication

Guess you like

Origin blog.csdn.net/qq_36171263/article/details/100103871