[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112737964B - Transmission control method and system integrating push-pull semantics - Google Patents

Transmission control method and system integrating push-pull semantics Download PDF

Info

Publication number
CN112737964B
CN112737964B CN202011564773.4A CN202011564773A CN112737964B CN 112737964 B CN112737964 B CN 112737964B CN 202011564773 A CN202011564773 A CN 202011564773A CN 112737964 B CN112737964 B CN 112737964B
Authority
CN
China
Prior art keywords
packet
congestion
flow
pull
router
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011564773.4A
Other languages
Chinese (zh)
Other versions
CN112737964A (en
Inventor
李挥
白鹤
韦国华
阙建明
国宏宇
张华宇
李文军
谢鑫
杨昕
王菡
马化军
汪子煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN202011564773.4A priority Critical patent/CN112737964B/en
Publication of CN112737964A publication Critical patent/CN112737964A/en
Application granted granted Critical
Publication of CN112737964B publication Critical patent/CN112737964B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a transmission control method and a system fusing push-pull semantics, wherein the transmission control method comprises the following steps: step S1, maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow; s2, detecting congestion, marking a forwarding packet according to the congestion state of the node, and explicitly feeding back current network state information to a client; s3, the router node shapes the rate of each flow through a virtual queue according to the difference of the data transmission capacity of the current uplink and downlink, and dynamically adjusts the forwarding rate; and S4, the client adjusts the size of the sending window in real time by adopting a CUBIC algorithm, and reduces the sending rate to adapt to the current network condition when receiving the network packet carrying the congestion mark. The invention can ensure the high-efficiency and reliable performance of data transmission in different communication scenes and realize the effective utilization of network resources.

Description

Transmission control method and system fusing push-pull semantics
Technical Field
The present invention relates to a network transmission control method, and in particular, to a transmission control method incorporating push-pull semantics, and a transmission control system using the transmission control method incorporating push-pull semantics.
Background
The traditional TCP/IP network is designed primarily to implement communication between two hosts, and an end-to-end communication mode based on push semantics (push semantics) is used, where a sender of data actively pushes data to a receiver, and the receiver of data only needs to receive the data and reply corresponding data acknowledgement information. However, through the rapid development of more than half a century, the internet has undergone tremendous changes in scale and application, the amount of users and data in the network has grown exponentially, and the main application scenario of the network has also shifted from text communication to information access and distribution. Users are more concerned about how to obtain content rather than about the specific location of the content producer, and therefore a content-centric pull semantic (pull semantic) communication mode is created to solve the problem of incompatibility between network communication modes and user communication requirements. Under the pull-type semantic condition, a data receiver obtains different data blocks by continuously sending requests until the data transmission is completed, and a content source hit by the request can reply the data block corresponding to the request to the receiver. Considering the design requirements of the next generation internet and the application under different communication scenes, a transmission control method compatible with two communication modes needs to be designed.
In a TCP/IP network, a Transmission Control method based on push semantics is mainly designed by a Transmission Control Protocol (TCP) focused on a transport layer. Because the IP network is connected end to end, most algorithms estimate RTO (Retransmission Time-Out) according to RTT (Round-Trip Time) measurement value, and then judge whether the packet is overtime or not through RTO for control; the server side judges the real-time network condition through RTO, and adjusts the size of a sending window so as to control the number of data packets sent in the network, and typical algorithms include TCP Tahoe, TCP Reno, TCP NewReno, TCP Vegas, CUBIC and the like. Most of these algorithms adjust the transmission window at the transmitting end by means of an AIMD (Additive involved multi-functional discovery). Meanwhile, there is an algorithm for performing congestion control by using queue management of a router node in a network layer, and rapid Detection and congestion state feedback at an intermediate node, such as Detection algorithms such as RED (Random Early Detection), coDel (Controlled Delay) and the like, are realized by actively or passively managing a transmission queue. However, RCP (Rate Control Protocol) and XCP (eXplicit Control Protocol) employ Rate-based Control mechanisms. Under the mechanism, the router calculates the sending rate of the data packet according to the current network state and feeds the sending rate back to the sending end, so that the functions of the router nodes are better utilized, and the sending end can quickly and accurately find the sending rate suitable for a transmission path through distributed feedback.
A next-generation network architecture represented by an Information-Centric Networking (ICN) adopts a communication mode based on pull semantics, and introduces characteristics such as in-network cache, multipath forwarding and the like. Transmission control research work based on pull-type semantics can be classified into the following three categories according to the location where the transmission control method is performed:
(1) And the client-side transmission control is mainly used for controlling the sending rate of the client side by adjusting the size of the sending window of the interest packet. An ICP (Interest Control Protocol) Protocol uses an AIMD algorithm similar to a TCP to adjust the size of a congestion Control window of an Interest packet, adopts an RTO (remote terminal equipment) as a congestion occurrence signal, and when a normally returned data packet without timeout is received, the size of a sending window is increased additively; the size of the send window is multiplicatively reduced when the RTO timer indicates a time-out of the packet of interest. However, the algorithm does not discuss the accuracy of the RTO calculated values. The CCTCP (Content centralized TCP) protocol employs a block location prediction mechanism that predicts the location of a block before it actually makes a request and maintains a separate timeout timer for each predicted source. However, this algorithm has scalability problems. The CCS (connectivity Control Scheme) protocol detects the Congestion level using RED (Random Early Detection) algorithm and marks Congestion information in the returned data packet, and the client adjusts the sending rate of the interest packet using AIAD (Additive involved Additive Decrease) algorithm according to the fed back Congestion information, that is, the algorithm increases the sending window each time data is successfully received, and decreases the sending window when no data packet is received. The ECP (Explicit Control Protocol) Protocol divides the congestion degree into three levels, explicitly feeds back specific congestion level information to the receiving end, and then adjusts the sending rate of the interest packet by using MIAIMD (multi Additive involved reactive multicast breakdown) algorithm.
(2) The router transmits control hop by hop, and the intermediate router can process the received packet because the packet is forwarded hop by hop in the network, which brings convenience for the router to directly participate in transmission control. Different from the client transmission control method, the router judges the congestion state of the network by monitoring and analyzing the length of the cache queue of the router according to the hop-by-hop forwarding characteristics of the packet, and then adjusts the forwarding rate of the packet, thereby achieving the purpose of rate control. A typical algorithm HoBHIS (Hop-by-Hop Interest Shaping) detects congestion by monitoring the length of a data packet queue, and once receiving a data packet, a router calculates the forwarding rate of an Interest packet according to indexes such as the occupation condition of a transmission queue, link bandwidth and time delay; when there are multiple flows passing through the same router node, the buffer capacity is fairly allocated to each flow. The CMTB (Cooperative and Memory-effective Token Bucket) algorithm prevents congestion by detecting the size of a buffer area, and when the buffer area reaches a certain preset threshold value, a downstream node is informed to forward an interest packet to other available ports, so that the sending rate of a congested port is adjusted. An IRNA (Hop-By-Hop Interest Rate and Adjustment) algorithm assists Hop-By-Hop control By using the previous Hop, judges congestion By detecting the length of a sending queue of a router, feeds back the adjusted Rate to the downstream through a prompt packet, and controls the sending Rate of the packet through the downstream to relieve the congestion.
(3) In the hybrid transmission control, considering respective advantages of the client transmission control mechanism and the router hop-by-hop transmission control mechanism, researchers consider combining characteristics of the client transmission control mechanism and the router hop-by-hop transmission control mechanism to design a hybrid transmission control mechanism. HR-ICP (Hop-by-Hop and Receiver-driver Interest Control Protocol) is a simpler hybrid transmission Control algorithm, a window Control strategy in ICP is adopted at a client, a counter is introduced for each flow in an intermediate router node, the value of the counter is reduced along with the sending of an Interest packet and is increased along with the returning of a data packet, when the counter is reduced to 0, congestion is judged to occur, and then the sending rate of the Interest packet is shaped. The CHoPCoP (Chunk-switched Hop Pull Control Protocol) algorithm fuses two transmission Control mechanisms more naturally, an AIMD algorithm is adopted at a receiving end to adjust a congestion Control window of an interest packet, an active queue management algorithm RED (Random Early Detection) is adopted at an intermediate router node to manage a data packet queue, and the router node selectively forwards or selectively delays to forward the interest packet to perform congestion Control, so that the burden of a router is reduced.
Although current research efforts have been directed to transmission control protocols, a number of problems still exist. The main problems are the following: how to improve the accuracy of the network congestion detection algorithm; how to improve the expandability of the transmission control protocol to adapt to different application scenes; how to design a more reasonable transmission control mechanism by fully utilizing the characteristics of different communication modes, how to effectively relieve network congestion and improve the utilization rate of network resources; how to guarantee the fair occupation of network resources among different flows. If any one or more of these problems can be solved, efficient and reliable data transmission in different communication scenarios is facilitated.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a transmission control method fusing push-pull semantics, which can ensure the efficient and reliable performance of data transmission in different communication scenarios, and realize the effective utilization of network resources, and further provide a transmission control system using the transmission control method fusing push-pull semantics.
In contrast, the invention provides a transmission control method fusing push-pull semantics, which comprises the following steps:
step S1, maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow;
s2, detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
s3, the router node shapes the rate of each flow through a virtual queue according to the difference of the data transmission capacity of the current uplink and downlink, and dynamically adjusts the forwarding rate;
and S4, the client adjusts the size of the sending window in real time by adopting a CUBIC algorithm, and reduces the sending rate to adapt to the current network condition when receiving the network packet carrying the congestion mark.
The invention is further improved in that, in the step S1, the push flow is composed of a network packet transmitted unidirectionally from the sender to the receiver, and the service identification name is used as a unique attribute for identifying the flow; the pull stream is composed of all request packets and corresponding reply packets of a certain content by a receiver, and the identification name of the requested content is taken as the unique attribute for identifying the stream; the push flow and the pull flow are associated to the corresponding virtual queue according to the identification names of the push flow and the pull flow.
A further development of the invention is that said step S2 comprises the following sub-steps:
step S201, each router node detects congestion by using a CoDel algorithm, which comprises the following steps: the push flow judges the congestion state of the current router node by detecting the congestion of a virtual queue maintained by each flow; the pull flow judges the congestion state of the current router node by detecting the congestion of a reply packet output queue at an output buffer area;
step S202, after detecting the congestion, the router node marks the forwarded packet, and the process is as follows: the push flow marks the network packet forwarded from the virtual queue to the actual sending queue; the pull flow marks a reply packet forwarded from the output queue to the link; and after the marking is finished, explicitly informing the client of the current network congestion state.
A further improvement of the present invention is that, in the step S201, the process of detecting congestion by using the CoDel algorithm is to determine whether the detected minimum lingering time exceeds a preset threshold in a detection period, and if so, it is determined that a link corresponding to the output queue is congested.
A further improvement of the present invention is that, in step S202, for a push flow, when the router detects that a virtual queue maintained by a certain flow is congested, a congestion flag is set for a packet forwarded by a first virtual queue, and then a congestion flag is set for a network packet forwarded by the virtual queue every other preset flag interval period, until it is detected that the virtual queue is no longer congested within a detection period, the router stops marking the network packet forwarded by the virtual queue; for pull-type flow, when the router detects that the reply packet output queue at the output buffer area is congested, a congestion mark is set on a packet forwarded by the first reply packet output queue, and then a congestion mark is set on a packet forwarded by the reply packet output queue at intervals of a preset mark interval, until the router detects that the reply packet output queue is no longer congested in a detection period, the router stops marking network packets forwarded by the queue.
The further improvement of the present invention is that, in the step S3, in the t statistical period for monitoring the difference of the uplink and downlink data transmission capacities, the formula is used
Figure BDA0002860286860000051
Calculating the ratio of the total number of bytes of packets belonging to flow j actually forwarded from port i to the total number of bytes of packets belonging to flow j received to be forwarded from port i
Figure BDA0002860286860000052
When in use
Figure BDA0002860286860000053
Judging that the current network condition is good; when in use
Figure BDA0002860286860000054
When the congestion is determined to be about to occur or to have occurred in the current network, the congestion is determined according to the ratio
Figure BDA0002860286860000055
Shaping the packet forwarding rate of the router; alpha is a preset congestion threshold value, and alpha belongs to (0, 1)](ii) a j represents a stream, including a push stream and a pull stream; in the case of a push-type stream,
Figure BDA0002860286860000056
indicating the total byte number of the network packets belonging to the push flow forwarded from the port i to the downstream in the t-th statistical period,
Figure BDA0002860286860000057
indicating the total number of bytes of the network packet belonging to the push flow, which is received by the router from the upstream and is to be forwarded from the port i in the t-th statistical period; in the case of a pull-type stream,
Figure BDA0002860286860000058
indicating the total number of bytes of reply packets belonging to the pull-type flow forwarded from the port i to the downstream in the t-th statistical period,
Figure BDA0002860286860000059
indicating that in the t-th statistical period, the router receives the total number of bytes of reply packets belonging to the pull flow to be forwarded from the port i from the upstream; t denotes the sequence number of the counting period.
A further development of the invention is that in said step S3, a counter credit is introduced for each stream at each output port of the router, based on the calculated ratio
Figure BDA00028602868600000510
The dequeue rate of the virtual queue maintained by each flow is managed to dynamically adjust the packet forwarding rate, and the specific process is as follows:
for a push flow, when the router receives a packet belonging to the push flow to be forwarded out from port i, if
Figure BDA00028602868600000511
Or the push flow has at least one packet queued in the virtual queue maintained at port i, the packet is inserted at the tail of the virtual queue maintained at port i by the push flow, and the counter credit associated with the push flow increases by the ratio
Figure BDA00028602868600000512
A product value with the number of bytes of the enqueued packet; when the value of the counter credit is larger than the size of the packet queued at the head of the queue, the first-in first-out virtual queue forwards the packet queued at the head of the queue to an output buffer area, and simultaneously the number of bytes of the packet is subtracted from the counter credit until the value of the counter credit is smaller than the size of the packet queued at the head of the queue, and then a new packet is continuously waited;
for pull flows, when the router receives a request packet belonging to a pull flow to be forwarded from port i, if
Figure BDA00028602868600000513
Or the pull stream has at least one packet queued in the virtual queue maintained by port i, this packet is inserted at the end of the virtual queue maintained by port i for the pull stream, and the counter credit associated with the pull stream increases the ratio
Figure BDA00028602868600000514
A product value of the number of bytes of a reply packet corresponding to the enqueued request packet; when the value of the counter credit is larger than the byte number of a reply packet corresponding to the request packet queued at the head of the queue, the first-in first-out virtual queue forwards the request packet queued at the head of the queue to an output buffer area and counts the request packet at the same timeThe credit subtracts the byte number of the reply packet corresponding to the request packet until the value of the counter credit is smaller than the byte number of the reply packet corresponding to the request packet queued at the head of the queue, and then the device continues to wait for a new packet.
In the step S3, when a flow stops to send packets, the router detects whether the virtual queue maintained by the flow is empty, and if not, sends the remaining packets in the virtual queue at the rate that the virtual queue maintained by the flow last forwards the packets.
A further improvement of the present invention is that in said step S4, when an unmarked packet is received, the congestion window is increased; and when a packet carrying the congestion mark is received or the client timer is overtime, the congestion window is narrowed.
The invention also provides a transmission control system fusing push-pull semantics, which adopts the transmission control method fusing push-pull semantics and comprises the following steps:
the virtual queue management module is used for maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue through the identification name of the associated flow;
the congestion detection module is used for detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
the router node shapes the rate of each flow through the virtual queue according to the difference of the data transmission capacity of the current uplink and downlink links, and dynamically adjusts the forwarding rate;
and the client side window adjusting module is used for adjusting the size of the sending window in real time by adopting a CUBIC algorithm and reducing the sending rate to adapt to the current network condition when receiving the network packet carrying the congestion mark.
Compared with the prior art, the invention has the beneficial effects that: on the basis of supporting two communication modes of push semantics and pull semantics, the method also combines the hop-by-hop shaping congestion control of the router and a window adjustment algorithm of the client based on explicit feedback, thereby providing a new transmission control method fusing the push semantics and pull semantics, ensuring the high-efficiency and reliable performance of data transmission in different communication scenes, and dynamically adjusting the forwarding efficiency in real time so as to effectively utilize network resources.
Drawings
FIG. 1 is a schematic workflow diagram of one embodiment of the present invention;
FIG. 2 is a diagram of a push semantic communication schema of one embodiment of the present invention;
FIG. 3 is a schematic view of a pull-semantic communication mode according to an embodiment of the present invention;
FIG. 4 is an overall framework diagram of one embodiment of the invention;
fig. 5 is an explicit congestion notification principle diagram of an embodiment of the present invention.
Detailed Description
Preferred embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
The communication mode of the traditional TCP/IP network architecture is defined as end-to-end communication based on push semantics (push semantics), however, with the popularization of the internet and the exponential growth of data volume, users are more concerned about how to obtain content, and not about the specific location of the content producer, so that a content-centric pull semantics (push semantics) communication mode is created to solve the problem of incompatibility between the network communication mode and the user communication demand. Considering the design of the next generation internet and the application in different scenes, a transmission control method compatible with two communication modes needs to be designed. In addition, the congestion control algorithm based on the client under the traditional TCP has the problems of inaccurate RTT estimation and congestion control delay, and also has the problems of congestion misjudgment and the like caused by unreliable network links, and a more reliable and efficient transmission control method needs to be designed.
If the client transmission control and the router hop-by-hop transmission control are used for control, but the characteristics of the client transmission control and the router hop-by-hop transmission control are not well utilized for fusion, implicit congestion detection is adopted by a hybrid algorithm at the client, and the distribution of data packets requested by the client is often uncertain, accurate estimation of round-trip delay is very difficult, so that the standard of timeout is difficult to determine, and the method is not suitable for scenes such as multi-content source and multi-path forwarding. The message marking probability of a certain time is simply calculated according to the queue length, and parameters of the message marking probability need to be configured, so that the message marking probability cannot be adaptively adjusted and is sensitive to network load change.
Therefore, as shown in fig. 1 to fig. 5, this example provides a transmission control method fusing push-pull semantics, including the following steps:
step S1, maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow;
s2, detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
s3, the router node shapes the rate of each flow through the virtual queue according to the difference of the data transmission capacities of the current uplink and downlink, and dynamically adjusts the forwarding rate so as to relieve the congestion of the router node in time;
and S4, the client adjusts the size of the sending window in real time by adopting a CUBIC algorithm, and reduces the sending rate when receiving the network packet carrying the congestion mark so as to adapt to the current network condition.
The packet is a short form of data packet, and includes a request packet, a reply packet, a forwarded data packet, and the like; the streams include push streams and pull streams; the method combines the characteristics of different communication modes of push semantics and pull semantics, designs a transmission control mechanism fusing the push semantics and the pull semantics in a targeted manner, ensures the high-efficiency and reliable performance of data transmission in different communication scenes through the cooperative congestion control of the client and the router, and realizes the effective utilization of network resources.
It is worth mentioning that the embodiment adopts a fusion design concept that a router and a client cooperatively participate in network congestion control, supports data transmission under various communication semantics, does not simply superpose two protocols, and informs the current congestion state of a network node to the client through explicit congestion notification, thereby solving the problems of inaccurate estimation of RTT (round trip time) and congestion misjudgment caused by unreliable network links in the traditional algorithm for indirectly detecting congestion based on timeout estimation; the forwarding rate of each flow can be adjusted in real time by a way of hop-by-hop rate shaping of the router, so that the bandwidth is effectively prevented from being occupied by a greedy client which continuously sends packets at a constant rate for a long time; the client side adaptively adjusts the window size based on whether the received packet carries the congestion flag or not, can keep the optimal sending rate, effectively adapts to the dynamic change of the network environment, and improves the utilization rate of network resources.
More specifically, in order to meet service requirements in various communication scenarios, the present embodiment introduces push semantics and pull semantics, which are respectively used for data communication in an instant messaging scenario and a content distribution scenario. Push semantics (push semantics) are commonly used for transmission control driven by a sender under TCP, that is, the sender of data actively pushes data, and a receiver of data only needs to receive the data and reply corresponding data confirmation information to the sender. Pull semantics (pull semantics) are commonly used for receiver-driven transmission control, that is, a receiver of data actively sends a request to pull the data, and a content source replies content corresponding to the request to the receiver of the data.
The present example defines the communication under these two semantics as follows: data transmission under push semantics (push semantics) is an end-to-end communication mode facing a host, and one party of communication actively pushes data to the other party to realize data transmission. The whole data transmission process is dominated by a sender, a party who wants to send data can send the data immediately after the data is generated, and the data sent by the sender cannot be cached in an intermediate node of a network. After receiving the data from the sender, if the data is confirmed to be correct, the receiver replies an ACK message to the original sender to inform the sender that the sender has successfully received the data. Transmission control under the push semantic meaning is represented by TCP, communication timeliness is strong, and the method is suitable for Instant Messaging (Instant Messaging) services, such as multi-party video conferences, online chatting, network telephones and other interactive scenes.
Data transmission under pull semantics (pull semantics) is a communication mode which is started in recent years and is oriented to contents and driven by a receiving party, messages of the communication mode are divided into a Request Packet (Request Packet) and a reply Packet (Response Packet), the receiving party requests required contents by sending the Request Packet, and the Request Packet contains names of the requested contents. Any intermediate node in the forwarding process replies a reply packet containing the content to the receiver if the content requested by the request packet is cached; if the request packet misses at the intermediate node, forwarding continues until the content producer is reached. The reply packet is returned along the reverse path of the request packet, and the content is selectively cached at the network intermediate node according to the caching strategy. The request packet and the reply packet appear in pairs, and one request packet can only obtain one reply packet at most. The receiver can send a plurality of request packets at a time without waiting for the previous request packet to receive the corresponding reply packet. If the request packet transmitted by the receiver is lost or the reply packet is lost, the receiver recovers by transmitting the request packet for the content again. The transmission control under the pull-type semantics has strong expandability, is mainly used for content distribution, and can realize the high-efficiency multiplexing of network resources.
Based on the definition of push semantics and pull semantics, the present example further defines the flows in the two communication modes.
In step S1, the push flow is composed of a network packet transmitted unidirectionally from the sender to the receiver, and the service identification name is used as a unique attribute for identifying the flow; the pull stream is composed of all request packets and corresponding reply packets of a certain content by a receiver, and the identification name of the requested content is taken as the unique attribute for identifying the stream; the push flow and the pull flow are associated to the corresponding virtual queue according to the identification names of the push flow and the pull flow.
That is, under push semantics, a push flow consists of unidirectionally transmitted network packets from a sender to a receiver, with a service identification name (the identification name is the service identification name) as a unique attribute for identifying the flow. As shown in fig. 2, taking a one-time communication session (conversion) between the Client1 and the Client2 as an example, data sent from the Client1 to the Client2 is a stream, and data sent from the Client2 to the Client1 is another stream, which are completely independent and independent of each other. The direction of flow is from source to destination, with upstream and downstream being defined in terms of the direction of flow of the flow.
Under the pull semantic, a pull stream is composed of all request packets and corresponding reply packets of a certain content by a receiver, and the identification name of the requested content is taken as the unique attribute for identifying the stream. As shown in fig. 3, the receiver Consumer sends a content request, the content request hits in the content source Producer, the direction of the receiver is defined as downstream, the direction of the content source is defined as upstream, the request packet is forwarded from the downstream receiver to upstream, and after hitting in the content source, a reply packet containing the content data is sent to the downstream receiver.
The transmission control method proposed in this example includes two levels of control, namely, client and router. To implement hop-by-hop rate shaping for routers, incoming network packets are partitioned at stream granularity, and at each output port of the router, a first-in-first-out virtual queue is maintained for each stream, each queue being determined by the identification name of the associated stream. f. of j i Representing a flow j through an output port i,
Figure BDA0002860286860000092
representing a virtual queue maintained at output port i for flow j. Different push streams and different pull streams may be associated with different virtual queues according to their different identification names.
Then, as shown in fig. 4, the present embodiment mainly includes the following parts: (1) active congestion detection; (2) explicit congestion notification; (3) Router rate shaping and (4) client window adjustment; the active congestion detection and explicit congestion notification of parts (1) and (2) are implemented by a step S2/congestion detection module; the router rate shaping of part (3) is realized by a step S3/router rate shaping module; the client window adjustment of the part (4) is realized by the step S4/client window adjustment module:
step S201 in this example is used to implement active congestion detection: each router node utilizes the CoDel algorithm to detect congestion. For the push flow, judging the congestion state of the current router node by detecting the congestion of the virtual queue maintained by each flow; for a pull flow, the congestion state of the current router node is judged by detecting the congestion of the reply packet output queue at the output buffer.
In the embodiment, the CoDel algorithm is used for actively detecting the congestion state of the node at the intermediate router node, and different congestion detection mechanisms are adopted aiming at different characteristics of push semantics and pull semantics.
The Codel algorithm is an Active Queue Management (AQM) mechanism that determines congestion by measuring the residence time of each network packet in each output Queue of a router. If the minimum detected lingering time exceeds a preset threshold (5 ms by default) within a preset detection period T (100 ms by default), it is considered that the link corresponding to the output queue is congested. When the size of the buffer area of the router is set in a reasonable range, the CoDel algorithm can effectively avoid the problem of queue size oscillation caused by sudden flow increase, and meanwhile, the queue occupancy rate can be guaranteed to be maintained at a small value. Due to the different transmission mechanisms of push semantics and pull semantics, the positions of congestion detection by using the CoDel algorithm are also correspondingly distinguished. The detection period is a preset congestion detection time length, in the embodiment, T is preferably adopted to represent the detection period, and the detection period is a period for realizing congestion detection by a CoDel algorithm; the preset threshold is a preset congestion threshold, and the detection period and the congestion threshold can be set and adjusted in a user-defined manner according to actual conditions.
For the push flow, node congestion under the push semantics is caused by the accumulation of network packets because the network packets pushed by the sender carry data. Thus, for the communication mode of push semantics, this example utilizes the CoDel algorithm to detect congestion at the virtual queues maintained by each push flow.
For pull flows, because reply packets carrying data are usually much larger than request packets, and the request packets and the reply packets are in one-to-one correspondence, it can be considered that node congestion under pull semantics is mainly caused by reply packet accumulation. Thus, for a communication mode of pull semantics, this example utilizes the CoDel algorithm to detect congestion at the reply packet output queue at the router output buffer.
Step S202 described in this example is used to implement explicit congestion notification: after detecting congestion, the router node marks the forwarded packets so as to explicitly inform the client of the current network congestion state. For the push flow, marking the network packet forwarded from the virtual queue to the actual sending queue; for pull flows, marking reply packets forwarded from the output queue to the link; and after the marking is finished, explicitly informing the client of the current network congestion state.
The essence of network congestion is mainly caused by the fact that the sending rate of the client is too fast, so that the amount of data transmitted on the link exceeds the capacity of the link under the current network conditions. Therefore, after a router detects network congestion, a mechanism is needed to advertise the current network congestion status to clients, which is expected to reduce the sending rate to relieve network congestion from the root. In the transmission control design of a TCP/IP network, an Explicit Congestion Notification (ECN) mechanism is provided, and the basic principle is that when an intermediate router detects that Congestion occurs, a Congestion state is recorded through a specific field of a packet header, and when a packet carrying a Congestion flag reaches a client, the client takes some measures to reduce the rate of sending the packet, so as to alleviate network Congestion.
This example informs the client of the current network conditions through explicit congestion notification, and requires an optional congestion tag field, congestion tag (default value is FALSE), to be extended in the packet header to record the congestion status information of the network. If the router detects that congestion occurs, the congestion flag field CongestionTag of the packet header is enabled and set to TRUE when forwarding the packet. The client judges whether the network is congested according to the congestion marking field information of the header of the received packet. The specific congestion marking process is as follows:
for the push flow, when a router detects that a virtual queue maintained by a certain flow is congested in a detection period, a congestion mark is set for a packet forwarded by the first virtual queue; then, setting a congestion flag for the network packet forwarded by the virtual queue every other preset flag interval period (default set to 110 ms). And until a certain detection period later, when the virtual queue is detected to be not congested any more, the router stops marking the network packet forwarded by the virtual queue. The preset mark interval period is a preset interval period for realizing marking, and the interval period can be set and adjusted in a user-defined mode according to actual needs.
For pull-type flows, when the router detects that a reply packet output queue at an output buffer area is congested in a detection period, a congestion mark is set for a packet forwarded first by the reply packet output queue; then, a congestion flag is set for the packet forwarded by the reply packet output queue every other preset flag interval period (default set to 110 ms). And until a certain detection period later, when detecting that the reply packet output queue is not congested any more, the router stops marking the packets forwarded by the queue.
Through the explicit congestion notification, the congestion information carried in the packet is fed back to the client. For push-type flow, after a network packet carrying a congestion mark reaches a receiver, the receiver can correspondingly set a congestion mark field of an ACK message header replied to the original sender according to congestion information in the received network packet, so that the congestion state of the current network is fed back to the original sender by means of the ACK message. For pull flows, reply packets carrying congestion markers continue to be forwarded downstream until the receiver is reached.
Step S3 described in this example is used to implement rate shaping of a router, that is, a router node dynamically adjusts a forwarding rate by means of management of a virtual queue according to a difference between transmission capabilities of current uplink and downlink, so as to implement hop-by-hop rate shaping.
In this embodiment, through the active congestion detection and explicit congestion notification mechanism in step S2, the client dynamically adjusts the size of the sending window according to the received packet carrying the congestion flag to adapt to the current network condition, but the congestion control mechanism has a certain delay and cannot cope with a greedy client that continuously sends packets at a constant large rate. Therefore, in this embodiment, an intermediate router rate shaping mechanism is introduced on the basis of the foregoing to assist the client to perform congestion control, and based on the difference between the transmission capacities of the uplink and the downlink, the rate at which the router forwards packets is dynamically adjusted through the management of the virtual queue.
The router of this embodiment periodically counts the total number of bytes of packets actually forwarded by each flow and the total number of bytes of received packets within a certain time interval, and determines the current transmission status of the uplink and downlink according to the total number of bytes. In step S3, for the flow j, it is set in the t-th statistical period (default value 100 ms) for monitoring the difference between the uplink and downlink data transmission capabilities, and the flow j is calculated according to the formula
Figure BDA0002860286860000121
Calculating the ratio of the total number of bytes of packets belonging to flow j actually forwarded from port i to the total number of bytes of packets belonging to flow j received to be forwarded from port i
Figure BDA0002860286860000122
When the temperature is higher than the set temperature
Figure BDA0002860286860000123
When the network is in good condition, the current network is judged to be in good condition and can be kept relatively stable within a period of time; when the temperature is higher than the set temperature
Figure BDA0002860286860000124
When the congestion is determined to be about to occur or to have occurred in the current network, the congestion is determined according to the ratio
Figure BDA0002860286860000125
Shaping the packet forwarding rate of the router; alpha is a preset congestion threshold value, and alpha belongs to (0, 1)]Default preferred values are 0.9; j represents a stream, including a push stream and a pull stream; systemThe counting period is a period for monitoring the difference of the data transmission capacity of the uplink and the downlink, and this example preferably uses t to represent the sequence number of the counting period, which is used for calculating the upstream and downstream transmission capacity Ratio in the t-th counting period.
In this example, the meaning of the push semantic and the pull semantic expressed by the following formula (1) is respectively as follows according to the difference of the communication semantics: in the case of a push-type stream,
Figure BDA0002860286860000126
indicates the total number of bytes of network packets belonging to the push flow (flow j) forwarded from the port i to the downstream in the t-th statistic period,
Figure BDA0002860286860000127
indicating the total number of bytes of the network packet belonging to the push flow (flow j) to be forwarded from the port i, which is received by the router from upstream in the t-th statistical period; in the case of a pull-type stream,
Figure BDA0002860286860000128
indicates the total number of bytes of reply packets belonging to the pull flow (flow j) forwarded from the port i to the downstream in the t-th statistical period,
Figure BDA0002860286860000129
indicating that in the t-th statistical period, the router receives the total byte number of the reply packet belonging to the pull-type flow (flow j) to be forwarded from the port i from the upstream, and t is the serial number of the statistical period.
In fact, the formula
Figure BDA00028602868600001210
Reflecting the ratio of the rate at which packets for a flow are processed by the downstream link of the router to the rate at which packets for a flow enter the upstream link over a period of time. For example, if the router calculates
Figure BDA0002860286860000131
Then the packet may be considered to enter the router from the upstream link at this time at twice the rate of forwarding out downstream. At this time, for the push-type stream,the virtual queue can be managed to set the forwarding rate of the network packet to the output buffer area to be 0.5 times of the rate of the network packet which belongs to the flow and is received from the upstream link, so that the network condition of the downstream link is adapted; for the pull stream, in combination with a transmission mode in which request packets and reply packets correspond to each other one by one under the pull semantics, the management of the virtual queue can be used to slow down the forwarding rate of the request packets, that is, the upstream link can slow down the rate of responding to the reply packets by 0.5 times when the request packets of the downstream link are forwarded upstream by 0.5 times of the arrival rate of the request packets of the downstream link, so as to adapt to the transmission capability of the downstream link. When ratio of
Figure BDA0002860286860000132
The principle of router rate shaping is the same when other values are calculated, i.e. based on the calculated ratio
Figure BDA0002860286860000133
The rate at which packets are forwarded is dynamically adjusted by managing the dequeue rate of the virtual queues maintained for each flow.
On this basis, due to the mismatch of the transmission capabilities of the upstream and downstream links,
Figure BDA0002860286860000134
the value of (d) is typically a fractional number, while the data transfer is in bytes. Thus, in step S3 described in this example, a counter credit is introduced for each flow at each output port of the router, based on the calculated ratio
Figure BDA0002860286860000135
The dequeuing rate of the virtual queue maintained by each flow is managed to dynamically adjust the packet forwarding rate, and the specific process is as follows:
for a push flow, when a router receives a packet belonging to a push flow (flow j) to be forwarded from port i, if
Figure BDA0002860286860000136
Or at least one push flow (flow j) in a virtual queue maintained by port iIf a packet is queued, it is inserted at the end of the virtual queue maintained by the push flow (flow j) at port i, and the counter credit associated with the push flow (flow j) is incremented by the ratio
Figure BDA0002860286860000137
A product value with the number of bytes of the enqueued packet; when the value of the counter credit is larger than the size of the packet queued at the head of the queue, the virtual queue with first in first out forwards the packet queued at the head of the queue to an output buffer zone, and simultaneously the counter credit subtracts the byte number of the packet until the value of the counter credit is smaller than the size of the packet queued at the head of the queue, and then a new packet is continuously waited;
for pull flows, when the router receives a request packet belonging to a pull flow (flow j) to be forwarded from port i, if
Figure BDA0002860286860000138
Or at least one packet is queued in the virtual queue maintained by port i, the packet is inserted at the end of the virtual queue maintained by port i for the pull stream (stream j), and the counter credit associated with the pull stream (stream j) increases the ratio
Figure BDA0002860286860000139
A product value of the number of bytes of a reply packet corresponding to the enqueued request packet; when the value of the counter credit is larger than the byte number of the reply packet corresponding to the request packet queued at the head of the queue, the first-in first-out virtual queue forwards the request packet queued at the head of the queue to the output buffer, and simultaneously the counter credit subtracts the byte number of the reply packet corresponding to the request packet until the value of the counter credit is smaller than the byte number of the reply packet corresponding to the request packet queued at the head of the queue, and then the new packet is continuously waited.
In this embodiment, through this mechanism, the router calculates and updates the ratio of the uplink and downlink transmission capacities of each flow at each port every statistical period T
Figure BDA0002860286860000141
When calculated
Figure BDA0002860286860000142
When the virtual queue is in a queue, the dequeuing rate of the virtual queue is lower than the enqueuing rate, packets in the virtual queue start to be accumulated, but the enqueuing rate of the virtual queue is gradually reduced through the downward regulation of the sending rate of the client, and the virtual queue under the reasonable capacity setting cannot overflow; when calculated
Figure BDA0002860286860000143
When the virtual queue dequeues at a rate greater than or equal to the enqueue rate, the packets accumulated in the virtual queue will begin to decrease and drain quickly. In fact, the router forwarding rate is shaped by the virtual queue, and for the push flow, the shaping of the network packet forwarding rate by the virtual queue makes the rate of the network packet entering the output buffer approach the bandwidth size allocated to the flow by the output port; for a pull stream, the shaping of the request packet forwarding rate through the virtual queue makes the arrival rate of the reply packet close to the bandwidth size allocated to the stream by the output port, and the window rate adjustment of the client makes the router receiving packet rate and forwarding packet rate reach balance.
It should be noted that the forwarding rate is dynamically adjusted by using the transceiving ratio of packets in the router to alleviate the link congestion, so that when the client stops sending packets, there may be packets not yet forwarded in the virtual queue. To solve this problem, in step S3 described in this example, when a flow stops to send packets, the router detects whether the virtual queue maintained by the flow is empty, and if not, sends the remaining packets in the virtual queue at the rate that the virtual queue maintained by the flow has last forwarded packets.
For flow j, to obtain the last packet forwarding rate for its virtual queue, a variable lastV is maintained for each virtual queue j At each detection period T, by the formula
Figure BDA0002860286860000144
Computing and updating the virtualization maintained for flow j during the detection period TAverage rate of queue forwarding packets, storing the calculated result in variable lastV j As the rate of the last packet forwarded by the virtual queue, totalByteNum is the total number of bytes of all packets dequeued by the virtual queue in the detection period T, and checkcount is a correction factor. When a flow stops to send out a packet, the variable lastV maintained by the virtual queue at that time is taken j The value of (d) is used as the rate at which packets are forwarded to send the packets remaining in the virtual queue.
The router rate adjustment mechanism can dynamically adjust the packet forwarding rate of the router by using the management of the virtual queue on the premise that the bandwidth is unknown, effectively relieves congestion, and inhibits unreasonable occupation of link bandwidth by a greedy flow which continuously sends packets at a constant rate.
Step S4 described in this example is used to implement client window adjustment, where the client adjusts the size of the sending window in real time by using the CUBIC algorithm, and reduces the sending rate to adapt to the current network condition after receiving the network packet with the congestion flag.
And maintaining a congestion window for each flow at the client to send a packet, and adjusting the size of the window in real time according to the network state. The congestion window is increased whenever an unmarked packet is received; when a packet carrying a congestion mark is received or a client timer is overtime, a congestion window is reduced, so that the optimal sending rate is achieved, and the higher throughput rate is realized. Various classical congestion window adjustment algorithms under TCP can be selected to adjust the congestion window of the client, such as Reno, new Reno, HTCP, BIC, CUBIC and the like, and through simulation experiments, the CUBIC algorithm is selected to be used for the client window adjustment strategy in the transmission control method provided by the patent of the invention.
In addition, in order to avoid the sudden reduction of the congestion window caused by the sudden increase of the network traffic, a classic Conservative packet Loss Recovery Algorithm (TCP SACK-based passive Loss Recovery Algorithm) in the TCP is introduced at the client. When the timer of the client is overtime, a conservative packet loss recovery algorithm is adopted to limit the down regulation of the window, so that the congestion window of the client is reduced only once in each RTT, and network oscillation caused by the sudden reduction of the congestion window when the buffer overflows due to burst flow is prevented. When the client receives the packet carrying the congestion mark, because the congestion mark mechanism adopted in the step S2 can effectively avoid that too many packets are marked when the network traffic suddenly increases, the adjustment of the window is not limited by adopting a conservative packet loss recovery algorithm for the packet carrying the congestion mark, so that the client can quickly respond to the network congestion.
The present embodiment further provides a transmission control system with fused push-pull semantics, which adopts the above transmission control method with fused push-pull semantics, and includes:
the virtual queue management module is used for maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow;
the congestion detection module is used for detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
the router node shapes the rate of each flow through the virtual queue according to the difference of the data transmission capacity of the current uplink and downlink link, and dynamically adjusts the forwarding rate;
and the client side window adjusting module is used for adjusting the size of the sending window in real time by adopting a CUBIC algorithm and reducing the sending rate to adapt to the current network condition when receiving the network packet carrying the congestion mark.
In summary, the present embodiment supports two communication modes, i.e., push semantics and pull semantics, can be used for reliable and efficient data transmission services in the two communication modes, i.e., push semantics and pull semantics, and is suitable for various application scenarios, such as instant messaging and content distribution; the design concept that a router and a client cooperatively participate in network congestion control is adopted, and the transmission control method is designed by combining different characteristics of push semantics and pull semantics, so that the defects of the traditional congestion control algorithm based on the client are overcome; the router hop-by-hop shaping congestion control and the client explicit feedback-based window adjustment algorithm are combined, the problems of inaccurate RTT estimation and congestion misjudgment caused by unreliable network links in the traditional algorithm for indirectly detecting congestion based on timeout estimation are solved, the forwarding rate of each flow can be adjusted in real time, the congestion of a network node is relieved in time, and the bandwidth is effectively prevented from being occupied by a greedy client which continuously sends packets at a constant rate for a long time; the client side adaptively adjusts the window size based on whether the received packet carries the congestion flag or not, can keep the optimal sending rate, effectively adapts to the dynamic change of the network environment, and improves the utilization rate of network resources; and a new transmission control method fusing push semantics and pull semantics is further provided, so that the high-efficiency and reliable performance of data transmission in different communication scenes can be ensured, the forwarding efficiency can be dynamically adjusted in real time, and the compatibility is strong, so that the effective utilization of network resources is realized.
The foregoing is a more detailed description of the invention in connection with specific preferred embodiments and it is not intended that the invention be limited to these specific details. For those skilled in the art to which the invention pertains, several simple deductions or substitutions can be made without departing from the spirit of the invention, and all shall be considered as belonging to the protection scope of the invention.

