CN100459586C - Device and method for data flux control - Google Patents
Device and method for data flux control Download PDFInfo
- Publication number
- CN100459586C CN100459586C CNB2006101118487A CN200610111848A CN100459586C CN 100459586 C CN100459586 C CN 100459586C CN B2006101118487 A CNB2006101118487 A CN B2006101118487A CN 200610111848 A CN200610111848 A CN 200610111848A CN 100459586 C CN100459586 C CN 100459586C
- Authority
- CN
- China
- Prior art keywords
- queue
- information
- data packet
- data
- packet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域 technical field
本发明涉及一种网络数据传输技术,尤其是一种数据流量控制装置与流量控制方法。The invention relates to a network data transmission technology, in particular to a data flow control device and a flow control method.
背景技术 Background technique
随着现代电子技术的发展,各种处理器性能迅速提高。在电信网络核心网领域,随着VOIP(voice over IP,IP电话)技术的发展,以TDM(Time DivisionMultiplex,时分复用)交换为核心的传统交换技术正在转向为以IP技术为核心的分组交换技术迈进。从交换网传输的数据来看,原来基于连接的数据流逐步演进为基于IP的无连接数据流。由于全IP的网络体系具有标准化程度高,研发费用低,开发周期短等特点,成为未来网络的发展趋势。With the development of modern electronic technology, the performance of various processors has been rapidly improved. In the field of telecom network core network, with the development of VOIP (voice over IP, IP telephony) technology, the traditional switching technology with TDM (Time Division Multiplex, time division multiplexing) switching as the core is turning to packet switching with IP technology as the core Technology advances. Judging from the data transmitted by the switching network, the original connection-based data flow has gradually evolved into an IP-based connectionless data flow. Since the all-IP network system has the characteristics of high standardization, low R&D costs, and short development cycle, it will become the development trend of the future network.
现有技术中,通常采用流分类技术及按照优先级调度技术对IP数据包的流量进行控制(简称:流控)。其中,采用流分类技术通常按照业务类型将数据流分为奖赏服务(Premium Service,PS)、确保服务(Assured Service,AS)与尽力服务(Best Effort,BE)三种。PS实现延迟敏感业务,其目标是让分组在网络节点的队列中等待时间最短,同时具备低抖动、低分组丢失率以及带宽保证等特点,例如:IP电话;AS实现带宽敏感业务,其分配用户一定量的、但不能严格保证的带宽,通过将其分组标识比较高的转发优先级来获得优先转发,例如:视频会议应用;BE即Internet所提供的传统业务,它不向用户提供任何的QOS(quality of service,服务质量)保证,例如:FTP(File Transfer Protocol,文件传输协议)、E-mail。按照优先级调度技术进行流控时,将不同业务按照优先级进行调度,先发送优先级高的数据,后发送优先级低的业务。但是,由于IP数据包:长度可变,很难计算精确的流量;具有突发性,不存在固定的流量,难以预测;虽然可以实现简单的分类技术,但是难以满足实时性要求高的场合,例如:语音,实时图像传输等,在流量很大,超出系统性能时,难以保证QOS的要求,使得现有技术对IP数据包进行流控时存在以下缺陷与不足之处:In the prior art, flow classification technology and priority scheduling technology are usually used to control the flow of IP data packets (referred to as flow control). Among them, the flow classification technology is usually used to divide the data flow into three types according to the business type: Premium Service (PS), Assured Service (Assured Service, AS) and Best Effort (BE). PS implements delay-sensitive services, and its goal is to minimize the waiting time of packets in the queue of network nodes, and at the same time have the characteristics of low jitter, low packet loss rate, and bandwidth guarantee, such as: IP telephony; AS implements bandwidth-sensitive services, and assigns users A certain amount of bandwidth that cannot be strictly guaranteed can be forwarded preferentially by marking its packet with a relatively high forwarding priority, such as: video conferencing applications; BE is the traditional service provided by the Internet, and it does not provide users with any QOS (Quality of service, service quality) guarantee, for example: FTP (File Transfer Protocol, file transfer protocol), E-mail. When performing flow control according to priority scheduling technology, different services are scheduled according to priority, and data with high priority is sent first, and services with low priority are sent later. However, due to the variable length of IP data packets, it is difficult to calculate accurate traffic; it is bursty, there is no fixed traffic, and it is difficult to predict; although simple classification technology can be implemented, it is difficult to meet the occasions with high real-time requirements. For example: voice, real-time image transmission, etc., when the traffic is very large and exceeds the system performance, it is difficult to guarantee the QOS requirements, so that the prior art has the following defects and deficiencies in the flow control of IP data packets:
1,无法将同一优先级的数据流的时延控制在允许范围;1. It is impossible to control the delay of data streams with the same priority within the allowable range;
2,在优先级较高的数据流比较大的情况下,诸多优先级较低的数据无法被发送,致使有些实时性不强的数据包,例如:网络管理信息、短消息等被丢弃,在上层重发机制(如TCP)的作用下,造成大量数据包的重发,这就导致了网络拥塞;2. When the data flow with higher priority is relatively large, many data with lower priority cannot be sent, resulting in some data packets with low real-time performance, such as: network management information, short messages, etc. being discarded. Under the action of the upper layer retransmission mechanism (such as TCP), a large number of data packets are retransmitted, which leads to network congestion;
3,无法对终端用户进行准确的带宽控制,不利于运营商的运营与管理。3. It is impossible to accurately control the bandwidth of end users, which is not conducive to the operation and management of operators.
发明内容 Contents of the invention
本发明所要解决的技术问题在于,针对现有技术对IP数据包进行流控时存在的无法对终端用户进行准确的带宽控制的缺陷与不足,提供一种数据流量控制装置与流量控制方法,以克服现有技术存在的该缺陷与不足。The technical problem to be solved by the present invention is to provide a data flow control device and a flow control method to address the defects and deficiencies in the prior art that cannot accurately control the bandwidth of end users when performing flow control on IP data packets. The defects and deficiencies existing in the prior art are overcome.
数据流量控制为解决上述技术问题,本发明提供的一种数据流量控制方法,其执行:步骤1,判断目前时刻与当前队列中上一数据包的发送时刻之差是否大于预先设定的平均时间间隔,所述队列用于存储目的地址相同的数据包,是,发送该队列中的第一数据包,然后处理下一个队列;否则,直接处理下一个队列。Data flow control In order to solve the above-mentioned technical problem, a kind of data flow control method provided by the present invention, it is carried out:
上述方法中,所述步骤1之前,还执行设定所述平均时间间隔的操作,该操作包括:步骤A,计算队列中数据包的平均包长;步骤B,对所述平均包长与所述队列对应的用户信息中的签约流量求商,得到所述队列发送相邻数据包的平均时间间隔。其中,所述步骤A具体为:从所述队列的描述信息获取数据包的样本数,对该样本数的数据包去抖动,然后对去抖动的数据包的包长求平均值。In the above method, before the
所述步骤A之前,还执行:接收数据包,检测该数据包的参数信息,所述参数信息包括目的地址与包长信息;将所述数据包存储在预先建立的、与其目的地址对应的队列中;同时,根据所述数据包的参数信息建立该数据包的描述信息,该数据包的描述信息包括数据包的包长信息以及下一个数据包的描述信息的地址信息;同时,根据与所述目的地址对应队列中的数据包的描述信息以及用户信息建立所述队列的描述信息,该队列的描述信息包括用户的签约流量、样本数、该样本数的数据包的平均包长、该样本数的数据包的最长包长、该样本数的数据包的最短包长、上一数据包的发送时刻与该队列中第一个数据包的地址信息。Before the step A, it is also performed: receiving a data packet, detecting the parameter information of the data packet, the parameter information including destination address and packet length information; storing the data packet in a pre-established queue corresponding to its destination address At the same time, according to the parameter information of the data packet, the description information of the data packet is established, and the description information of the data packet includes the packet length information of the data packet and the address information of the description information of the next data packet; Describe the descriptive information of the data packets in the queue corresponding to the destination address and the user information to establish the descriptive information of the queue, the descriptive information of the queue includes the user’s subscription traffic, the number of samples, the average packet length of the data packets of the sample number, the sample The longest packet length of the number of data packets, the shortest packet length of the sample number of data packets, the sending time of the last data packet and the address information of the first data packet in the queue.
另外,在接收数据包之前,还执行基于目的地址建立队列的操作。In addition, before receiving data packets, an operation of establishing a queue based on the destination address is also performed.
所述目的地址为目的端口号、目的IP地址或者目的MAC(Media AccessControl,介质访问控制)地址或者其任意组合。The destination address is a destination port number, a destination IP address or a destination MAC (Media Access Control, Media Access Control) address or any combination thereof.
另外,所述队列中接收到新的数据包时,更新所述队列中前一个数据包的描述信息中的下一个数据包的描述信息的地址信息。In addition, when a new data packet is received in the queue, the address information of the description information of the next data packet in the description information of the previous data packet in the queue is updated.
所述步骤1中,发送第一个数据包后,还执行:更新所述队列的描述信息中的样本数的数据包的平均包长、所述样本数的数据包的最长包长、所述样本数的数据包的最短包长、所述上一数据包的发送时刻与所述队列中第一个数据包的地址信息。In the
本发明提供的一种数据流量控制装置,包括调度转发模块,用于对存储数据包的队列进行轮询,在目前时刻与当前队列中上一数据包的发送时刻之差大于预先设定的平均时间间隔时,发送该队列中的第一数据包,然后轮询下一个队列,否则,直接轮询下一个队列;计算处理模块,与所述调度转发模块连接,用于计算队列中数据包的平均包长,以及获取地址与该数据包的目的地址相同的用户的签约流量信息,并通过对平均包长与该签约流量求商来计算队列中发送相邻数据包的平均时间间隔。A data flow control device provided by the present invention includes a dispatching and forwarding module, which is used to poll the queue for storing data packets, and the difference between the current moment and the sending time of the last data packet in the current queue is greater than the preset average During the time interval, send the first packet in the queue, and then poll the next queue, otherwise, directly poll the next queue; the calculation processing module is connected with the scheduling and forwarding module, and is used to calculate the number of data packets in the queue. The average packet length, and the subscription flow information of the user whose address is the same as the destination address of the data packet are obtained, and the average time interval for sending adjacent data packets in the queue is calculated by quotienting the average packet length and the subscription flow.
另外,上述装置还包括:In addition, the above-mentioned devices also include:
配置管理模块,用于接收数据包,并检测该数据包的参数信息,所述参数信息包括目的地址与包长信息;The configuration management module is used to receive the data packet, and detect the parameter information of the data packet, and the parameter information includes destination address and packet length information;
监控管理模块,分别与所述配置管理模块及所述计算处理模块连接,用于将接收到的数据包存储在与其目的地址对应的队列中,同时,根据数据包的参数信息与用户信息建立所述数据包的描述信息与所述队列的描述信息,以及更新数据包的描述信息与队列的描述信息;The monitoring and management module is connected to the configuration management module and the calculation processing module respectively, and is used to store the received data packet in the queue corresponding to its destination address, and at the same time, establish the The descriptive information of the data packet and the descriptive information of the queue, and the descriptive information of the updated data packet and the descriptive information of the queue;
信息存储模块,分别与所述监控管理模块及所述计算处理模块连接,用于存储所述数据包的描述信息与所述队列的描述信息;An information storage module, connected to the monitoring management module and the computing processing module, respectively, for storing the description information of the data packet and the description information of the queue;
用户信息存储模块,分别与所述监控管理模块及所述计算处理模块连接,用于存储所述用户信息;A user information storage module is connected to the monitoring management module and the computing processing module respectively, and is used to store the user information;
队列存储模块,分别与所述监控管理模块及所述调度转发模块连接,用于存储所述队列。A queue storage module is connected to the monitoring management module and the dispatching and forwarding module respectively, and is used to store the queue.
基于上述技术方案,本发明具有以下有益效果:Based on the above technical scheme, the present invention has the following beneficial effects:
1,根据预先设定的时间条件来严格控制数据包的发送,从而实现对终端用户带宽的准确控制,保证了流控的准确度;1. Strictly control the sending of data packets according to the preset time conditions, so as to realize accurate control of end-user bandwidth and ensure the accuracy of flow control;
2,根据用户的签约流量与接收到数据包的流量情况来计算向用户发送数据包的平均时间间隔,有效保证了用户QOS,也避免了突发流量,减少了突发流量对核心网络的影响,降低了核心网络投资;同时,避免了实时性不强的数据包丢失后被重发而引起的核心网拥塞;2. Calculate the average time interval for sending data packets to the user according to the user's subscription traffic and the flow of received data packets, which effectively guarantees the user's QOS, avoids burst traffic, and reduces the impact of burst traffic on the core network , reducing the core network investment; at the same time, avoiding the core network congestion caused by retransmission of data packets that are not real-time;
3,通过对发送给各用户的队列进行轮询的方式来发送数据包,避免了接入层用户之间互相争夺带宽,提高了运营质量;3. By polling the queue sent to each user to send data packets, it avoids competing for bandwidth between access layer users and improves the quality of operation;
4,可以基于目的端口号、目的IP地址或者目的MAC地址或者其任意结合的方式进行流控,灵活性高。4. Flow control can be performed based on the destination port number, destination IP address or destination MAC address or any combination thereof, with high flexibility.
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。The technical solutions of the present invention will be described in further detail below with reference to the accompanying drawings and embodiments.
附图说明 Description of drawings
图1为本发明数据流量控制方法实施例一的流程图。FIG. 1 is a flow chart of
图2为本发明数据流量控制装置实施例一的结构示意图。FIG. 2 is a schematic structural diagram of
图3为本发明数据流量控制方法实施例二的流程图。FIG. 3 is a flow chart of
图4为本发明数据流量控制装置实施例二的结构示意图。FIG. 4 is a schematic structural diagram of
图5为本发明数据流量控制方法实施例三的流程图。FIG. 5 is a flow chart of
图6为本发明数据流量控制装置实施例三的结构示意图。FIG. 6 is a schematic structural diagram of
具体实施方式 Detailed ways
本发明为一种对IP数据包的流量进行控制的方法,其核心思想是:预先设定向用户发送的相邻两个数据包之间的平均时间间隔,依次对各存储发送给用户的数据包的队列进行处理,若当前队列满足平均时间间隔条件,则将该队列中的第一个数据包发送给用户,然后处理下一个队列;若当前队列不满足平均时间间隔条件,不向用户发送数据包而直接处理下一个队列。The present invention is a method for controlling the flow of IP data packets. Its core idea is: to pre-set the average time interval between two adjacent data packets sent to the user, and sequentially store the data sent to the user If the current queue meets the average time interval condition, the first data packet in the queue will be sent to the user, and then the next queue will be processed; if the current queue does not meet the average time interval condition, it will not be sent to the user packet and proceed directly to the next queue.
图1所示为本发明数据流量控制方法实施例一的流程图,其执行:Fig. 1 shows the flow chart of
步骤101,判断目前时刻与当前队列中上一数据包的发送时刻之差是否大于预先设定的平均时间间隔,是,执行步骤102;否则,执行步骤103,所述队列用于存储目的地址相同的数据包,该目的地址可以是目的端口号、目的IP地址、目的MAC地址或者其任意组合。其中,平均时间间隔可以由数据流量控制管理者根据实际需求自行设定,也可以根据目的地址对应的用户的签约流量来设定。
步骤102,发送该队列中的第一数据包。
步骤103,轮询下一个队列,执行步骤101。In
通过预先设定的平均时间间隔来限定发送数据包的时间条件,从而严格控制数据包的发送,实现了对终端用户带宽控制的准确性,保证了流控的准确度;并且避免了突发流量,减少了突发流量对核心网络的影响,降低了核心网络投资。The time condition for sending data packets is limited by the preset average time interval, so as to strictly control the sending of data packets, realize the accuracy of end-user bandwidth control, ensure the accuracy of flow control; and avoid burst traffic , reducing the impact of burst traffic on the core network and reducing the core network investment.
图2所示为可用于实现图1所述方法的本发明数据流量控制装置实施例一的结构示意图,该实施例中,数据流量控制装置由调度转发模块1构成,调度转发模块1用于对存储数据包的队列进行轮询,在目前时刻与当前队列中上一数据包的发送时刻之差大于预先设定的平均时间间隔时,发送该队列中的第一数据包,然后轮询下一个队列,否则,直接轮询下一个队列。FIG. 2 is a schematic structural diagram of
图3所示为本发明数据流量控制方法实施例二的流程图,该实施例在图1所示的流程之前,还执行设定发送同一队列中相邻数据包的平均时间间隔的操作,具体为:步骤301,计算队列中数据包的平均包长。步骤302,获取地址与该数据包的目的地址相同的用户的签约流量信息,并对平均包长与该签约流量求商,得到该队列发送相邻数据包的平均时间间隔。Fig. 3 shows the flow chart of the second embodiment of the data flow control method of the present invention. Before the flow shown in Fig. 1, this embodiment also executes the operation of setting the average time interval for sending adjacent data packets in the same queue, specifically It is:
该实施例中,步骤301具体为:从队列的描述信息中获取用户预先设置的数据包的样本数,对该样本数的数据包去抖动,然后对去抖动后的数据包的包长求平均值。In this embodiment,
根据用户的签约流量来限定向用户发送数据包的时间条件,从而严格控制数据包的发送,保证了流控的准确度,并有效的保证了QOS;根据用户的签约流量与接收到数据包的流量情况来计算向用户发送数据包的平均时间间隔,避免了突发流量,减少了突发流量对核心网络的影响,降低了核心网络投资;同时,避免了实时性不强的数据包丢失后被重发而引起的核心网拥塞。According to the user's subscription traffic to limit the time conditions for sending data packets to the user, so as to strictly control the sending of data packets, ensure the accuracy of flow control, and effectively guarantee QOS; according to the user's subscription traffic and the received data packet The average time interval for sending data packets to users is calculated based on traffic conditions, which avoids burst traffic, reduces the impact of burst traffic on the core network, and reduces core network investment; at the same time, it avoids the loss of data packets that are not real-time Core network congestion caused by retransmission.
图4所示为可用于实现图3所述方法的本发明数据流量控制装置实施例二的结构示意图,该实施例中在图2所示的实施例的基础上,增设了一与调度转发模块1连接的计算处理模块2,其用于计算队列中数据包的平均包长,以及获取地址与该数据包的目的地址相同的用户的签约流量信息,并通过对平均包长与该签约流量求商来计算队列中发送相邻数据包的平均时间间隔。Fig. 4 is a schematic structural diagram of
数据流量控制管理者可以预先设置对应于某一目的地址的样本数N、去抖动参数A与B,参数N、A与B设置后,可以随时修改。例如:可以选择A与B的默认值为1或者2。并将该样本数存储在对应于该目的地址的用户信息中,该目的地址可以是目的端口号、目的IP地址、目的MAC地址或者其任意组合。预先基于目的地址建立各用于存储相同目的地址的数据包的队列。当接收到数据包时,便可利用本发明提供的数据流量控制方法对数据包的发送进行流控。图5所示为本发明数据流量控制方法实施例三的流程图,其包括以下步骤:The data flow control manager can pre-set the number of samples N corresponding to a certain destination address, and the dejitter parameters A and B. After the parameters N, A and B are set, they can be modified at any time. For example: You can choose the default value of A and B to be 1 or 2. And store the number of samples in the user information corresponding to the destination address, where the destination address may be a destination port number, destination IP address, destination MAC address or any combination thereof. Each queue for storing data packets with the same destination address is established in advance based on the destination address. When the data packet is received, the data flow control method provided by the present invention can be used to control the flow of the data packet sending. FIG. 5 is a flow chart of
步骤501,接收数据包,检测该数据包的参数信息,包括该数据包的目的地址与包长信息,例如:目的IP地址为10.10.10.101,包长信息为64K。Step 501, receiving a data packet, detecting the parameter information of the data packet, including the destination address and packet length information of the data packet, for example: the destination IP address is 10.10.10.101, and the packet length information is 64K.
步骤502,将该数据包存储在目的IP地址为10.10.10.101的队列中;同时,根据该数据包的参数信息建立其描述信息,该描述信息包括该数据包的包长信息以及下一个数据包的描述信息的地址信息,并将该数据包的描述信息存储在目的IP地址为10.10.10.101的位置;同时,获取IP地址为10.10.10.101的用户信息,根据该描述信息以及用户信息建立目的IP地址为10.10.10.101的队列的描述信息,该队列的描述信息包括用户的签约流量、样本数N、该样本数N的数据包的平均包长、该样本数N的数据包的最长包长、该样本数N的数据包的最短包长、上一数据包的发送时刻与该队列中第一个数据包的地址信息。如下表1所示为某一目的地址的数据包的描述信息的内容示例,如下表2所示为某一目的地址的队列的描述信息的内容示例。Step 502, the data packet is stored in the queue whose destination IP address is 10.10.10.101; meanwhile, its description information is established according to the parameter information of the data packet, and the description information includes the packet length information of the data packet and the next data packet The address information of the descriptive information, and store the descriptive information of the data packet in the location where the destination IP address is 10.10.10.101; at the same time, obtain the user information with the IP address 10.10.10.101, and establish the destination IP address based on the descriptive information and user information The description information of the queue with the address 10.10.10.101, the description information of the queue includes the user's subscription traffic, the number of samples N, the average packet length of the data packets with the sample number N, and the longest packet length of the data packets with the sample number N , the shortest packet length of the data packets with the sample number N, the sending time of the last data packet and the address information of the first data packet in the queue. Table 1 below is an example of the description information of a data packet with a certain destination address, and Table 2 below is an example of the content of the description information of a queue with a certain destination address.
表1 Table 1
表2 Table 2
在表1中,由于接收到一个数据包时,还未接收到与该数据包的目的地址相同的下一个数据包,因此,该数据包的描述信息中的Pkt_next暂时设置为0,在接收到下一个数据包时,根据该下一个数据包的描述信息的地址来更新该Pkt_next。In Table 1, since the next data packet with the same destination address as the data packet has not been received when a data packet is received, Pkt_next in the description information of the data packet is temporarily set to 0. For the next data packet, the Pkt_next is updated according to the address of the description information of the next data packet.
在表2中,Tc由用户预先申请,保存在用户信息中,可以从用户信息中获取,其值可以动态调整,若Tc为0,说明该用户为无效用户。N可以由数据流量控制装置管理员在建立队列时设置,可以动态调整,为便于计算,N的数值最好配置为2的n次方,n为正整数,例如:2,4,8,32,...。Len_avg为队列中前N个数据包去抖动后的平均包长。In Table 2, Tc is pre-applied by the user, saved in the user information, can be obtained from the user information, and its value can be adjusted dynamically. If Tc is 0, it means that the user is an invalid user. N can be set by the administrator of the data flow control device when creating the queue, and can be adjusted dynamically. For ease of calculation, the value of N is best configured as 2 to the nth power, and n is a positive integer, for example: 2, 4, 8, 32 ,... Len_avg is the average packet length of the first N data packets in the queue after dejittering.
步骤503,从队列的描述信息中获取用户预先设置的数据包的样本数N、去抖动参数A与B,对队列中前N个数据包去抖动,即:按照预先设定的参数,去掉该前N个数据包中的A个最长包长与B个最短包长(A、B为正整数,且N>A+B),然后对去抖动后的N-(A+B)个数据包的包长求平均值,该平均值可记为Len_avg,并将该Len_avg写入队列的描述信息中。Step 503: Obtain the sample number N of data packets preset by the user and the de-jitter parameters A and B from the descriptive information of the queue, and de-jitter the first N data packets in the queue, that is, remove the data packets according to the preset parameters. A longest packet length and B shortest packet length in the first N data packets (A, B are positive integers, and N>A+B), and then N-(A+B) data after dejittering The packet length of the packet is averaged, and the average value can be recorded as Len_avg, and the Len_avg is written into the description information of the queue.
步骤504,从队列的描述信息中获取该用户的签约流量Tc,利用公式1/(8*Len_avg/Tc)对包长平均值Len_avg与该签约流量Tc求商,得到当前该队列中发送相邻数据包的平均时间间隔T_int。Step 504, obtain the subscription traffic Tc of the user from the description information of the queue, use the
步骤505,判断当前时刻与队列的描述信息中的Tprev之差是否大于计算出的该队列的当前T_int,是,执行步骤506;否则,执行步骤508。Step 505, judge whether the difference between the current time and Tprev in the descriptive information of the queue is greater than the calculated current T_int of the queue, if yes, go to step 506; otherwise, go to step 508.
步骤506,将该队列中的第一个数据包发送给其目的地址。Step 506, send the first data packet in the queue to its destination address.
步骤507,根据该队列中的数据包的描述信息更新该队列的描述信息中的Len_max、Len_min与Pkt_desc,以发送该第一个数据包的当前时间更新该队列的描述信息中的Tprev,同时,通过公式((N-1)*Len_avg+Pkt_len-Len_max-Len_min)/(N-2)重新计算队列中前(N-1)个数据包的包长的平均值,利用该平均值更新该队列的描述信息中的Len_avg。Step 507, update Len_max, Len_min, and Pkt_desc in the descriptive information of the queue according to the descriptive information of the data packets in the queue, update Tprev in the descriptive information of the queue with the current time when the first data packet is sent, and at the same time, Use the formula ((N-1)*Len_avg+Pkt_len-Len_max-Len_min)/(N-2) to recalculate the average value of the packet lengths of the first (N-1) data packets in the queue, and use the average value to update the queue Len_avg in the description information.
步骤508,轮询下一个队列,针对该下一个队列,执行步骤504至步骤507。Step 508, poll the next queue, and execute steps 504 to 507 for the next queue.
通过对发送给各用户的队列进行轮询的方式来发送数据包,避免了接入层用户之间互相争夺带宽,提高了运营质量;另外,本发明可以基于目的端口号、目的IP地址或者目的MAC地址或者其任意结合的方式进行流控,灵活性高。By polling the queues sent to each user to send data packets, users at the access layer avoid competing for bandwidth and improve the quality of operation; in addition, the present invention can be based on the destination port number, destination IP address or destination MAC address or any combination thereof for flow control, with high flexibility.
为了避免不必要的后续操作而降低数据流量控制装置的工作效率,可在执行步骤504之前,先查询当前队列中的Tc是否为零,是,不发送该队列中的数据包,轮询下一个队列,即执行步骤508,否则,执行步骤504。In order to avoid unnecessary follow-up operations and reduce the working efficiency of the data flow control device, before performing step 504, first inquire whether the Tc in the current queue is zero, if yes, do not send the data packets in the queue, and poll the next queue, that is, go to step 508; otherwise, go to step 504.
图6所示为可用于实现图5所述方法的本发明数据流量控制装置实施例三的结构示意图,该实施例在图4所示的实施例的基础上,还增设有与计算处理模块2连接的监控管理模块3以及与该监控管理模块3连接的配置管理模块7,还增设有分别与计算处理模块2及监控管理模块3连接的信息存储模块5及用户信息存储模块6,以及分别与监控管理模块3及调度转发模块1连接的队列存储模块4。其中,配置管理模块7用于接收数据包,检测该数据包的参数信息,包括:数据包的目的地址(可以是目的端口号、目的IP地址或者目的MAC地址或者其任意组合)与数据包的包长,并向监控管理模块3发送该数据包及其参数信息,由监控管理模块3将数据包存储在目的地址相同的队列中;另外,配置管理模块7还提供人机交互界面,用户可以通过该界面输入建立或删除队列的指令以及相关参数,例如:样本数N及去抖动参数A与B;监控管理模块3在接收到数据包以后,用于根据数据包的参数信息以及用户信息存储模块6中存储的用户信息,包括:端口号、IP地址或者MAC地址或者其任意组合,及样本数N与去抖动参数A与B,建立数据包的描述信息,包括数据包的目的地址信息与数据包的包长信息;同时,根据数据包的参数信息、用户信息建立与更新队列的描述信息,包括:用户的签约流量、样本数、该样本数的数据包的平均包长、该样本数的数据包的最长包长、该样本数的数据包的最短包长、上一数据包的发送时刻与该队列中第一个数据包的地址信息,以及将接收到的数据包存储在与其目的地址对应的队列中;计算处理模块2用于对各队列中的数据包去抖动,计算其平均包长,以及获取地址与该数据包的目的地址相同的用户的签约流量信息,并通过对平均包长与该签约流量求商来计算队列中发送相邻数据包的平均时间间隔;调度转发模块1用于根据计算处理模块2计算出的平均时间间隔对存储数据包的队列进行轮询,在目前时刻与当前队列中上一数据包的发送时刻之差大于该平均时间间隔时,发送该队列中的第一数据包,然后轮询下一个队列,否则,直接轮询下一个队列;队列存储模块4用于存储各队列;信息存储模块5用于存储数据包的描述信息与队列的描述信息;用户信息存储模块6用于存储用户信息。FIG. 6 is a schematic structural diagram of
在上述各数据流量控制装置中,信息存储模块5、队列存储模块4和/或用户信息存储模块6可以一体设置。另外,信息存储模块5、队列存储模块4和/或用户信息存储模块6也可以与监控管理模块3一体设置;监控管理模块3也可以与配置管理模块7一体设置。In each of the above data flow control devices, the
本发明提供的上述各实施例,不仅可以应用于接入层基于端口号、IP地址和/或MAC地址进行流控,也可应用于核心层基于端口号进行流控。The above-mentioned embodiments provided by the present invention can not only be applied to the flow control based on the port number, IP address and/or MAC address at the access layer, but also can be applied to the flow control based on the port number at the core layer.
总的有益效果:Total Beneficial Effects:
1,可严格控制数据包的发送,保证了流控的准确度,也有效的保证了QOS;1. It can strictly control the sending of data packets, ensuring the accuracy of flow control and effectively guaranteeing QOS;
2,避免了IP数据包的突发流量,减少了突发流量对核心网络的影响,降低了核心网络投资;同时,避免了实时性不强的数据包丢失后被重发而引起的核心网拥塞;2. It avoids the sudden flow of IP data packets, reduces the impact of sudden flow on the core network, and reduces the investment in the core network; at the same time, it avoids the loss of real-time data packets caused by the retransmission of the core network. congestion;
3,避免了接入层用户之间互相争夺带宽,提高了运营质量;3. It avoids competing for bandwidth between users at the access layer and improves the quality of operation;
4,可以基于目的端口号、目的IP地址或者目的MAC地址或者其任意结合的方式进行流控,灵活性高。4. Flow control can be performed based on the destination port number, destination IP address or destination MAC address or any combination thereof, with high flexibility.
最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present invention, rather than limiting the understanding of the present invention. Although the present invention has been described in detail with reference to the above-mentioned preferred embodiments, those skilled in the art should understand that: it can still modify or replace the technical solution of the present invention, and such modification or replacement does not depart from the technology of the present invention. The spirit and scope of the programme.
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101118487A CN100459586C (en) | 2006-08-25 | 2006-08-25 | Device and method for data flux control |
PCT/CN2007/000830 WO2008025194A1 (en) | 2006-08-25 | 2007-03-15 | A method and device for data flow controlling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101118487A CN100459586C (en) | 2006-08-25 | 2006-08-25 | Device and method for data flux control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1921450A CN1921450A (en) | 2007-02-28 |
CN100459586C true CN100459586C (en) | 2009-02-04 |
Family
ID=37779028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101118487A Active CN100459586C (en) | 2006-08-25 | 2006-08-25 | Device and method for data flux control |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN100459586C (en) |
WO (1) | WO2008025194A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465792B (en) * | 2007-12-18 | 2011-05-25 | 北京北方微电子基地设备工艺研究中心有限责任公司 | A data scheduling method and device |
CN101827033B (en) * | 2010-04-30 | 2013-06-19 | 北京搜狗科技发展有限公司 | Method and device for controlling network traffic and local area network system |
CN103856435A (en) * | 2012-11-28 | 2014-06-11 | 中兴通讯股份有限公司 | Address resolution protocol cache and caching method |
CN105721332A (en) * | 2014-12-03 | 2016-06-29 | 深圳市中兴微电子技术有限公司 | Congestion control method and device based on improved WRED |
CN106209681B (en) | 2016-06-28 | 2019-05-10 | 华为技术有限公司 | A queue management method and device |
CN107707928B (en) * | 2017-10-30 | 2021-03-23 | 广州市千钧网络科技有限公司 | Data stream delay control method and device and receiving equipment |
CN109379287B (en) * | 2018-12-25 | 2022-03-11 | 广东浪潮大数据研究有限公司 | Input buffering method and input buffering component for data packet |
CN113395302B (en) * | 2020-03-11 | 2022-04-26 | 杭州中天微系统有限公司 | Asynchronous data distributor, related apparatus and method |
CN112783123B (en) * | 2020-12-30 | 2021-11-19 | 北京理工大学 | Workflow scheduling execution unit control method and controller |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097679A1 (en) * | 2001-01-25 | 2002-07-25 | Berenbaum Alan D. | Automatic quality of service assignment in ethernet switches |
CN1567828A (en) * | 2003-06-18 | 2005-01-19 | 中兴通讯股份有限公司 | A method for performing speed limiting on data traffic by network processor |
CN1618244A (en) * | 2001-12-05 | 2005-05-18 | 高通股份有限公司 | Method and system for flow control between a base station controller and a base transceiver station |
US20050232276A1 (en) * | 2004-04-15 | 2005-10-20 | Frank Glaser | Method for processing a sequence of data packets in a receiver apparatus, as well as a receiver apparatus |
-
2006
- 2006-08-25 CN CNB2006101118487A patent/CN100459586C/en active Active
-
2007
- 2007-03-15 WO PCT/CN2007/000830 patent/WO2008025194A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097679A1 (en) * | 2001-01-25 | 2002-07-25 | Berenbaum Alan D. | Automatic quality of service assignment in ethernet switches |
CN1618244A (en) * | 2001-12-05 | 2005-05-18 | 高通股份有限公司 | Method and system for flow control between a base station controller and a base transceiver station |
CN1567828A (en) * | 2003-06-18 | 2005-01-19 | 中兴通讯股份有限公司 | A method for performing speed limiting on data traffic by network processor |
US20050232276A1 (en) * | 2004-04-15 | 2005-10-20 | Frank Glaser | Method for processing a sequence of data packets in a receiver apparatus, as well as a receiver apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN1921450A (en) | 2007-02-28 |
WO2008025194A1 (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459586C (en) | Device and method for data flux control | |
US10432556B1 (en) | Enhanced audio video bridging (AVB) methods and apparatus | |
CN1679017B (en) | Apparatus and method for providing reserved connection between terminal stations, and Ethernet system | |
JP2009055327A (en) | Network system | |
EP1240740A1 (en) | Network switch with packet scheduling | |
CN104272680A (en) | signaling congestion | |
US10637792B2 (en) | Real-time analysis of quality of service for multimedia traffic in a local area network | |
KR101585208B1 (en) | System and method for QoS control of VoIP media packets received from a broadband port in a routing and gateway integrated VoIP system | |
KR20080109248A (en) | Packet processing method and system in the IP system | |
CN101599965A (en) | Measurement-Based Adaptive High-Speed Information Transmission Protocol | |
CN114866474A (en) | End network cooperative traffic scheduling method, device, system and storage medium | |
JP2012531867A (en) | How to manage traffic load | |
CN102413051B (en) | Method and device for scheduling quality of service (QOS) | |
Wang et al. | Design and implementation of QoS-provisioning system for voice over IP | |
CN101212417B (en) | A Time Granularity-Based Internet Service Quality Assurance Method | |
EP1341350B1 (en) | A method for congestion detection for IP flows over a wireless network | |
US8483210B2 (en) | Method and apparatus for voice traffic management in a data network | |
CN114979011B (en) | Congestion control method applied to park network | |
WO2022068617A1 (en) | Traffic shaping method and device | |
Irawan et al. | Performance evaluation of queue algorithms for video-on-demand application | |
Cisco | Implementing a Wide Area Network | |
JP2002247067A (en) | Bandwidth control device | |
Phan et al. | FICC-DiffServ: A new QoS architecture supporting resources discovery, admission and congestion controls | |
JP2005295524A (en) | Packet output-controlling device, packet shaper, and packet repeater | |
EP1372300A1 (en) | Adapting packet length to network load for VoIP communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |