Unicast one-to-many communication scenarios
- In unicast communication, each data packet has an exact IP address.
- For the same piece of data, if there are multiple receivers, the Server needs to send and receive the same number of unicast packets.
- When the number of recipients increases to hundreds or thousands, the consumption generated by the server creating the same data and sending multiple copies of the same data will be greatly reduced, and the device performance and link bandwidth in the network will face a certain degree of waste. .
Broadcast one-to-many communication scenarios
- Broadcast packets are restricted to the broadcast domain.
- Once a device sends broadcast data, all devices in the broadcast domain will receive the data packet and have to spend resources to process it. A large number of broadcast data packets will consume network bandwidth and device resources.
- In IPV6, the method of using broadcast for packet transmission is canceled.
Multicast one-to-many communication scenarios
- Multicast is very suitable for one-to-many communication model. Only members who join a specific multicast group will receive multicast data. When there are multiple multicast group members, the source does not need to copy multiple data to send. , you only need to send one copy, and the multicast network device (network device running the multicast routing protocol) will forward or copy the multicast data according to actual needs, so as to realize on-demand copying and on-demand sending.
- The data stream is only sent to the receivers (group members) who join the multicast group, and devices that do not need the data will not receive the multicast traffic.
- For the same multicast packet, there is only one piece of data on a link, which greatly improves the utilization of network resources.
- The advantages of multicast:
- Improve efficiency: reduce network traffic and reduce hardware load.
- Optimize performance: reduce redundant traffic, save network bandwidth, and reduce network load.
- Distributed application: it is possible for multi-point application.
- Multicast applications:
- Multicast is used in scenarios where multiple receivers expect to receive the same traffic.
- Multicast is suitable for scenarios where the recipient address (or location) is located.
- Multimedia live broadcast (such as IPTV).
- Communication of training and joint work scenarios.
- Data warehouse, financial application (stock).
- Other “one-to-many” data publishing applications.
- Disadvantages of multicast:
- Multicast is based on UDP and adopts a best-effort transmission method.
- There is no congestion avoidance mechanism.
- There may be duplication of packets.
- Messages may be out of sequence.
Multicast service model
- The multicast source sends multicast data to a specific multicast group, it does not care where the group members are located.
- The multicast router copies and forwards the data to the network branch that needs the data or that has multicast receivers.
- The host joins interested multicast groups in order to receive packets destined for these multicast groups.
Multicast source (Source): The sender of multicast traffic, such as a multimedia player, the multicast source does not need to run any multicast protocol, but simply sends the multicast data.
Multicast receiver (Receiver): Also known as a multicast group member, it is a device that expects to receive traffic from a specific multicast group, such as a PC running multimedia live broadcast client software.
Multicast Group: A group identified by a multicast IP address. For example, 22.214.171.124 is an IPv4 multicast address. This address identifies a group of receivers. The multicast source can send multicast to this address. data, and the device group that needs the data needs to join the multicast group 126.96.36.199 in order to obtain the data sent by the source to the multicast group from the multicast network.
Multicast Router: A network device that supports multicast and runs multicast protocols. In fact, not only routers can support multicast, but switches, firewalls and other devices can also support multicast (depending on the device model), and routers are just a representative.
First-Hop Router: The multicast router directly connected to the Source. The router is responsible for sending the multicast packets sent by the Source to the multicast network.
Last-Hop Router: The multicast router that directly connects the members of the group. The router is responsible for forwarding multicast traffic to the directly connected network (to the receiver), and is also responsible for managing and maintaining the membership of the multicast group in the directly connected network segment.
Multicast distribution tree
Multicast distribution tree, constructed by multicast routing protocol, is the forwarding path of multicast traffic.
Multicast IP address
- In the IPv4 address space, class D addresses (188.8.131.52/4) are used for multicast. A multicast IP address represents a set of receivers.
- IANA further defines Class D addresses.
Multicast IP address and MAC address mapping
- Multicast MAC, the last bit of the first octet is always 1.
- For unicast MAC, the last bit of the first octet is always 0.
- 5 bits of the multicast IP address are discarded, so the correspondence between multicast IP and MAC is 32:1.
Overview of Multicast Routing Protocols
- The forwarding of unicast packets is a one-to-one model. The router sends the IP packet to its destination, and the unicast router does not care about the source address of the packet.
- When the multicast data is generated by the multicast source and sent to a group of receivers, the multicast router distributes the data packets from the source to the multicast receivers, all the way to the multicast receivers.
–How does the multicast router know where to distribute the multicast data?
–Where is multicast traffic required?
— specific distribution path?
At this time, it is necessary to run the multicast routing protocol on the multicast router.
- Multicast traffic is different from unicast traffic. Multicast traffic is sent to a group of receivers. If there is a loop in the network, the situation is more serious than a unicast loop. Therefore, all multicast routers need to realize the group knowledge Depending on the location of the broadcast source, the multicast data packets must also be forwarded from the source (the direction from which the multicast data comes) to the destination (the multicast receiver).
- To ensure that multicast data is sent from upstream to downstream, each multicast router needs to maintain a multicast routing forwarding entry.
- The unicast routing protocol determines the optimal (shortest) path to a destination, and it does not care about the source of the data; while the multicast routing protocol must determine the upstream interface (the interface closest to the multicast source).
Main functions of multicast routing protocols
- When receiving a multicast packet, determine whether the packet arrives on the correct interface, so as to ensure that the multicast data is forwarded without loops.
- Establish a multicast distribution tree (path of multicast traffic forwarding) in multicast.
- The multicast distribution tree is reflected in each multicast router as (S, G) or (*, G) multicast forwarding entries.
Multicast routing entries
PIM routing entries are multicast routing entries established through the PIM protocol. There are two types of routing entries in PIM: (S, G) or (*, G) routing entries, S represents the multicast source, and G represents the group broadcast group, * means any.
- The (S, G) routing table entry knows the location of the multicast source S, which is mainly used to establish SPT on the PIM router, and is suitable for PIM-DM and PIM-SM networks.
- Since the (*, G) routing table entry only knows the existence of the multicast group G, it is mainly used to establish RPT on the PIM router, and is suitable for the PIM-SM network and the bidirectional PIM network.
There may be two types of routing table entries on the PIM router. When a multicast packet with the source address of S and the group address of G is received and passes the RPF check, the packet is forwarded according to the following rules:
- If there is a (S, G) routing table entry, the (S, G) routing table entry guides packet forwarding.
- If the (S, G) routing table entry does not exist, but only the (*, G) routing table entry exists, first create the (S, G) routing table entry according to the (*, G) routing table entry, and then use the (S, G) routing table entry. ,G) The routing table entry guides packet forwarding.
Classification of multicast distribution trees
SPT (Shortest-Path Or Source Distribution Trees, shortest path tree or source tree) .
- The source tree is a multicast distribution tree rooted at the multicast source.
- The branches of the source tree form a distribution tree that passes through the network to the router where the receiver is located. Because the source tree uses the shortest path from the source to the multicast receiver through the network, it is also called the shortest path tree.
- SPT is applicable to both PIM-DM network and PIM-SM network.
Unlike the source tree which uses the multicast source as the root, the shared tree uses the RP (Rendezous Point) as the rendezvous point.
Multiple multicast groups can share one RP. The router expecting to receive multicast traffic establishes an RPT branch between itself and the RP through the multicast protocol. The multicast traffic needs to be sent from the source to the RP first, and then the RP follows the RPT. Send multicast traffic to individual multicast receivers.
RPT applies to PIM-SM networks and bidirectional PIM networks.
In a multicast network, if a forwarding loop occurs in multicast traffic, it is much more harmful than a forwarding loop for unicast packets. When forwarding a multicast packet, the router will pay attention to the destination address of the packet, and also pay special attention to the source address of the packet. The multicast router realizes the acyclicity of multicast data forwarding through a mechanism called RPF (Reverse Path Forwarding, reverse path forwarding).
The RPF mechanism ensures that multicast data is received from the correct interface. Only multicast packets that pass the RPF check can be forwarded by the router along the multicast tree. If the packets are received from the wrong interface, the router will discard these packets. . The so-called correct interface is the RPF interface (the interface that passes the RPF check), which is the upstream interface we often say. For example, the unicast routing table is commonly used to implement the RPF check.
Classification of Multicast Routing Protocols
- Dense Mode: PIM-DM
PIM-DM uses “push mode” to forward multicast packets, and is generally applied to a network with relatively small and dense multicast group members. The Push method assumes that each subnet in the network has at least one receiver of the (S, G) multicast group, so the multicast data is pushed to all corners of the network, and then the pruning operation is performed. Routers that do not require multicast traffic will pruned from the multicast distribution tree by itself.
- Sparse Mode: PIM-SM
The sparse mode protocol uses a “pull” approach, rather than a push. This method assumes that there is no receiver in the network, unless a device applies for it using the join mechanism. Why does multicast use UDP for encapsulation?
- There is no need to establish the TCP three-way handshake.
- If TCP is used, when returning packets, which address is used as the source address of the message becomes a problem:
–If the unicast address of the host is used as the source address of the packet, it is logically impossible, because a multicast packet is sent, but a unicast packet is received.
–If the multicast address is used as the source address of the packet, it is also illogical, because the multicast address represents a group, not a single device, that is, the multicast address cannot be used as the source address of the packet. .
In summary, UDP is used to encapsulate multicast packets, because UDP does not require three-way handshakes.
Note: The problem brought by UDP is that there is no flow control mechanism, and there is no retransmission and congestion avoidance. However, this defect is not a problem of multicast itself, but a problem caused by the encapsulation method of UDP.
Multicast service model (interview topic): ASM model: Arbitrary source multicast, when group members cannot choose a multicast source, deploy and use the ASM model.
SSM model: Specify the source multicast, when group members can choose the multicast source, deploy the SSM service model.
How to distinguish whether SSM or ASM is used?
— The receiver is used as a reference to distinguish, and the source is differentiated according to whether the receiver receives multicast traffic.
Advantages and disadvantages
- ASM model:
Waste of multicast addresses. Only the multicast address is used to uniquely distinguish different multicast services. Because the multicast source is not known, the multicast source cannot be selected. In this case, if you want to distinguish different services, you need to use different groups. Different multicast services are differentiated by using multicast addresses, which will result in a waste of multicast addresses.
The ability of group members is not high, and it is easy to deploy and maintain. The receiver only needs to realize the multicast group address that it wants to join.
- SSM model:
The multicast receiver needs to know the correspondence between source and group addresses. Advantages: Different multicast services can be uniquely distinguished by multicast source and multicast group address, which can realize the reuse of multicast addresses, that is, the same multicast address can provide different groups for different multicast sources. broadcast business.
ThinkMo CCNA Dump exam information exchange group：
CCNA/CCNP/CCIE telegram study group：https://t.me/ccie_ei_lab
ThinkMo CCNA 200-301 Tutorial VIP Exclusive：
The complete EVE_NG file, free learning PDF and PPT that can be used directly, as well as video explaining the technical points are all here!