Claims (9)

1. A transmission control method fusing push-pull semantics is characterized by comprising the following steps:
step S1, maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow;
s2, detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
s3, the router node shapes the rate of each flow through the virtual queue according to the difference of the data transmission capacity of the current uplink and downlink, and dynamically adjusts the forwarding rate;
s4, the client adjusts the size of the sending window in real time by adopting a CUBIC algorithm, and reduces the sending rate to adapt to the current network condition when receiving the network packet with the congestion mark;
in the step S1, the push type stream is composed of a network packet transmitted in a one-way mode from a sender to a receiver, and a service identification name is used as a unique attribute for identifying the stream; the pull stream is composed of all request packets and corresponding reply packets of a certain content by a receiver, and the identification name of the requested content is taken as the unique attribute for identifying the stream; the push flow and the pull flow are associated to the corresponding virtual queue according to the identification names of the push flow and the pull flow.
2. The transmission control method fusing push-pull semantics according to claim 1, wherein the step S2 comprises the following sub-steps:
step S201, each router node detects congestion by using a CoDel algorithm, which comprises the following steps: the push flow judges the congestion state of the current router node by detecting the congestion of a virtual queue maintained by each flow; the pull flow judges the congestion state of the current router node by detecting the congestion of a reply packet output queue at an output buffer area;
step S202, after detecting the congestion, the router node marks the forwarded packet, and the process is as follows: the push flow marks the network packet forwarded from the virtual queue to the actual sending queue; the pull flow marks a reply packet forwarded from the output queue to the link; and after the marking is finished, explicitly informing the client of the current network congestion state.
3. The transmission control method according to claim 2, wherein in step S201, the process of detecting congestion by using a CoDel algorithm is to determine whether the detected minimum linger time exceeds a preset threshold within a detection period, and if so, it is determined that a link corresponding to the output queue is congested.
4. The transmission control method with fusion of push-pull semantics as claimed in claim 2, wherein in step S202, for a push flow, when a router detects that a virtual queue maintained by a certain flow is congested, a congestion flag is set for a packet forwarded first by the virtual queue, and then a congestion flag is set for a network packet forwarded by the virtual queue every other preset flag interval period until the router detects that the virtual queue is no longer congested within a detection period, the router stops marking the network packet forwarded by the virtual queue; for pull-type flows, when a router detects that a reply packet output queue at an output buffer zone is congested, a congestion mark is set on a packet forwarded by the first reply packet output queue, and then a congestion mark is set on a packet forwarded by the reply packet output queue at intervals of a preset mark interval period until the router detects that the reply packet output queue is no longer congested in a detection period, the router stops marking network packets forwarded by the queue.
5. The transmission control method with fusion of push-pull semantics as claimed in claim 1, wherein in step S3, in the t statistical period for monitoring the difference of the uplink and downlink data transmission capabilities, the formula is used
Figure FDA0003780779480000021
Calculating the ratio of the total number of bytes of packets belonging to flow j actually forwarded from port i to the total number of bytes of packets belonging to flow j received to be forwarded from port i
Figure FDA0003780779480000022
When the temperature is higher than the set temperature
Figure FDA0003780779480000023
Judging that the current network condition is good; when in use
Figure FDA0003780779480000024
When the congestion is determined to be about to occur or to have occurred in the current network, the congestion is determined according to the ratio
Figure FDA0003780779480000025
Shaping the packet forwarding rate of the router; alpha is a preset congestion threshold value, and alpha belongs to (0, 1)](ii) a j represents streams, including push streams and pull streams; in the case of a push-type stream,
Figure FDA0003780779480000026
indicating the total number of bytes of the network packet belonging to the push flow forwarded from the port i to the downstream in the t-th statistical period,
Figure FDA0003780779480000027
indicating the total number of bytes of the network packet belonging to the push flow, which is received by the router from the upstream and is to be forwarded from the port i in the t-th statistical period; in the case of a pull-type stream,
Figure FDA0003780779480000028
indicating the total number of bytes of reply packets belonging to the pull flow forwarded from the port i to the downstream in the t-th statistical period,
Figure FDA0003780779480000029
indicating the total byte number of reply packets belonging to the pull flow and to be forwarded from the port i by the router from the upstream in the t-th statistical period; t denotes the sequence number of the counting period.
6. The fused push-pull semantics transmitting control method according to claim 5, wherein in step S3, a counter credit is introduced for each flow at each output port of the router, based on the calculated ratio
Figure FDA00037807794800000210
The dequeue rate of the virtual queue maintained by each flow is managed to dynamically adjust the packet forwarding rate, and the specific process is as follows:
for a push flow, when a router receives a packet belonging to the push flow to be forwarded from port i, if
Figure FDA00037807794800000211
Or the push flow has at least one packet queued in the virtual queue maintained at port i, the packet is inserted at the tail of the virtual queue maintained at port i by the push flow, and the counter credit associated with the push flow increases by the ratio
Figure FDA00037807794800000212
A product value with the number of bytes of the enqueued packet; when the value of the counter credit is larger than the size of the packet queued at the head of the queue, the first-in first-out virtual queue forwards the packet queued at the head of the queue to an output buffer area, and simultaneously the number of bytes of the packet is subtracted from the counter credit until the value of the counter credit is smaller than the size of the packet queued at the head of the queue, and then a new packet is continuously waited;
for pull flows, when the router receives a request packet belonging to a pull flow to be forwarded out of port i, if
Figure FDA0003780779480000031
Or the pull stream has at least one packet queued in the virtual queue maintained by port i, this packet is inserted at the end of the virtual queue maintained by port i for the pull stream, and the counter credit associated with the pull stream increases the ratio
Figure FDA0003780779480000032
A product value of the number of bytes of a reply packet corresponding to the enqueued request packet; when the value of the counter credit is larger than the byte number of the reply packet corresponding to the request packet queued at the head of the queue, the first-in first-out virtual queue forwards the request packet queued at the head of the queue to an output buffer, and the counter credit subtracts the byte number of the reply packet corresponding to the request packet until the value of the counter credit is smaller than the word number of the reply packet corresponding to the request packet queued at the head of the queueAnd (4) counting sections, and continuously waiting for new packets.
7. The transmission control method with fused push-pull semantics as claimed in claim 1, wherein in step S3, when a flow stops to send packets, the router detects whether the virtual queue maintained by the flow is empty, and if not, the router sends the remaining packets in the virtual queue at a rate of last packet forwarding of the virtual queue maintained by the flow.
8. The transmission control method with fused push-pull semantics according to claim 1, wherein in the step S4, when an unmarked packet is received, a congestion window is increased; and when a packet carrying the congestion mark is received or the client timer is overtime, the congestion window is narrowed.
9. A transmission control system with fused push-pull semantics, wherein the transmission control method with fused push-pull semantics according to any one of claims 1 to 8 is adopted, and comprises:
the virtual queue management module is used for maintaining a first-in first-out virtual queue for each flow at each output port of the router, and determining each virtual queue according to the identification name of the associated flow;
the congestion detection module is used for detecting congestion by adopting a CoDel algorithm, marking a forwarding packet according to the congestion state of a node, and explicitly feeding back current network state information to a client, wherein the CoDel algorithm is an active queue management mechanism algorithm and judges the congestion by measuring the lingering time of each network packet in each output queue of the router;
the router node shapes the rate of each flow through the virtual queue according to the difference of the data transmission capacity of the current uplink and downlink links, and dynamically adjusts the forwarding rate;
and the client side window adjusting module is used for adjusting the size of the sending window in real time by adopting a CUBIC algorithm and reducing the sending rate to adapt to the current network condition when receiving the network packet carrying the congestion mark.
CN202011564773.4A 2020-12-25 2020-12-25 Transmission control method and system integrating push-pull semantics Active CN112737964B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011564773.4A CN112737964B (en) 2020-12-25 2020-12-25 Transmission control method and system integrating push-pull semantics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011564773.4A CN112737964B (en) 2020-12-25 2020-12-25 Transmission control method and system integrating push-pull semantics

