## 4 Network Node Bandwidth Allocation Method
### Method Description
The bottleneck node determines the transmission rate. Therefore, we adopt the principle of a cautious rate increase and active rate decrease for adjustments, which means that all network nodes can force transmissions to slow down. In contrast, only the bottleneck node can recommend transmissions to increase their rate. When the average bandwidth minus the newly allocated bandwidth exceeds the tolerance coefficient (line 13), the average bandwidth is taken as the result (line 14), and all existing transmissions that exceed the average bandwidth are added to the adjustment list \(L_{r}\) (lines 15-19). Among them, \(T_{Ti}\) is the ith transmission of all transmissions that pass through the node. When the newly allocated bandwidth minus the average bandwidth exceeds the tolerance coefficient (line 20), it is necessary to calculate the average bandwidth allocation result (line 21) that includes the number of transmissions in the future \(T\) time and all transmissions with this node as the bottleneck and add all existing transmissions below this result to the adjustment list \(L_{i}\) (lines 22-26). It is worth noting that if this node is not a bottleneck node for any transmission, as both \(Q_{ctl}\) and \(B_{ctl}\) are zero, and the average value degrades to \(B_{s}\), meaning no adjustment is needed. It is impossible to initiate an adjustment to increase the transmission rate when this node is not a bottleneck node. Multipath transmission involves multiple flows which should be considered as a whole. Using the transmission ID, we determine the transmission to which the subflow belongs and can also distinguish different subflows of the same transmission. Flows with the same transmission content ID and transmission destination ID are different subflows in the same transmission. To maintain fairness in bandwidth allocation and avoid multiple subflows from preempting bandwidth, we propose a bandwidth allocation algorithm for subflows based on the bandwidth allocation algorithm of the network nodes mentioned above. The specific steps are shown in Algorithm 2. The inputs are the transmission rate negotiation values \(Max_{i}\) and \(ID\) of the subflow taken from the corresponding fields of the transmission negotiation message, which will be detailed in the next section. The outputs are the bandwidth allocation result \(B_{ci}\) and adjustment list \(L_{sub}\) for the subflow. Firstly, we determine whether there are already allocated subflows of the same transmission (line 3) on this port, where multiple subflows are transferred from the same port. If it exists, then this indicates that the bandwidth has already been allocated for the transmission. Based on the transmission rate of each subflow, the total bandwidth \(B_{subs}\) and total weight \(W_{2}\) for all subflows are calculated (lines 4-8). Then, the bandwidth is allocated according to the weight, and adjustments are made to other subflows (lines 9-13). Among them, \(STr_{i}\) is the ith subflow of all subflows belonging to the same transmission that passes through the node. If it does not exist, then the subflow can obtain all the newly allocated bandwidth (line 15).