# A Single-Rate Multicast Congestion Control (SRMCC) Mechanism in Information-Centric Networking
## 3 Design Overview
### Overview of SRMCC  
Figure 1 shows an overview of the SRMCC mechanism. SRMCC is mainly applied to the type of ICN that uses the independent name resolution approach. In this type of ICN, the identifier is completely separated from the locator. Each entity (content, equipment, service, etc.) is assigned an Entity-ID (EID) as an identifier (or name) and a Network Address (NA) as a locator. The Name Resolution System (NRS) dynamically binds the two together. The IP address is adopted as the NA to be compatible with existing IP-based networks. By maintaining both name forwarding information and IP routing information, ICN Routers [36] can forward both ICN packets and ordinary IP packets based on EID and IP address separately. Thus, this type of ICN can coexist with existing IP networks to achieve incremental deployment.  
As shown in Figure 1, the multicast system adopted by SRMCC mainly includes NRS, multicast sources, routers, and multicast receivers. The globally unique multicast group identifier (GUMGID) is assigned to every multicast service entity, and NRS maintains the mappings between GUMGIDs and multiple multicast tree node (MTN) NAs, thus enabling the multicast receiver to easily join or leave the multicast service. After the multicast tree is constructed, the multicast data is transmitted along the multicast tree. In the process  
Figure 1: The overview of SRMCC mechanism.  
of multicast transmission, each MTN keeps a multicast name forwarding table (MNFT) composed of some multicast name forwarding entries (MNFEs). According to the incoming interface of the multicast packet and the GUMGID carried in the multicast packet, the MTN can match the corresponding MNFEs. Then, the multicast data packet is cloned and forwarded out according to the corresponding outgoing interface of matched MNFEs. The focus of this paper is the implementation of congestion control during multicast transmission. The detailed construction process of a multicast tree can be found in [10].  
When there are a large number of multicast groups in the network, bottleneck links are inevitable. Since there is no congestion control mechanism, multicast data is still transmitted at a fixed rate. Therefore, congestion and loss may occur, which will affect the performance of multicast transmission.  
Based on the ICN multicast system, we designed the SRMCC mechanism to control congestion and loss. In order to perform SRMCC, we designed the feedback message for multicast congestion control, called the MCC message. As shown in Figure 1, the orange line represents MCC messages and the blue line represents multicast data. MCC messages are generated by multicast receivers and transmitted along the reverse path of the multicast tree. The MTN perceives the network congestion state and transmits it to the multicast source through MCC. Moreover, we designed the aggregation mechanism of MCC messages to avoid feedback explosion. After receiving the MCC messages, the multicast source performs rate calculation and selection based on the perceived congestion state and the estimated minimum fair shared rate. The multicast source then adjusts the sending rate, so that congestion can be avoided and each multicast group shares bandwidth fairly.  
In the next section, we further introduce the design of SRMCC in detail, including the main network elements and their functions designed for multicast congestion control.