Publications (2)

Publication Number Publication Date
CN112737964A CN112737964A (en) 2021-04-30
CN112737964B true CN112737964B (en) 2022-10-14

Family

ID=75616192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011564773.4A Active CN112737964B (en) 2020-12-25 2020-12-25 Transmission control method and system integrating push-pull semantics

Country Status (1)

Country Link
CN (1) CN112737964B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550263A (en) * 2021-06-28 2022-12-30 华为技术有限公司 Active queue management method of network equipment and network equipment
JP7493629B2 (en) * 2021-06-29 2024-05-31 新華三技術有限公司 Congestion processing method, apparatus, network device, and storage medium
CN113839750B (en) * 2021-11-25 2022-02-18 之江实验室 Information transmission method in semantic communication system
CN114866469B (en) * 2022-07-11 2022-09-30 佛山赛思禅科技有限公司 Method and system for realizing multi-identification router architecture supporting parallel forwarding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958833A (en) * 2010-09-20 2011-01-26 云南省科学技术情报研究院 RED-based network congestion control algorithm
CN111526096A (en) * 2020-03-13 2020-08-11 北京交通大学 Intelligent identification network state prediction and congestion control system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2823610B1 (en) * 2012-03-09 2019-01-02 British Telecommunications public limited company Signalling congestion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958833A (en) * 2010-09-20 2011-01-26 云南省科学技术情报研究院 RED-based network congestion control algorithm
CN111526096A (en) * 2020-03-13 2020-08-11 北京交通大学 Intelligent identification network state prediction and congestion control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ATM网中ABR业务的拥塞控制机制;贡越等;《通信技术》;19970630(第02期);全文 *

