In IPv4, it is historically called a Class D address, a type of IP address, which ranges from 18.104.22.168 to 22.214.171.124, or, equivalently, at 126.96.36.199/4. In IPv6, multicast addresses have the prefix ff00::/8. But note that 188.8.131.52 is reserved and cannot be assigned to any multicast group.
Multicast refers to all addresses where the lowest bit of the first byte is 1, for example, 01-12-0f-00-00-02. The broadcast address is a 32-bit address with all ones, which is also a multicast address. But broadcast is a special case of multicast, like a square belongs to a rectangle, but a square has characteristics that a rectangle does not.
. The Internet management agency allocates the old + address space as, (multicast address-) This address space is represented by four groups of eight-bit binary numbers, and the address format is as follows: 1110××××.×××××× ××.××××××××.××××××××. The first four bits of the first group of eight-digit numbers are represented by 1110, which means that the address is a multicast address, and the remaining 28 bits identify the specific multicast address. Therefore, the range of multicast addresses is from 184.108.40.206 to 220.127.116.11. Among them, the last 28-bit address field no longer has a structure level, nor does it indicate the source of the group, and does not contain a network address like the A, B, and C types of addresses. The use and allocation of multicast addresses is now controlled by the Internet Address Assignment Authority (IANA).
Among them, 18.104.22.168~22.214.171.124 addresses are restricted to specific multicast domains, and should not conflict with multicast addresses in other places, so this multicast address is in,# $%%$ can be reused in different places.
Multicast is a network technology that allows one or more senders to send a single data packet to multiple receivers. Regardless of the number of group members, the data source only sends data packets once, and multicast only sends packets (addressed by multicast addresses) to those hosts and networks that need the data packets. In IP multicast, the relationship between group members is dynamic, and the multicast receiving host can join or leave the multicast group at any time. In addition, the multicast receiving host can be a member of any number of multicast groups. On the shared link, only one multicast stream is required for the same information, so that the flow can be well controlled, the burden on the host and the network is reduced, and the efficiency and capability of network application services are improved.
Multicast technology is a kind of TCP/IP transmission method. TCP/IP has three transmission methods: unicast, multicast, and broadcast. Traditional IP communication is carried out between a source IP host and a target IP host (unicast) or between a source IP host and all IP hosts in the network (broadcast). To send information to multiple but not all IP hosts in the network, there are only two methods to choose from using traditional IP communication technology: using broadcast or unicast sending from the source IP host to multiple target IP hosts in the network. IP packet.
The broadcast method will send information to unwanted IP hosts and waste bandwidth, and possible routing loops will cause broadcast storms. The unicast method wastes a lot of bandwidth due to repeated transmission of IP packets, and also increases the load of the server. It can be seen that the traditional IP communication technology can not effectively solve the problem of single-point sending and multi-point receiving. However, IP multicast solves this problem well. IP multicast means that data packets are sent to a certain subset of all network nodes in the form of best-effort transmission in the IP network. This subset is called a multicast group. The basic idea of IP multicast is that the source protection host sends only one copy of data, and then copies the data to one or more receivers through the router or switch. That is, the source IP host is allowed to send IP packets to a part (subset) of all IP hosts on the network. Only the hosts in the subset (target hosts) can receive the packet, and other IP hosts in the network cannot receive the packet. This logical subset is the multicast group, which is identified by a class D IP address (126.96.36.199~188.8.131.52. IP multicast technology effectively solves the single-point sending, multi-point receiving, and multi-point sending in wide services. The problem of multipoint reception enables efficient point-to-multipoint data transmission in the IP network, effectively saving network bandwidth and reducing network load.
Related multicast protocols
The multicast protocol standard organization is the Internet Engineering Task Force (IETF). The structure of the multicast protocol is mainly divided into three parts: the agreement between the host and the router to establish and maintain the multicast membership-(789:798 Group Management Protocol ( IGMP); the protocol for controlling multicast diffusion between routers and switches—CISCO Group Management Protocol (CGMP), IGMP=snoopping; the protocol for constructing a multicast distribution tree between multicast routers—multicast routing protocol.
IGMP is the most basic host membership protocol, generally used for routers directly connected to it The communication between hosts about the status of multicast group members is as follows:
1) When the first process joins a group, the host sends an IGMP report. If there are multiple processes of a host Join the same group and only send one IGMP report. This report is sent to the same interface where the process joins the group.
2) When the process leaves a group, the host does not send an IGMP report, even if it is in the group The last process leaves. After the host knows that there are no more group members in the determined group, it will no longer send report messages in subsequent IGMP queries received.
3) The multicast router regularly sends IGMP queries to find out if there are any hosts that contain processes belonging to the multicast group. The multicast router must send an IGMP query to each interface. Because the router expects the host to send back a report for each multicast group it joins, the group address in the IGMP query message is set to 0.
4) The host responds to an IGMP query by sending an IGMP report, and sends back an IGMP report for every group that contains at least one process.
In a local network with a multi-layer structure, the third-layer IP multicast data packet is converted into the MAC multicast address of the second-layer switching layer by address mapping, and then forwarded to the second-layer switch All ports) that is, multicast is treated as broadcast in a traditional switching or bridging environment, so as long as it is a client connected to the same layer 2 switch, regardless of whether the client requests to receive multicast data, it will receive the multicast data. This phenomenon is called multicast "flooding" or multicast diffusion, which will seriously affect the performance of the local network.
One way to deal with multicast proliferation is IGMPsnoopping, that is, the local network switch eavesdrops on the IGMP conversation between the host and the router, and adds and modifies the multicast content of the switch according to whether the connected host has joined the multicast group. Address the memory CAM table to control the multicast spread.
Another way is CGMP. CGMP. is a protocol developed by CISCO. to solve the problem of multicast proliferation and to handle multicast communication between switches and routers. It is a protocol dedicated to CISCO switches and routers. CGMP. The work is based on the client 6 server model, in which the router is regarded as a CGMP7 server, and the switch plays the role of the client. When a specific host joins or leaves the multicast group, the IP multicast router checks all "#$%." information packets and advertises the switch; the switch uses this advertisement information to construct the switch's forwarding CAM table, thereby removing unnecessary The multicast stream is forwarded from the port of the switch.
3. Multicast routing protocol
The general way to implement IP multicast routing is in the multicast group members A multicast tree is constructed between them. The multicast tree is a spanning tree whose root is the source node and covers all multicast members. Different IP multicast routing protocols use different technologies to construct these multicast spanning trees. Once this Tree construction is completed) All multicast traffic will be propagated through it.
Multicast routing protocols can be divided into two categories: dense mode protocols (such as distance vector multicast routing protocol (DVMRP), multicast Open Shortest Path First (MOSPF), Protocol Independent Multicast (PIM)-DM, and sparse mode protocols (such as PIM-SM, Kernel Tree Multicast Routing Protocol (CBT).
DVMRP is based on RPF and uses distance vector algorithm to get the topology information of the network. In order to enable newly joined multicast members to receive multicast data in time, DVMRP uses timing to send data packets to all LANs, but this method Leading to the proliferation of a large number of routing control packets, this part of the cost limits the expansion of the network scale. On the other hand, DVMRP uses the number of hops as the measurement scale, and its upper limit is 32 hops, which is also a limitation on the network scale. At present, layering is proposed. DVMRP, that is, the division of the multicast network into areas, the multicast within the area can be carried out according to any protocol, and for cross-area multicast, the border router is carried out under the DVMRP protocol, which can greatly reduce the routing overhead.
MOSPF is a link state-based routing protocol that defines three levels of routing MOSPF intra-area multicast routing: used to understand the multicast members in each network segment , Constructing the SPT of (source network (S), group (G)) pairs; MOSPF inter-area multicast routing: used to summarize the membership in the area and publish group members on the autonomous system (AS) backbone network (area 0) Announcement of relationship records, realizing inter-area multicast packet forwarding. MOSPFAS inter-AS multicast routing: used for cross-AS multicast packet forwarding.
Compared with DVMRP, MOSPF has lower routing overhead and link utilization However, the 92DE/FGH algorithm has a large amount of calculation. In order to reduce the calculation amount of the router, MOSPF implements an on-demand calculation scheme, that is, only when the router receives the first multicast data packet from the multicast source, ((S,G)SPT calculation, otherwise use the ((S,G)SPT) in the forwarding cache (cache). MOSPF responds quickly to changes in the network topology, but the topology changes make the cache invalidation of all routers recalculate 4%! , Which consumes a lot of router (%L resources. This determines the MOS PF is not suitable for highly dynamic networks (large changes in group membership and unstable links), but is suitable for environments where the network connection status is relatively stable.
PIM is designed by the Inter-Domain Multicast Routing (IDMR) working group. As the name implies, PIM does not depend on a specific unicast routing protocol. It can use the unicast routing table established by various unicast routing protocols to complete the RPF check function, instead of maintaining a separate multicast routing table to implement multicast forwarding. Since PIM does not need to send and receive multicast routing updates, compared with other multicast protocols, PIM overhead is much reduced. The starting point for the design of PIM is to support both SPT and shared tree within the range of "0FKG0KF, and to enable flexible conversion between the two, thus concentrating their advantages to improve multicast efficiency. 4) CBT
The basic goal of CBT is to reduce the multicast state of routers in the network to provide scalability of multicast. For this reason, CBT is designed as a sparse mode (similar to PIM-SM). CBT uses a two-way shared tree, The bidirectional shared tree takes a core router as the root and allows multicast information to flow in both directions. This is different from PIM-SM (the shared tree in PIM-SM is unidirectional, and SPT is used between the RP and the multicast source. The multicast data is forwarded to the RP, so CBT cannot use the RP check, but uses the target group address of the IP header as the check forwarding cache. This requires the maintenance of the CBT shared tree to ensure that no multicast routing loop occurs. From the perspective of the number of multicast states created by routers, CBT is more efficient than protocols that support SPT. In a network with a large number of multicast sources and groups, CBT can optimize the multicast state to the order of the group.
CBT builds a spanning tree for each multicast group, and all multicast sources use the same multicast tree. The working process of CBT is roughly as follows: first select a core, the fixed center of the multicast group in the network, to construct a tree CBT; the host sends the 1234 command to the core; all intermediate routers receive the command and mark the interface receiving the command as a tree belonging to this group; if the router receiving the command is already a member of the tree, then just Mark once that the interface belongs to the group; if the router receives the 1234 command for the first time, then it forwards the command to the core, and the router needs to keep a copy of the state information for each group; when the multicast data arrives at an When the multicast router on the CBT tree, the router multicasts data to the core of the tree to ensure that the data can be sent to all members of the group.
CBT limits the multicast expansion to the receiver range, even if the first A data packet does not need to spread across the entire network, but CBT leads to the concentration of traffic around the cores, and network performance decreases. Therefore, some versions of CBT support multiple cores to balance the load. Although CBT is very representative, it has almost never Realized CBT network.
Status of multicast technology
There is no effective user management, which is reflected in the following aspects:
·Difficulty in authentication: more The broadcast protocol does not provide the user authentication function, and the user can add or leave at will.
·Billing is difficult: the multicast protocol does not involve charging, and the multicast source cannot know when the user added Or leave, it is impossible to count how many users are watching the multicast program in a certain period of time, so accurate billing cannot be performed.
·Difficult management: the multicast source lacks effective management methods to control the multicast The scope and direction of information transmission on the Internet.
In order to solve these difficulties, it is urgent to optimize and improve the multicast function. To adapt to the current operating conditions of the network, the technology of multicast service management (controllable multicast) came into being. Controllable multicast technology mainly includes three aspects: source control, user control, and security control.
1. Source control
Before the multicast stream enters the backbone network, the multicast service control equipment distinguishes between legal and illegal media servers and forwards legal multicast information Stream, block illegal multicast information flow. At the same time, it controls the speed (cAR) and priority (MARK) of the multicast traffic from the source into the network, so as to control the opening, type, bandwidth and filtering of illegal sources.
2. User control
User control is that the second layer device first verifies the user's multicast authority according to authentication methods such as web, 802.1x and PPPOE. If the verification is passed, the second layer device receives the user's GIMP adding/leaving information, and establishes a corresponding forwarding entry to allow the user to receive multicast traffic. Otherwise, discard the user's IGMP message and prohibit the user from receiving multicast traffic.
3. Security management
In standard multicast, the receiver can add any multicast group, that is, the branch of the multicast tree is uncontrollable, and the source is not Knowing the scope and direction of the multicast tree is less secure. In order to realize the protection of some more important information, which needs to control its spread, Huawei's static multicast tree meets this demand. Realize the configuration of static multicast tree to meet the security needs of high-value users. The static multicast tree is the multicast tree is configured in advance to control the scope and direction of the multicast tree, and does not accept the addition of other dynamic multicast members, so that the messages of the multicast source can be diffused within the specified range.
The prospect of IP multicast
The broadbandization of the network has not only enabled people to communicate smoothly on the wide information highway, but also increasingly hoped Broadband networks can bring more intuitive and richer multimedia information. Multicast technology provides basic transmission technology for the development of multimedia services, and effectively supports multipoint communication services, covering all levels from address schemes, member management to routing and security. Broadcast routing and multicast security are still research hotspots. Judging from the current situation, group member management generally adopts GIMP and PIM-sM protocols because of its good scalability and the ability to convert from a shared tree to a source tree, making it the preferred protocol for intra-domain multicast routing. Inter-domain routing technology is now available. The IPM-SMM/BGp knife class SDP protocol combination scheme is generally adopted in the stage. At present, the intra-domain technology of multicast has basically matured, and the inter-domain technology is constantly improving. We can foresee that multicast technology will shine in the next generation of Internet technology.