Also Published As

Publication number Publication date
CN112737964A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
CN112737964B (en) Transmission control method and system integrating push-pull semantics
US6839767B1 (en) Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
EP2772028B1 (en) Control system, gateway and method for selectively delaying network data flows
Carofiglio et al. Joint hop-by-hop and receiver-driven interest control protocol for content-centric networks
CN107852371B (en) Data packet network
CN102859950A (en) Method of estimating congestion
JP6523260B2 (en) How to subscribe to streams from multicast clients
Ren et al. An explicit congestion control algorithm for named data networking
CN114500394B (en) Congestion control method for differentiated services
JP4772053B2 (en) Transmitting apparatus and transmission rate control method
Albuquerque et al. Network border patrol: Preventing congestion collapse and promoting fairness in the internet
US7852762B2 (en) Shaping device and router device
Wang et al. WinCM: A window based congestion control mechanism for NDN
Bisio et al. Combined congestion control and link selection strategies for delay tolerant interplanetary networks
Abu et al. Inferring and controlling congestion in CCN via the pending interest table occupancy
Zhao et al. BCTCP: A feedback-based congestion control method
Abu et al. Leveraging the pending interest table occupancy for congestion control in CCN
Socrates et al. Congestion control for packet switched networks: A survey
Ahmad et al. Comparative study of congestion control techniques in high speed networks
Szilágyi et al. Efficient LTE PDCP buffer management
Hsiao et al. Streaming video over TCP with receiver-based delay control
Shy et al. Router active queue management for both multimedia and best-effort traffic flows
Engan et al. Selective truncating internetwork protocol: experiments with explicit framing
Subramani et al. Improving congestion control performance and fairness in multihop ad hoc network
Sisalem et al. DiffRes: A reservation protocol for the differentiated service model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant