CN104956637A - 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统 - Google Patents

在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统 Download PDF

Info

Publication number
CN104956637A
CN104956637A CN201280076668.3A CN201280076668A CN104956637A CN 104956637 A CN104956637 A CN 104956637A CN 201280076668 A CN201280076668 A CN 201280076668A CN 104956637 A CN104956637 A CN 104956637A
Authority
CN
China
Prior art keywords
packet
sequence number
priority
network
encapsulated data
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.)
Granted
Application number
CN201280076668.3A
Other languages
English (en)
Other versions
CN104956637B (zh
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.)
Pismo Labs Technology Ltd
Original Assignee
Pismo Labs Technology Ltd
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 Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Publication of CN104956637A publication Critical patent/CN104956637A/zh
Application granted granted Critical
Publication of CN104956637B publication Critical patent/CN104956637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Abstract

通过经由多个网络接口中的一个接收数据包;确定该数据包的全局序列号和优先等级;将该数据包存储;将该数据包封装在封装数据包中;根据全局序列号和优先等级经由多个逻辑网络连接将该封装数据包传送至第二网络装置;接收该封装数据包;从所述封装数据包中解封所述数据包;以及根据全局序列号和优先等级将该数据包传送至预期接收端的传送和接收具有优先级的数据包的方法、网络装置和系统。

Description

在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统
技术领域
本发明一般来说涉及经由多个逻辑网络连接传送和接收封装数据包,更具体地,涉及允许优先化多个逻辑网络连接中的封装数据包。
背景技术
本领域技术人员已知的是封装数据包报头可用于区分封装数据包,从而允许网络装置将该封装数据包视为具有高优先级或较重要。现在参考图2,示出了IPv4数据包报头和服务类型域(其被更新为区分服务(DiffServ)域)的示例。用于识别数据包的数据包标记技术可包括对互联网协议(IP)报头服务类型(TOS)域的区分服务代码点(DSCP)子域进行操纵。DiffServ可提供对网络流量以及服务质量(QoS)机制进行分类和管理的组网结构。DiffServ域可在网络层协议(例如,IPv4、IPv6和移动IPv6)中使用,以关于数据包分类和流量调节功能(诸如计量、标记、成形和监管等)作出逐跳行为(PHB)决策。在图2中,DSCP域处于封装数据包报头的服务类型(ToS)域内。DSCP域可提供期望服务质量的抽象参数的指示。这些参数可用于在通过特定网络传送数据包时来引导对实际服务参数进行选择。许多网络提供服务优先权,其可将高优先级流量视为比其他流量更重要(通常是在高负荷时刻仅接受高于特定优先权的流量)。数据包的标准化DiffServ域可用一个值来标记,使得该数据包在每个网络节点接受特殊转发处理或PHB。
在传送端网络装置处,期望的是将较高优先级的数据包早于较低优先级的数据包传送。
然而,当使用聚合逻辑网络连接来传送和接收封装数据包时,封装数据包可能未按顺序被接收端接收。本领域技术人员已知的是从封装数据包中解封的数据包在被传送至指定接收方之前应当被分类。本领域技术人员还已知的是可通过使用伴随数据包的封装在封装数据包中的全局序列号和每一逻辑网络连接序列号来进行分类。然而,当在接收网络装置处各全局序列号不按顺序时,对数据包进行分类可导致数据包传送延迟。当由于分类而导致高优先级数据包的传输被延迟时,这种延迟的影响大于低优先级数据包的传输被延迟。
当网络装置传送或接收封装数据包时,该封装数据包可具有如图2中示出的通常的IPv4报头的数据包格式。需要注意的是,在上述描述中,假设使用图2中示出的IPv4报头。然而,不是必须要使用IPv4报头,可使用其他任意协议(包括IPv6和移动IPv6)的数据包格式。
发明内容
在网络装置处将数据包优先化到不同队列中。然后,该网络装置选择多个逻辑网络连接中的一个来传送数据包。全局序列号和优先级序列号被连同数据包嵌入到嵌入数据包中。将最高优先级数据包早于较低优先级数据包传送。在接收网络装置处,存在用于存储接收到的嵌入数据包的一个队列。接收网络装置基于全局序列号和优先级序列号来确定是将嵌入的数据包存储还是将嵌入在嵌入数据包中的数据包传送到预期接收方。
具体实施方式
本发明基于上述情况而做出,并且本发明的目的是使用优先级队列、优先等级和优先级序列号来解决上述问题。
主机可以为计算装置、笔记本电脑、移动电话、智能电话、台式电脑、交换器、路由器或能够传送和接收数据包的电子装置。传送主机是传送数据包的主机。传送主机还可以是根据规则和/或确定的路由从主机接收数据包并之后传送数据包的网络装置。接收主机是接收数据包的主机。接收主机还可以是根据规则和/或确定的路由从主机接收数据包并之后传送数据包的网络装置。因此,主机可以是传送主机和接收主机。
以下描述仅提供优选示例性实施例,并不意在限制本发明的范围、应用性或构造。更确切地,以下优选示例性实施例的描述将向本领域技术人员提供能够实施本发明的优选示例性实施例的描述。能够理解的是,在不脱离如所附权利要求书中所阐述的本发明的精神和范围的情况下,可对各元件的功能和排列做出各种改变。
在以下描述中给出了具体细节以提供对实施例的完整理解。然而,本领域普通技术人员将要理解的是,可无需这些具体细节来实施实施例。例如,为避免不必要的细节模糊实施例,可以框图来示出各电路。在其他情况下,可在没有不必要的细节的情况下来示出公知的电路、处理、算法、结构和技术,以免模糊实施例。
此外,需要注意的是,实施例可被描述为以流程图、流程示意图、数据流程示意图、结构图或框图示出的处理。尽管流程图可将多个操作描述为顺序处理,但是可以并行或同时执行许多操作。此外,操作的次序可以被重新排列。当其操作完成时,处理结束,但是该处理可能具有未包括在附图中的额外步骤。处理可对应于方法、函数、过程、子例程、子程序等。当处理对应于函数时,其结束对应于函数返回至调用函数或主函数。
此外,如本文所公开的,术语“存储介质”或“计算机可读存储介质”可表示用于存储数据的一种或多种装置,包括只读存储器(ROM)、随机存取存储器(RAM)、磁性RAM、Flash、非易失性核心存储器、磁盘存储介质、光存储介质、闪速存储装置和/或用于存储信息的其他机器可读介质。术语“计算机可读存储介质”包括但不限于便携式或固定存储装置、光存储装置、无线信道和能够存储、包含或运载指令和/或数据的各种其他介质。队列可通过存储介质中的一个区段或多个区段来实现。
此外,可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任意组合来实现实施例。当采用软件、固件、中间件或微码来实现时,执行必要任务的程序代码或代码片段可存储在诸如存储介质之类的机器可读介质中。处理单元可执行必要的任务。处理单元是CPU、ASIC半导体芯片、半导体芯片、逻辑单元、数字处理器、模拟处理器、FPGA或能够执行逻辑运算功能的任意处理器。代码片段可表示过程、功能、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或程序语句的任意组合。代码片段可通过传递和/或接收信息、数据、命令行参数(arguments)、参数或存储器内容来与另一代码片段或硬件电路耦接。信息、命令行参数、参数、数据等可被经由任意适当手段(包括存储器共享、信息传递、令牌传递、网络传输等)传递、转发。
网络装置能够外发属于聚合逻辑网络连接的封装数据包以及接收属于聚合逻辑网络连接的封装数据包。为了容易理解,当网络装置传送封装数据包时,该网络装置被定义为VPN发送端装置,而当网络装置接收属于聚合逻辑网络连接的封装数据包时,该网络装置被定义为VPN接收端装置。因此,网络装置103和105可以同时为VPN发送端装置和VPN接收端装置。
聚合逻辑网络连接
图1示出了可经由多个逻辑网络连接将两个网络连接到一起的网络环境。相同的网络环境还可被用来经由多个逻辑网络连接将三个或更多的网络连接。可在本发明中采用的第2层网络协议包括以太网、令牌环、帧中继、PPP、X.25和ATM。可在本发明中采用的第3层网络协议包括互联网协议(IP)版本4、IPv6、移动IPv4、移动IPv6等。
计算装置101a、101b和101c连接到交换机107并且处于同一网络中。计算装置102a、102b和102c连接到交换机106并且处于同一网络中。为了让计算装置101a、101b和101c感知到好似计算装置102a、102b和102c处于同一OSI第2层或第3层网络(包括同一以太网络或同一IP网络),必须在计算装置101a、101b、101c、102a、102b和102c之间建立虚拟专用网络(VPN)。网络装置103和网络装置105可以为路由器。网络装置103和网络装置105一同通过互联网104在交换机107和交换机106之间建立逻辑网络连接。交换机可以合并有路由器,从而形成能够将多个联网装置和/或计算装置连接的联网装置以及形成一个或多个VPN。例如,交换机107可合并有网络装置103。
当计算装置102a传送数据包至计算装置101a时,计算装置102a将该数据包传送至交换机106。然后,交换机106经由网络链接121c将该数据包传送至网络装置105。网络装置105将该数据包封装到一个或多个封装数据包中,之后利用多个逻辑网络连接中的一个将该一个或多个封装数据包通过互联网104传送至网络装置103。通过将多个逻辑网络连接进行聚合将网络连接来形成聚合逻辑网络连接。逻辑网络连接可使用面向连接的协议(诸如传输控制协议(TCP))、或无连接协议(诸如用户数据报协议(UDP))来传送封装数据包。用于部署逻辑网络连接的公知协议包括第2层隧道协议(L2TP)、安全外壳(SSH)协议、多协议标签交换(MPLS)和微软的点对点隧道协议(PPTP)。逻辑网络连接还被称为隧道。通过使用网络访问链接120a、120b和120c中的一个、网络访问链接121a、121b中的一个以及互联网104来建立网络装置103和网络装置105之间的逻辑网络连接。网络访问链接120a、120b和120c分别通过三个网络接口连接至网络装置103。类似地,网络访问链接121a和121b分别通过两个网络接口连接至网络装置105。网络访问链接是光纤、以太网、ATM、帧中继、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMax、高速分组接入、3GPP长期演化(LTE)等的形式。
在聚合逻辑网络连接中,可经由聚合逻辑网络连接的不同逻辑网络连接来传送和接收属于会话、表达或应用的数据包。从会话、表达或应用的角度看来,多个逻辑网络连接表现得像单个逻辑网络连接。聚合逻辑网络连接也被称作聚合隧道或结合VPN。
当网络装置103经由聚合逻辑网络连接中的逻辑网络连接而从网络装置105接收到一个或多个封装数据包时,网络装置103将该一个或多个封装数据包解封以提取数据包并且之后经由网络链接120d和交换机107将数据传回指定的计算装置,即,计算装置101a。
数据包格式
图3是根据本发明的一个实施例的属于封装数据包的图2的数据域203的格式和有效负荷的示例。封装数据包是封装了作为第二层数据包或第三层数据包的数据包的封装数据包。数据包被封装在数据域301中。全局序列号(GSEQ)域305、逻辑网络连接序列号(TSEQ)域304、优先级序列号(PSEQ)域303、其他选项域302和数据域301一起形成封装数据包的有效负荷,即数据域203。数据包的优先等级也存储在封装数据包中的有效负荷中,并且可由两位或更多位来表示。GSEQ、TSEQ、PSEQ和优先等级的排序无需遵循图3的实施例。其他排序是有效的,只要封装数据包的接收网络装置能够识别GSEQ、TSEQ、PSEQ和优先等级即可。根据本发明的一个实施例,优先等级的长度可由三位来表示,因此能够容纳多达八个不同的优先级。根据本发明的一个实施例,优先等级的长度可由一个八位字节来表示,因此可容纳多达256个不同的优先级。根据本发明的一个实施例,优先等级的长度可由十六位来表示,因此可以容纳多达65535个不同的优先级。
封装数据包的目的地地址可以是VPN接收端装置的IP地址。封装数据包的源地址是VPN发送端装置的IP地址中的一个。IPv4和IPv6的IP地址的格式分别遵照IETF RFC 791和IETF RFC 2460。封装数据包格式遵照IETF RFC 791中的IPv4描述、IETF RFC 2460中的IPv6描述以及其他IETF RFC文档。例如,在IPv4中,封装数据包的报头包含版本、IHL、服务类型、总长度、标识、标记、分段偏移、有效时间、协议和报头校验和。本领域技术人员将认识到如何在不同版本的封装数据包中布置GSEQ、TSEQ、PSEQ和其他选项。
GSEQ域305存储GSEQ,其用于指示由网络装置接收到的数据包的序列。在聚合逻辑网络连接的生命周期中GSEQ是唯一的,除非GSEQ大于GSEQ域305所能保持的数值,在这种情况下,GSEQ将从零重新开始。当VPN发送端装置将封装数据包传送至VPN接收端装置时,离开VPN发送端装置的封装数据包的序列可能不遵循GSEQ。通常,由VPN发送端装置先传送到VPN接收端装置的封装数据包比由VPN发送端装置后传送到VPN接收端装置的另一封装数据包具有较低的GSEQ,从而指示了离开VPN发送端装置的数据包的序列。然而,由于在逻辑网络连接处的排队延迟和/或优先级差异,先离开VPN发送端装置的第一封装数据包可能比后离开VPN发送端装置的第二封装数据包具有更高的GSEQ,即使第一封装数据包中所封装的数据包比第二封装数据包中所封装的数据包较晚地到达VPN发送端装置。
TSEQ域304保持TSEQ,其用于指示由VPN发送端装置经由逻辑网络连接传送而传送的数据包的序列。在逻辑网络连接的生命周期中TSEQ是唯一的,除非TSEQ大于TSEQ域304所能保持的值,在这种情况下,TSEQ将从零重新开始。当封装数据包可以传输时,封装数据包被放置在逻辑网络连接的队列处。根据本发明的一个实施例,根据TSEQ由VPN发送端装置顺序地传送逻辑网络连接队列中的封装数据包。逻辑网络连接队列的数量对应于逻辑网络连接的数量。例如,如果VPN中存在五个逻辑网络连接,则存在五个逻辑网络连接队列。VPN发送端装置信道中时,每个逻辑网络连接中的封装数据包的TSEQ应当是按次序的。
根据本发明的一个实施例,根据TSEQ和优先等级由VPN发送端装置顺序地传送逻辑网络连接队列中的封装数据包,因此离开VPN发送端装置的封装数据包的TSEQ可能不是按次序的。因此,在该实施例中,如果VPN中存在五个逻辑网络连接,则存在五个逻辑网络连接队列。每个逻辑网络连接中的封装数据包的TSEQ在离开每个相应信道时可能不是按次序的,这是因为可在逻辑网络连接中较早地传送具有高优先级数据包的封装数据包。
高优先级数据包应当早于低优先级数据包传送。本领域技术人员可使用不同技术来指示数据包的优先级。
PSEQ域303保持PSEQ,其用于指示具有相同优先级的数据包的序列。在聚合的多个逻辑网络连接的生命周期中每个优先等级的PSEQ是唯一的,除非PSEQ大于PSEQ域303所能保持的值,在这种情况下,PSEQ将从零重新开始。
PSEQ域303、TSEQ域304和GSEQ域305的长度不必相同,但是至少为八位长。使用的位的数量越多,PSEQ、TSEQ和GSEQ就能够越大。根据本发明的一个实施例,用于表示PSEQ、TSEQ和GSEQ的位的数量是32位,因此PSEQ域303、TSEQ域304和GSEQ域305的长度是32位长。
其他选项域302是可选的。在一个变形中,本发明的一个实施例中不存在其他选项域302。在本发明的一个实施例中,存在其他选项域302以存储能够帮助VPN发送端装置和/或VPN接收端装置处理封装数据包的信息。例如,其他选项域302可存储网络信息、延时信息、错误校正信息、认证信息、加密信息等。
对于IPv6数据包而言,在本发明的一个实施例中,GSEQ、TSEQ、PSEQ和其他选项被布置在扩展报头中并且被布置在IPv6报头之后。在本发明的一个实施例中,GSEQ、TSEQ、PSEQ和其他选项被布置在IPv6数据包的有效负荷中。
根据本发明的一个实施例,较小GSEQ的数据包应当早于较大GSEQ的数据包被VPN发送端装置接收到。在一个变形中,情况相反。因此,较小GSEQ的数据包晚于较大GSEQ的数据包被VPN发送端装置接收到。因为VPN发送端装置对于如何根据数据包到达的次序来设置GSEQ是一致的,并且VPN接收端装置知道该设置。这也适用于TSEQ、PSEQ和优先等级,只要VPN发送端装置使用一致方案来设置TSEQ、PSEQ和优先等级的值并且VPN接收端装置知道设置这些值的一致方式即可。本领域技术人员可用许多不同方案来设置GSEQ、TSEQ、PSEQ和优先等级。
传送数据包
图5(可结合图1和图4来看)是示出VPN发送端装置传送封装数据包的处理的流程图。
图4示出了根据本发明的一个实施例的网络装置105(其是本说明书中的VPN发送端装置)接收到的数据包、优先级队列401、402和403、逻辑网络连接421、431和432、网络访问链接420和430之间的关系。网络装置105经由网络装置105的第一网络接口从交换机106接收数据包。交换机106从计算装置102a、102b和102c中的一个接收数据包。这些数据包预期由网络装置105传送至网络装置103(其是本说明书中的VPN接收端装置)。网络访问链接420和430分别是本说明书中的网络访问链接121a和121b。
优先级队列401、402和403是属于不同优先级的三个队列。例如,如果存在三个优先级,则优先级队列401是最高优先级的队列,优先级队列402是中等优先级的队列,而优先级队列403是最低优先级的队列。例如,如果存在16个优先级,则存在16个优先级队列。优先级队列可以是阵列、链接列表、树状或其他类型的数据结构,其能够在计算机可读存储介质中实现。优先级队列能够保持数据,包括多个数据包或封装数据包。本领域技术人员应当认识到的是,存在许多公知技术来实现队列。例如,通过具有不同指标(indices)的单个队列、共同阵列、单个存储单元等来实现不同优先级队列。根据存储有数据包的优先级队列来给数据包分配PSEQ。
网络访问链接420具有建立在内部的一个逻辑网络连接421。网络访问链接430具有建立在内部的两个逻辑网络连接431和432。逻辑网络连接421、431和432聚合在一起以形成从计算装置角度看来的一个逻辑网络连接。例如,始于计算装置102a的每个以太网数据包可经由任一的逻辑网络连接421、431或432被计算装置101a接收到。另一示例,始于计算装置102c的属于TCP会话的每个封装数据包可经由逻辑网络连接421、431或432被计算装置101b接收到。因此,TCP会话的第一封装数据包可经由逻辑网络连接432被计算装置101b接收到,而同一TCP会话的第二封装数据包可经由逻辑网络连接421被计算装置101b接收到。
当网络装置105在步骤501从第一网络接口接收到数据包时,网络装置105在步骤502确定该数据包属于哪个优先等级。网络装置105可根据数据包的端口号、数据包的内容、数据包中的服务类型域、以及本领域技术人员公知的其他常用数据包检测技术来确定优先等级。在步骤503,网络装置105将数据包存储在与确定的优先等级相对应的优先级队列中。
当网络装置105在步骤510确定能够将数据包传送至网络装置103时,网络装置105在步骤511从优先级队列中的一个提取数据包,该数据包在优先级队列中具有最低的PSEQ。存在许多选择优先级队列的技术,包括首先选择最高优先级队列而最后选择最低优先级队列、选择具有被存储了最长时间的数据包的优先级队列、选择具有最大数量的数据包的优先级队列、根据方程选择优先级队列以及根据规则选择优先级队列。根据本发明的一个实施例,首先选择最高优先级队列中被存储了最久的数据包,并且如果在最高优先级队列中不存在数据包,则选择在下一最高优先级队列中被存储了最久的数据包。该数据包选择处理一直继续,直到选择了最低优先级队列为止。如果在最低优先级队列中仍然没有可用数据包,则没有从任何优先级队列中提取到数据包,因此没有封装数据包被传送到网络装置103。作为示例目的,网络装置105首先尝试从优先级队列401中提取最低PSEQ的数据包。如果在优先级队列401中不存在数据包,则网络装置105随后尝试从队列402中提取最低PSEQ的数据包。如果在优先级队列402中也不存在数据包,则网络装置105随后尝试从优先级队列403中提取最低PSEQ的数据包。该提取方式尝试让最高优先级的数据包被首先传送。选择优先级队列中最低PSEQ的数据包的原因是最低PSEQ指示在优先级队列中的所有数据包之中最早到达网络装置105的数据包。将认识到的是,如果PSEQ的排序未被用于指示数据包到达网络装置103的顺序,则可采用其他技术。
在步骤512,网络装置105做出决策以在逻辑网络连接421、431和432之中选择将用于传送数据包的逻辑网络连接。对将要使用的逻辑网络连接进行选择的决策取决于可由网络装置105的管理员配置的规则、网络装置105的制造商确定的规则、或两者的组合。
在步骤513,网络装置105根据在步骤513选择的逻辑网络连接来分配TSEQ。在步骤514,GSEQ、TSEQ、PSEQ、所确定的优先等级和所提取的数据包被组合到一起以形成封装数据包的数据有效负荷,其之后被经由逻辑网络连接421、431和432之中的一个逻辑网络连接被传送至网络装置103。在一个变形中,GSEQ、TSEQ、PSEQ、所确定的优先等级和所提取的数据包被封装在封装数据包中。
TSEQ由网络装置105来确定并且被存储在选定的逻辑网络连接队列中的封装数据包的TSEQ域。已经分配的GSEQ和PSEQ也分别被存储在封装数据包中的它们各自的域中,并且数据包被封装在数据域中。封装数据包的创建和格式根据上述关于图3的描述。
当由于网络错误或其他原因而导致封装数据包未经由最初选定的逻辑网络连接来传送时,使用同一逻辑网络连接或第二逻辑网络连接来重新传送该封装数据包。当使用同一逻辑网络连接来重新传送封装数据包时,TSEQ、PSEQ和GSEQ保持不变。当使用第二逻辑网络连接来重新传送封装数据包时,该封装数据包中的GSEQ和PSEQ保持不变,但是TSEQ是不同的,这是因为第二逻辑网络连接具有不同的TSEQ。因此,封装数据包在被通过第二逻辑网络连接传送之前被存储在第二逻辑网络连接的逻辑网络连接队列中。关于何时使用同一逻辑网络连接以及何时使用第二逻辑网络连接的决策取决于由网络装置105的网络管理员所配置的或由网络装置105的制造商提前定义的规则。本领域技术人员将认识到许多不同方式来配置或定义规则。当封装数据包被移动到另一逻辑网络连接队列时,该封装数据包的报头域(诸如目的地地址、源地址和校验和)将被更新从而反映该移动。本领域技术人员将理解的是,报头域必须被更新。这也适用于当逻辑网络连接不再工作并且存储在第一逻辑网络连接中的所有封装数据包都被移动到其他逻辑网络连接的逻辑网络连接队列时的情况。传送封装数据包的处理在步骤515处停止。
根据本发明的一个实施例,网络装置105在其具有充足的处理能力、数据包的预定存储时间达到、网络访问链接就绪、逻辑网络连接就绪、逻辑网络连接有足够的缓冲和/或本领域技术人员普遍知晓的使VPN发送端装置传送封装数据包的其他因素时,传送封装数据包。
根据本发明的一个实施例,在步骤514,在从优先级队列中提取数据包并通过网络装置105转发之前,分配GSEQ、PSEQ和TSEQ。根据本发明的一个实施例,当数据包被存储到优先级队列中时分配GSEQ;随后在从优先级队列中提取数据包之后且在创建相应的封装数据包之前分配PSEQ和TSEQ。根据本发明的一个实施例,当数据包被存储到优先级队列中时分配GSEQ和PSEQ并且在封装数据包被发送之前分配TSEQ。GSEQ、PSEQ和TSEQ的分配可在不同阶段实现。如何以及何时分配GSEQ、PSEQ和TSEQ的决策和网络装置105如何使用GSEQ、PSEQ和TSEQ对封装数据包进行分类相匹配。本领域技术人员知晓的是,当GSEQ、PSEQ、TSEQ和优先等级被存储和/或修改时,必须更新封装数据包的其他域,包括校验和。
根据本发明的一个实施例,网络装置105遵照规则来选择逻辑网络连接。规则包括针对最高优先等级数据包使用最低延时的逻辑网络连接、针对最高优先等级数据包使用最大传输速率的逻辑网络连接、针对最低优先等级数据包使用最低成本的逻辑网络连接、针对不属于最高优先等级的数据包在逻辑网络连接的传输速率和延时处于预定范围内时均匀地使用所有的逻辑网络连接、在优先等级加权分发的情况下将数据包分发至所有逻辑网络连接、以及只有当不存在等待发送的最高优先等级数据包时才允许非最高优先等级数据包使用最低延时逻辑网络连接。根据本发明的一个实施例,存在选择哪个逻辑网络连接将被使用的多个规则,并且每个规则被分配有规则优先等级,以解决规则间的冲突。
使用规则来选择哪个逻辑网络连接将被使用的目的包括减少延时、带宽的高效利用和降低成本。用于选择逻辑网络连接的规则包括使用延时、丢包、延迟、带宽、所允许的会话数量、价格、使用率的规则。例如,选择逻辑网络连接的规则是优选使用最低延时的逻辑网络连接。在另一示例中,选择逻辑网络连接的规则是基于每个逻辑网络连接的可用带宽。优选经由具有更多带宽的逻辑网络连接来传送封装数据包。在另一示例中,选择逻辑网络连接的规则是基于在每个逻辑网络连接中在一段时间内的丢包数量。优选经由更少丢包的逻辑网络连接来传送封装数据包。在另一示例中,选择逻辑网络连接的规则是基于在每个逻辑网络连接中经历的延迟。优选经由具有较少延迟的逻辑网络连接来传送封装数据包。在另一示例中,选择逻辑网络连接的规则是基于每个逻辑网络连接的使用率。优选经由更少被使用的逻辑网络连接来传送封装数据包。在另一示例中,选择逻辑网络连接的规则是基于通过每个逻辑网络连接进行的会话的数量。优选经由具有较少会话(诸如TCP会话)的逻辑网络连接来传送封装数据包。在另一示例中,选择逻辑网络连接的规则是基于在传输时传送封装数据包的价格。优选经由成本低的逻辑网络连接来传送封装数据包。
根据本发明的一个实施例,只对封装数据包的有效负荷进行加密。因此,只加密封装在封装数据包中的数据包,而不加密GSEQ、PSEQ、TSEQ和优先等级。额外地或替选地,对存储在封装数据包的其他选项域的优先等级、全局序列号和优先级序列号中的至少一个进行加密。
接收数据包
图6示出了根据本发明的一个实施例的由网络装置105传送的并且通过互联网或与网络装置105的一个网络接口相连接的互连网络被网络装置103接收到的封装数据包、队列610、以及网络访问链接601、602和603之间的关系。
网络访问链接601、602和603分别是本说明书中的网络访问链接120a、120b和120c。逻辑网络连接611、612和613分别建立在网络访问链接601、602和603中。作为示例目的,逻辑网络连接421和逻辑网络连接611是同一逻辑网络连接;逻辑网络连接431和逻辑网络连接612是同一逻辑网络连接;逻辑网络连接432和逻辑网络连接612是同一网络连接。因此,封装数据包可由网络装置105通过逻辑网络连接431(其也是逻辑网络连接612)传送,并由网络装置103接收。
队列610可以为阵列、链接列表、树状或其他类型的数据结构,其能够在计算机可读存储介质中实现。队列610保持多个单元。每个单元是一个存储单位。根据本发明的一个实施例,封装数据包的格式遵照上述图3的描述。
逻辑网络连接611、612和613聚合到一起以形成一个逻辑连接。例如,始于计算装置102a的每个以太网数据包可经由逻辑网络连接603、604和605被计算装置101a接收。在另一个示例中,始于计算装置102c的属于视频流会话的每个封装数据包可经由逻辑网络连接603、604和605被计算装置101b接收。因此,视频流的第一封装数据包可经由逻辑网络连接603被计算装置101b接收,而同一视频流的第二封装数据包可经由逻辑网络连接602被计算装置101b接收。
对于每个优先等级,存在一个预期的优先级序列号(E-PSEQ)。E-PSEQ用于保持针对接着到达的具有优先级的封装数据包所预期的PSEQ。例如,如果存在八个优先级,则存在八个E-PSEQ。
队列610中的单元用于存储封装数据包。队列610存在的原因是对封装数据包进行分类。存在预期的全局序列号(E-GSEQ)用于保持针对接着到达的封装数据包所预期的GSEQ。
图7(应当结合图1和图6来看)是示出诸如网络装置103的VPN接收端装置接收封装数据包的处理的流程图。
在网络装置103在步骤701通过聚合逻辑网络连接中的一个从网络装置103的网络接口中的一个接收到封装数据包之后,网络装置103在步骤702识别封装在封装数据包中的数据包的优先等级。在步骤703,网络装置103确定是否将封装数据包存储在队列610中。如果网络装置103确定存储封装数据包,则在步骤704将封装数据包存储在队列610中。如果网络装置103确定不存储封装数据包或者其准备好传送数据包,则在步骤705将封装数据包中的诸如IP数据包或以太网数据包之类的封装数据包解封以提取数据包并传送数据包。
根据本发明的一个实施例,在步骤702,将封装数据包解封以提取数据包,并且在步骤704被存储在队列610中的是数据包而不是封装数据包。因此,在步骤703,网络装置103确定是否将数据包存储在队列610中。此外,在步骤705,不再需要在传送数据包之前解封数据包。
根据本发明的一个实施例,网络装置103在步骤702还识别封装在封装数据包中的数据包的GSEQ、PSEQ和TSEQ。当GSEQ大于E-GSEQ时,在步骤704将封装数据包存储在队列610的一个单元中。
根据本发明的一个实施例,当GSEQ大于E-GSEQ但是PSEQ小于或等于PSEQ相应优先等级的E-PSEQ时,不将封装数据包存储在队列610中。替代地,在步骤703将占位符存储在队列610的一个单元中,并传送封装数据包。
根据本发明的一个实施例,存在两种方法来从队列610提取封装数据包以进行传输。第一种方法是根据在PSEQ和相应优先等级的E-PSEQ之间进行的比较来提取封装数据包。第一种方法在图8A中示出。第二种方法是根据在GSEQ和相应优先等级的E-GSEQ之间进行的比较来提取封装数据包。如果GSEQ大于E-GSEQ,则不提取封装数据包。如果GSEQ小于或等于E-GSEQ,则提取封装数据包。
图8A(应当结合图6和图7来看)是示出第一种方法的处理的流程图。在步骤801,网络装置103准备好从队列610提取封装数据包来进行传输。这在网络装置103具有充足处理能力、达到预定时间段、新封装数据包到达、数据包的接收端准备好接收数据包、有充足的队列来接收数据包和/或本领域技术人员普遍知晓的允许网络装置103从队列610的相应单元中提取封装数据包的其他因素时发生。
在步骤802,存储在队列610的封装数据包被检查已核对它们的PSEQ是否小于或等于它们的相应优先级的E-PSEQ。如果不存在PSEQ小于或等于其相应优先等级的E-PSEQ的封装数据包,则不从队列601提取封装数据包,并且处理在步骤803停止。另一方面,在步骤804,PSEQ小于或等于它们的相应优先等级的E-PSEQ的封装数据包被提取并且被传送。在步骤805,与一个或多个被提取和被传送的封装数据包的优先等级相对应的一个或多个E-PSEQ被更新,从而指示存在已经被提取和被传送的一个或多个封装数据包。在步骤806,一个或多个占位符被放置在队列中被提取的封装数据包原先放置的位置处。该步骤有利于第二种方法的操作。占位符的格式和内容可以是任意的,只要其具有所提取的封装数据包的相同GSEQ即可。占位符用于在第二种方法的操作期间指示封装数据包已经被提取。可以在步骤804和805之间、步骤805和806之间传送封装在所提取的封装数据包的数据域中的数据包。
通过单独使用第一种方法,根据优先等级的PSEQ的次序来传送封装数据包。因此,封装数据包以正确的优先等级的次序被传送。这允许不使用GSEQ而传送封装数据包。因此,可早于具有比E-GSEQ低的GSEQ的封装数据包来传送具有比E-GSEQ高的GSEQ的封装数据包。还可以不根据GSEQ次序来传送封装数据包。这样的好处是无需等待具有较低GSEQ的封装数据包来传送具有较高优先等级的封装数据包。因此,针对VPN接收端装置的到达VPN发送端装置的数据包的次序可不同于由VPN接收端装置所传送的封装了数据包的封装数据包的次序。
图8B是用于更新E-PSEQ的处理的本发明的一个实施例的说明。当VPN接收端装置接收到封装数据包时,其在步骤811识别封装数据包的PSEQ和优先等级。在步骤812,将封装数据包的PSEQ与所识别的优先等级的E-PSEQ进行比较。
例如,如果封装数据包的PSEQ和优先等级分别是10和3,则将PSEQ与优先等级为3的E-PSEQ进行比较。在另一示例中,如果封装数据包的PSEQ和优先等级分别是23和1,则将PSEQ与优先等级为1的E-PSEQ进行比较。
如果封装数据包的PSEQ小于所识别的优先等级的E-PSEQ,则无需更新E-PSEQ,这是因为VPN IP晚于预期地到达VPN接收端装置。如果封装数据包的PSEQ等于所识别的优先等级的E-PSEQ,则在步骤814通过将所识别的优先等级的E-PSEQ的值加1来更新所识别的优先等级的E-PSEQ,这是因为封装数据包如所预期地按顺序到达VPN接收端装置。如果封装数据包的PSEQ大于所识别的优先等级的E-PSEQ,则可能是封装数据包早于预期地到达或所识别的优先等级的E-PSEQ的预估不准确。如果存在一个或多个封装数据包无法按时到达VPN接收端装置,则对所识别的优先等级的E-PSEQ的预估不准确。在步骤813,当在预定时间段中存在其PSEQ大于所识别的优先等级的E-PSEQ的多个封装数据包、并且所述多个封装数据包的数量大于阈值时,这表示对所识别的优先等级的E-PSEQ的预估不准确,因此将所识别的优先等级的E-PSEQ更新为所识别的优先等级的最新封装数据包的最大PSEQ。在步骤814,所识别的优先等级的E-PSEQ被更新为存储在队列610中且属于所识别的优先等级的所有封装数据包之中的最大PSEQ。
针对在一时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值的值可由管理员、VPN接收端装置的制造商来设置或者由VPN接收端装置来预估。根据本发明的一个实施例,针对在预定时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值处于10个数据包到100个数据包的范围中。根据本发明的一个实施例,对于更高优先等级流量,针对在一时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值处于3个数据包到20个数据包的范围中。
预定时间段的值也可由管理员、VPN接收端装置的制造商来设置或者由VPN接收端装置来预估。根据本发明的一个实施例,预定时间段的范围在10毫秒至5秒之间。根据本发明的一个实施例,针对更高优先等级流量的预定时间段的范围在5毫秒至100毫秒之间。
图8C是用于更新E-PSEQ的处理的本发明的一个实施例的说明。图8C中所示步骤类似于图8B中的步骤。图8B和图8C之间的主要区别在于图8B的处理通过封装数据包到达VPN接收端装置而触发,而图8C的处理通过对已存储在队列610中的封装数据包进行周期性检查而触发。周期性检查的频率可由管理员或VPN接收端装置的制造商来设置并且可以针对不同优先等级的流量而不同或相同。
在步骤821,识别与优先等级相对应且已存储在队列610中的封装数据包的PSEQ。类似于步骤813,在步骤822,当在一时间段中其PSEQ大于优先等级的E-PSEQ的多个封装数据包的数量大于阈值时,这表示对所识别的优先等级的E-PSEQ的预估不准确,因此将所识别的优先等级的E-PSEQ更新为所识别的优先等级的最新封装数据包的最大PSEQ。在步骤823,优先等级的E-PSEQ被更新为存储在队列610中的且属于优先等级的所有封装数据包的PSEQ之中的最大PSEQ。
同样类似于步骤813,在步骤822,针对在一时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值的值可由管理员、VPN接收端装置的制造商来设置或者由VPN接收端装置来预估。根据本发明的一个实施例,针对在一时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值处于10个数据包到100个数据包的范围中。根据本发明的一个实施例,对于较高优先等级流量,针对在一时间段中其PSEQ大于所识别的优先等级的E-PSEQ的封装数据包的数量的阈值处于3个数据包到20个数据包的范围中。
在步骤814或步骤823将优先等级的E-PSEQ更新之后,可再次执行图8A所示的处理以提取和传送其PSEQ小于或等于优先等级的更新后的E-PSEQ的封装数据包。
图9(也应当结合图6和图8来看)是示出第二种方法的处理的流程图。步骤901与步骤801相同。在步骤902,存储在队列610的单元的封装数据包被检查已确定它们的GSEQ是否小于或等于E-GSEQ。如果没有GSEQ小于或等于E-GSEQ的封装数据包,则不从队列601提取和传送封装数据包,并且处理在步骤907停止。另一方面,如果存在GSEQ小于或等于E-GSEQ的一个或多个封装数据包,则进行步骤903。在步骤903,封装数据包的内容被检查已确定封装数据包是否是在步骤806所放置的占位符。如果如占位符的存在所指示的封装数据包被传输了,则不传送该占位符,这是因为相应的封装数据包已经在步骤804被提取和被传送。如果封装数据包不是占位符并且仍然处于队列610的相应单元中,则在步骤904传送该封装数据包。在步骤905,将用于保持封装数据包或占位符的队列610的单元释放以允许队列610的该单元用于其他目的,包括存储另一封装数据包或另一占位符。在步骤906,将E-GSEQ更新以反映应当被传送的下一封装数据包的预期GSEQ。在步骤907,处理停止。
通过单独使用第二种方法,根据GSEQ的次序来传送封装数据包。因此,封装数据包被以正确次序传送。如果存在无法到达VPN接收端装置的封装数据包(迟的封装数据包),则VPN接收端装置无法一直等待迟的封装数据包的到达或迟的封装数据包的重新传输,这是因为迟的封装数据包有可能永远无法到达。因此,如果存在在一时间段中到达VPN接收端装置的其GSEQ高于E-GSEQ的多个封装数据包,则E-GSEQ被更新以反映迟的封装数据包的到达的几率。如果该时间段太短,则封装数据包被无恰当排序地传送。如果预定时间段太长,则封装数据包被传送之前将经历不必要的延迟。
当传送封装数据包时,封装在数据域中的数据包(诸如IP数据包和以太网数据包)首先被解封并随后被传送到与VPN接收端装置的网络接口连接的主机或者被VPN接收端装置进一步地处理。例如,数据包是这样的封装数据包,该封装数据包具有属于与VPN接收端装置的第一网络接口连接的网络装置中的一个的目的地地址。在另一示例中,封装在封装数据包中的数据包是广播以太网数据包,与VPN接收端装置的所有接口连接的所有网络装置和计算装置将接收到该广播以太网数据包。
根据本发明的一个实施例,封装在封装数据包中的数据包连同其相应的GSEQ、TSEQ、PSEQ和优先级在步骤704被提取。因此,存储在队列610中的不是封装数据包;作为替代,是数据包,其最初封装在队列610中所存储的封装数据包中。因此,在步骤801、804、901、902和903,存储、处理、提取或传送的是数据包。GSEQ、TSEQ、PSEQ和优先等级可与数据包一起存储在队列610的相应单元中或者可以与数据包分离但链接地存储。本领域技术人员将认识到各种技术来将存储在队列610中的封装数据包与其相应的存储在计算机可读存储介质的同一部分或不同部分的GSEQ、TSEQ、PSEQ和优先等级相链接。
存在许多技术来识别队列610中的元素是占位符还是封装数据包。根据本发明的一个实施例,队列中每个单元中的一位用于指示队列610中的单元保持了占位符还是封装数据包。根据本发明的一个实施例,单独的存储单元被用于存储关于队列610中的单元是保持了占位符还是封装数据包的信息。根据本发明的一个实施例,如果单元保持了预定模式的位或字节,则该单元保持了占位符。本领域技术人员将认识到各种技术来识别队列610中的元素是占位符还是封装数据包。
根据本发明的一个实施例,图8中示出的第一种方法通过VPN接收端装置中的一个线程来执行而图9中示出的第二种方法通过VPN接收端装置中的另一个线程来执行。根据本发明的一个实施例,图8中示出的第一种方法和图9中示出的第二中方法通过同一线程来执行。根据本发明的一个实施例,图8中示出的第一种方法通过VPN接收端装置中的一个处理来执行而图9中示出的第二种方法通过VPN接收端装置中的另一个处理来执行。根据本发明的一个实施例,图8中示出的第一种方法和图9中示出的第二种方法通过同一处理来执行。
根据本发明的一个实施例,图8中示出的第一种方法的执行与图9中示出的第二种方法的执行是按顺序的。根据本发明的一个实施例,图8中示出的第一种方法的执行与图9中示出的第二种方法的执行无需按顺序。
根据本发明的一个实施例,如果封装数据包的任意部分被加密,则将该加密部分解密以提取数据包。
VPN发送端装置
将参照图1、图4和图10来描述VPN发送端装置的实施例。在图1中,网络装置103和105都可用作VPN发送端装置。由于在反向数据流的情况下VPN发送端装置可承担VPN发送端装置的功能,因此以下描述同样适用网络装置103和105;所述网络装置103和105还可为相同设计。
所示的VPN发送端装置1001被以硬件路由器的形式来实现。其包括壳体,该壳体中布置有带处理单元1002和计算机可读存储介质1003的电路板1004。根据本发明的上述方法以软件形式在电路板1004上实现。电路板1004与壳体中的通信模块1005连接。通信模块1005可针对相同或不同网络访问链接(诸如网络访问链接121a、121b和121c)来设计。例如,针对以太网访问链接可设计一个通信模块1005,而针对LTE网络访问链接可设计另一个通信模块1005以及针对WLAN网络访问链接可设计又一个通信模块。通信模块1005可以是电路板1004的一部分、可以通过总线架构(诸如PCI和USB)与电路板1004连接、可以插入到电路板1004中或者可以通过通信端口与电路板连接。
计算机可读存储介质1003能够存储、包含、运载处理单元1002要执行的指令和/或处理单元1002要使用的数据。
通信模块1005包括适当的连接器装置1006,该连接器装置例如为插座连接器、LAN插座连接器、PCI总线连接器、USB连接器、雷电(Thunderbolt)连接器或以太网连接器的形式,用于与相关联的网络访问链接进行连接。
根据本发明的一个实施例,将要经由网络访问链接中的一个中的逻辑网络连接中的一个被传送到计算装置101a、101b或101c中的一个的数据包经由LAN插座连接器1006和通信模块1005通过网络访问链接121c到达网络装置105(在本实施例中用作VPN发送端装置),然后被传送到电路板1004。电路板1004确定该数据包属于哪个优先等级。电路板1004根据数据包的端口号、数据包的内容、数据包中的服务类型域和/或本领域技术人员公知的其他常用数据包检测技术来确定优先等级。然后,电路板1004将数据包存储在计算机可读存储介质1003处与所确定的优先等级相对应的优先级队列(诸如401、402和403)中。根据本发明的一个实施例,此时,电路板1004确定数据包的GSEQ、TSEQ、PSEQ和优先等级。在一个变形中,电路板1004不在此时确定TSEQ,而是当数据包将要被传送时才确定TSEQ。
通过网络装置105的电路板1004在网络访问链接121a和121b中建立多个逻辑网络连接来与网络装置103(在本实施例中用作VPN接收端装置)连接。
当电路板1004确定能够将数据包传送至网络装置103时,电路板1004从计算机可读存储介质1003处的多个优先级队列中的一个中提取具有优先级队列中最低PSEQ的数据包。根据本发明的一个实施例,电路板1004首先尝试从优先级队列401中提取最低PSEQ的数据包。如果在优先级队列401中没有数据包,则网络装置105随后尝试从优先级队列402中提取最低PSEQ的数据包。如果在优先级队列402中也没有数据包,则电路板1004随后尝试从优先级队列403中提取最低PSEQ的数据包。
电路板1004选择网络访问链接中的逻辑网络连接来传送接收到的数据包。选择网络访问链接中的哪个逻辑网络连接来使用的决策取决于存储在计算机可读存储介质1003中的可由网络装置105的管理员配置的规则、网络装置105的制造商确定的规则、或两者的组合。
电路板1004根据选定的逻辑网络连接来分配TSEQ。GSEQ、TSEQ、PSEQ、所确定的优先等级以及所提取的数据包被电路板1004组合到一起,从而形成封装数据包的数据有效负荷,其随后被经由网络访问链接中的一个中的逻辑网络连接中的一个以及相应的通信模块1005传送到网络装置103。在一个变形中,电路板1004将GSEQ、TSEQ、PSEQ、所确定的优先等级以及所提取的数据包封装到封装数据包中。
电路板1004基于存储在计算机可读存储介质1003处的、可由网络装置103的管理员配置的规则或由网络装置103的制造商确定的规则来决定哪个逻辑网络连接(诸如逻辑网络连接421、431和432)应当被用于传送封装数据包。
根据本发明的一个实施例,在电路板1004具有足够处理能力、达到预定时间段、网络访问链接就绪、逻辑网络连接就绪、逻辑网络连接有足够的缓冲和/或本领域技术人员普遍知晓的允许电路板1004传送封装数据包的其他因素时,电路板1004准备好传送封装数据包。
根据本发明的一个实施例,通过电路板1004只加密封装数据包的有效负荷。额外地或替选地,通过电路板1004加密存储在封装数据包的选项域处的优先等级、全局序列号和优先级序列号中的至少一个。电路板1004利用处理单元1002来进行加密和解密。在一个变形中,存在单独的加密解密处理单元来进行加密和解密,从而降低处理单元1002的负荷。
VPN接收端装置
VPN接收端装置的设计可与VPN发送端装置的相同。因此,图10中示出的实施例也适用VPN接收端装置。当结合图1和图6来看时,图10示出了本发明的VPN接收端装置的一个实施例。
所示VPN接收端装置以硬件路由器的形式来实现。其包括壳体,该壳体中布置有带有处理单元1002和计算机可读存储介质1003的电路板1004。根据本发明的上述方法以软件形式在电路板1004上实现。电路板1004与壳体8中的通信模块1005连接。通信模块1005可针对相同或不同网络访问链接(诸如网络访问链接120a、120b、120c和120d)来设计。例如,针对以太网访问链接可设计一个通信模块1005,而针对LTE网络访问链接可设计另一个通信模块1005以及针对WLAN网络访问链接可设计又一个通信模块。通信模块1005可以是电路板1004的一部分、可以通过总线架构(诸如PCI和USB)与电路板1004连接、可以插入到电路板1004中或者可以通过通信端口与电路板连接。
计算机可读存储介质1003能够存储、包含、运载处理单元1002要执行的指令和/或处理单元1002要使用的数据。
通信模块1005包括适当的连接器装置,该连接器装置例如为插座连接器、LAN插座连接器、PCI总线连接器、USB连接器、雷电连接器或以太网连接器的形式,用于与相关联的网络访问链接进行连接。
根据本发明的一个实施例,通过网络装置103(在本实施例中用作VPN接收端装置)的电路板1004在网络访问链接120a、120b和120c中建立多个逻辑网络连接来与网络装置105(在本实施例中用作VPN发送端装置)连接。
当封装数据包经由网络访问链接中的一个中的逻辑网络连接中的一个和插座连接器1006到达网络装置103时,将该封装数据包经由通信模块1005传送至电路板1004以进行处理。
电路板1004通过检查封装数据包的其他选项域来识别封装数据包的GSEQ、PSEQ、TSEQ和优先等级。处理单元1002随后确定是否将该封装数据包存储到计算机可读存储介质1003中的队列610的一个单元中。如果处理单元1002确定不存储该封装数据包,则通过处理单元1002提取封装在封装数据包中的数据包(诸如IP数据包或以太网数据包)并对其进行传送。
处理单元1002更新E-GSEQ和E-PSEQ并将E-GSEQ和E-PSEQ存储到计算机可读存储介质1003。处理单元1002还将封装数据包的GSEQ和PSEQ与E-GSEQ和E-PSEQ进行比较,以确定是否将该封装数据包存储在队列610中以及是否从队列610中提取封装数据包以进行传输。计算机可读存储介质1003存储队列610。
当GSEQ大于E-GSEQ但是PSEQ小于或等于相应优先等级的E-PSEQ时,不在队列610中存储封装数据包。作为替代,处理单元1002将占位符存储在队列610的一个单元中,并经由通信模块1005和插座连接器1006将封装数据包传送至接收主机。
根据本发明的一个实施例,如果封装数据包的任意部分被加密,则通过处理单元1002或电路板1004上的解密电路对加密部分进行解密,从而提取原始数据包。
针对处理单元1002存在许多技术来识别队列610中的元素是占位符还是封装数据包。根据本发明的一个实施例,队列610中的每个单元中的一位用于指示队列610中的单元是否保持了占位符。根据本发明的一个实施例,在计算机可读存储介质1003中的单独存储单元被用于存储关于队列610中的单元是否保持了占位符的信息。根据本发明的一个实施例,如果单元保持了预定模式的位或字节,则处理单元1002确定该单元保持了占位符。本领域技术人员将认识到用指令来指示处理单元如何识别队列610中的元素是否是占位符的各种技术。
根据本发明的上述方法以软件形式实现在电路板1004上用于VPN接收端装置。
电路板1004上实现的方法还可直接在电路板处或PC、服务器、云服务器等的软件层实现。如果是软件层,则根据本发明的方法实现为PC、服务器、云服务器等上的软件层。
附图说明
为了更加完整地理解本发明,结合附图来参考以下描述,在附图中:
图1是示出在典型的网络环境中根据本发明的一个实施例的经由多个逻辑网络连接来使用网络装置的网络图;
图2是示出根据常用IPv4的数据包格式的一个示例的示图;
图3是示出在典型的网络环境中根据本发明的一个实施例的封装数据包的选项域和数据域的示图;
图4是示出根据本发明的一个实施例的在VPN发送端装置处的优先级队列、逻辑网络连接和网络访问链接之间的关系的示图;
图5A是示出根据本发明的一个实施例的确定优先等级的步骤的流程图;
图5B是示出根据本发明的一个实施例的传送封装数据包的步骤的流程图;
图6是示出根据本发明的一个实施例的在VPN接收端装置处的多个逻辑网络连接、网络访问链接和队列之间的关系的示图;
图7是示出根据本发明的一个实施例的接收封装数据包的步骤的流程图;
图8A是示出根据本发明的一个实施例的从队列中提取封装数据包的步骤的流程图;
图8B是示出根据本发明的一个实施例的用于更新E-PSEQ的处理的步骤的流程图;
图8C是示出根据本发明的一个实施例的用于更新E-PSEQ的另一处理的步骤的流程图;
图9是示出根据本发明的一个实施例的用于传送数据包的处理的步骤的流程图;和
图10是根据本发明的一个实施例的网络装置。

Claims (35)

1.一种用于在接收数据包之后经由多个逻辑网络连接来传送封装数据包的网络装置,包括:
计算机可读存储中介质,其中该计算机可读存储介质存储指令集和多个优先级队列;
多个网络接口,其中从该多个网络接口中的至少一个接收数据包;以及
处理单元,其中该处理单元执行所述指令集以进行:
经由所述多个网络接口中的一个接收数据包;
确定该数据包的全局序列号;
确定该数据包的优先等级;
根据所确定的优先等级将该数据包存储在所述多个优先级队列中的一个中;
确定与该数据包的所确定的优先等级相对应的优先级序列号,其中所述优先级序列号基于所述数据包的到达顺序;并且
其中所述网络装置经由所述多个网络接口与多个逻辑网络连接相连接。
2.根据权利要求1所述的网络装置,其中所述处理单元进一步执行所述指令集以进行:
当所述网络装置能够传送第一数据包时,从所述多个优先级队列中的一个中提取所述第一数据包;
选择所述多个逻辑网络连接中的一个用于进行传输;
确定逻辑网络序列号;
将所述第一数据包、所确定的优先等级、所确定的全局序列号、所确定的优先级序列号和所确定的逻辑网络序列号封装在至少一个封装数据包中;以及
经由选定的逻辑网络并经由所述多个网络接口中的一个传送所述至少一个封装数据包。
3.根据权利要求1所述的网络装置,其中所述数据包的优先等级由该数据包的内容来确定。
4.根据权利要求1所述的网络装置,其中所述数据包的优先等级由该数据包的端口号来确定。
5.根据权利要求2所述的网络装置,其中当所述封装数据包经由另一逻辑网络连接来重新传送时,所确定的优先级序列号和所确定的优先等级保持不变。
6.根据权利要求2所述的网络装置,其中根据规则来选择用于进行传送的所述逻辑网络连接。
7.根据权利要求6所述的网络装置,其中所述规则从由延时规则、带宽规则、价格规则、延迟规则、丢包规则、使用率规则、允许的会话数量规则所组成的规则组中选择。
8.根据权利要求2所述的网络装置,其中所述第一数据包的提取基于优先级序列号以及是否存在其他优先级队列中的其他数据包。
9.根据权利要求2所述的网络装置,其中所述至少一个封装数据包的优先等级、全局序列号、优先级序列号、逻辑网络连接序列号和数据包中的至少一个被加密。
10.一种在经由多个逻辑网络连接接收封装数据包之后传送数据包的网络装置,包括:
存储介质,其中该存储介质存储指令集和队列;
多个网络接口,其中经由该多个网络接口中的至少一个从传送主机接收封装数据包;以及
处理单元,其中该处理单元执行所述指令集以进行:
从所述封装数据包中的至少一个中解封数据包;
识别该数据包的优先等级;
确定是存储还是传送该数据包;
其中所述确定是存储还是传送该数据包基于所述优先等级;
其中所述网络装置经由所述多个网络接口中的至少一个与多个逻辑网络连接相连接;
其中当确定存储该数据包时,在队列中存储该数据包或所述封装数据包;并且
其中当确定传送该数据包时,该数据包经由所述多个网络接口中的一个传送到主机。
11.根据权利要求10所述的网络装置,其中所述处理单元进一步执行所述指令集以进行:
识别所述数据包的全局序列号,其中所述全局序列号指示所述传送主机接收或传送所述数据包的顺序;
识别所述数据包的优先级序列号,其中所述优先级序列号指示相应优先级的所述传送主机接收或传送所述数据包的顺序;并且
其中所述确定是存储还是传送所述数据包还基于所述全局序列号和所述优先级序列号。
12.根据权利要求11所述的网络装置,其中当所传送的数据包的优先级序列号指示所传送的数据包早于相应优先级的至少一个排队数据包被所述传送主机接收或传送时,在所述队列中存储所述数据包的占位符;并且其中所述占位符将不被传送。
13.根据权利要求11的网络装置,其中所述处理单元进一步执行所述指令集以对预期的全局序列号进行预估,其中所述预期的全局序列号指示将要到达的数据包的预期的全局序列号;并且
当所传送的数据包的全局序列号指示所传送的数据包早于所述预期的全局序列号所指示的被所述传送主机接收或传送时,在所述队列中存储所述数据包的占位符;其中所述占位符将不被传送。
14.根据权利要求11所述的网络装置,
其中所述处理单元进一步执行所述指令集以对预期的优先级序列号进行预估,其中所述预期的优先级序列号指示将要到达的数据包的预期的优先级序列号;并且
当所传送的数据包的优先级序列号指示所传送的数据包早于所述预期的优先级序列号所指示的被所述传送主机接收或传送时,在所述队列中存储所述数据包的占位符;其中所述占位符将不被传送。
15.根据权利要求11所述的网络装置,其中所述处理单元进一步执行所述指令集以进行:
预估预期的全局序列号,其中所述预期的全局序列号指示将要到达的数据包的预期的全局序列号;
预估预期的优先级序列号,其中所述预期的优先级序列号指示将要到达的数据包的预期的优先级序列号;并且
其中所述确定是存储还是传送所述数据包进一步基于所述预期的全局序列号和所述预期的优先级序列号。
16.根据权利要求15所述的网络装置,其中所述处理单元进一步执行所述指令集以在所述数据包被传送之后对所述预期的全局序列号和所述预期的优先级序列号进行更新。
17.根据权利要求11所述的网络装置,其中所述处理单元进一步执行所述指令集以对所识别的优先等级、所识别的全局序列号、所识别的优先等级序列号中的至少一个进行解密。
18.一种通过节点经由多个逻辑网络连接来传送封装数据包的方法,包括:
经由所述节点的多个网络接口中的一个接收数据包;
确定该数据包的全局序列号;
确定该数据包的优先等级;
根据所确定的优先等级将该数据包存储在多个优先级队列中的一个中;
确定与所确定的数据包的优先等级相对应的优先级序列号,其中所述优先级序列号基于数据包的到达顺序;并且
当所述节点能够传送至少一个封装数据包时:
从所述多个优先级队列中的一个提取第一数据包;
选择所述多个逻辑网络连接中的一个用于进行传输;
确定逻辑网络序列号;
将所述第一数据包、所确定的优先等级、所确定的全局序列号、所确定的优先级序列号和所确定的逻辑网络序列号封装在至少一个封装数据包中;以及
经由选定的逻辑网络连接并且经由所述节点的多个网络接口中的一个来传送所述至少一个封装数据包。
19.根据权利要求18所述的方法,其中所述数据包的优先等级是由该数据包的端口号来确定的。
20.根据权利要求18所述的方法,其中当所述至少一个封装数据包经由另一逻辑网络连接被重新传送时,所确定的优先级序列号和所确定的优先等级保持不变。
21.根据权利要求18所述的方法,其中根据规则来选择用于进行传送的所述逻辑网络连接。
22.根据权利要求21所述的方法,其中所述规则从由延时规则、带宽规则、价格规则、延迟规则、丢包规则、使用率规则、允许的会话数量规则所组成的规则组中选择。
23.根据权利要求18所述的方法,其中所述第一数据包的提取基于优先级序列号以及是否存在其他优先级队列中的其他数据包。
24.根据权利要求18所述的方法,其中优先等级、全局序列号、优先级序列号、逻辑网络连接序列号和数据包中的至少一个被加密。
25.一种在经由多个逻辑网络连接从传送主机接收封装数据包之后通过节点传送数据包的方法,包括:
接收至少一个封装数据包;
从所述至少一个封装数据包中解封数据包;
识别该数据包的优先等级;
确定是存储还是传送该数据包;
其中所述确定是存储还是传送该数据包基于所述优先等级;
其中所述节点经由多个网络接口中的至少一个与多个逻辑网络连接相连接;
其中当确定存储所述数据包时,在队列中存储所述数据包或所述至少一个封装数据包;并且
其中当确定传送所述数据包时,经由所述多个网络接口中的一个将该数据包传送至主机。
26.根据权利要求25所述的方法,进一步包括:
识别所述数据包的全局序列号,其中所述全局序列号指示所述传送主机接收或传送所述数据包的顺序;
识别所述数据包的优先级序列号,其中所述优先级序列号指示相应优先级的所述传送主机接收或传送所述数据包的顺序;并且
其中所述确定存储还是传送所述数据包或所述至少一个封装数据包还基于所述全局序列号和所述优先级序列号。
27.根据权利要求26所述的方法,其中当所述数据包的全局序列号指示该数据包早于至少一个排队数据包被所述传送主机接收或传送时,在所述队列中存储该数据包的占位符;其中所述占位符将不被传送。
28.根据权利要求26所述的方法,进一步包括:
预估预期的全局序列号,其中所述预期的全局序列号指示将要到达的数据包的预期的全局序列号;并且
当所述数据包的全局序列号指示该数据包早于所述预期的全局序列号所指示的被所述传送主机接收或传送时,在所述队列中存储所述数据包的占位符;其中所述占位符将不被传送。
29.根据权利要求26所述的方法,进一步包括:
预估预期的优先级序列号,其中所述预期的优先级序列号指示将要到达的数据包的预期的优先级序列号;并且
当所述数据包的优先级序列号指示该数据包早于所述预期的优先级序列号所指示的被所述传送主机接收或传送时,在所述队列中存储所述数据包的占位符;其中所述占位符将不被传送。
30.根据权利要求26所述的方法,进一步包括:
预估预期的全局序列号,其中所述预期的全局序列号指示将要到达的数据包的预期的全局序列号;
预估预期的优先级序列号,其中所述预期的优先级序列号指示将要到达的数据包的预期的优先级序列号;并且
其中所述确定存储还是传送该数据包还基于所述预期的全局序列号和所述预期的优先级序列号。
31.根据权利要求30所述的方法,进一步包括在所述数据包被传送之后对所述预期的全局序列号和所述预期的优先级序列号进行更新。
32.根据权利要求26所述的方法,进一步包括:将所识别的优先等级、所识别的全局序列号和所识别的优先级序列号中的至少一个进行解密。
33.一种用于经由多个逻辑网络连接在第一网络装置和第二网络装置之间传输网络数据包的系统,包括:
第一网络装置,其用于:
经由多个网络接口中的一个接收数据包;
确定该数据包的全局序列号;
确定该数据包的优先等级;
当所述第一网络装置未准备好传送该数据包时,将该数据包存储;
将该数据包封装在至少一个封装数据包中;
根据全局序列号和优先等级经由所述多个逻辑网络连接将所述至少一个封装数据包传送至第二网络装置;
以及第二网络装置,其用于:
接收至少一个封装数据包;
从所述至少一个封装数据包中解封所述数据包;
识别所述优先等级;
识别所述全局序列号;
当所述第二网络装置未准备好传送该数据包时,将该数据包存储;
根据所述全局序列号和所述优先等级传送所述数据包;并且
其中所述多个逻辑网络连接经由所述第一网络装置的至少一个网络接口和所述第二网络装置的至少一个网络接口与所述第一网络装置和所述第二网络装置相连接。
34.根据权利要求33所述的系统,其中所确定的优先等级、所确定的全局序列号、所确定的优先级序列号和所确定的逻辑网络序列号被封装在所述至少一个封装数据包中。
35.根据权利要求33所述的系统,其中所述多个逻辑网络连接由互联网协议数据包承载。
CN201280076668.3A 2012-10-25 2012-10-25 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统 Active CN104956637B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2012/055862 WO2014064486A1 (en) 2012-10-25 2012-10-25 A method, device and system to prioritize encapsulating packets in a plurality of logical network connections

Publications (2)

Publication Number Publication Date
CN104956637A true CN104956637A (zh) 2015-09-30
CN104956637B CN104956637B (zh) 2018-04-24

Family

ID=50544092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280076668.3A Active CN104956637B (zh) 2012-10-25 2012-10-25 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统

Country Status (4)

Country Link
US (1) US9369398B2 (zh)
CN (1) CN104956637B (zh)
GB (1) GB2514060B (zh)
WO (1) WO2014064486A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176865A1 (zh) * 2017-03-27 2018-10-04 海信集团有限公司 数据传输方法、装置及计算机可读存储介质
CN109983737A (zh) * 2014-07-14 2019-07-05 柏思科技有限公司 用于评估聚合的连接的网络性能的方法和系统
CN111147198A (zh) * 2020-01-02 2020-05-12 中科驭数(北京)科技有限公司 数据重传方法和装置
CN111163058A (zh) * 2019-12-09 2020-05-15 京信通信系统(中国)有限公司 Dpdk数据加密处理方法、装置和网络设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531565B2 (en) * 2013-12-20 2016-12-27 Pismo Labs Technology Limited Methods and systems for transmitting and receiving packets
WO2016007053A1 (en) * 2014-07-08 2016-01-14 Telefonaktiebolaget L M Ericsson (Publ) Communication nodes, methods therein, computer programs and a computer-readable storage medium
US10805219B2 (en) * 2014-07-14 2020-10-13 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
RU2017115683A (ru) * 2014-10-10 2018-11-12 Телефонактиеболагет Лм Эрикссон (Пабл) Широковещательная передача в ячеистых сетях
EP3207741B1 (en) * 2014-10-16 2020-07-22 Intel Corporation Method and apparatus for using user equipment as small evolved nodeb for small cell
CN107005461B (zh) * 2014-12-08 2020-08-14 华为技术有限公司 一种数据传输方法及设备
US20170302522A1 (en) * 2016-04-14 2017-10-19 Ford Global Technologies, Llc Method and apparatus for dynamic vehicle communication response
US10764781B2 (en) 2016-05-03 2020-09-01 Qualcomm Incorporated Systems and methods for reordering data received from a plurality of radio access technologies (RATs)
US10044628B2 (en) * 2016-06-13 2018-08-07 Pismo Labs Technology Limited Methods and systems for receiving and transmitting packets based on priority levels
CN107612764B (zh) * 2016-07-12 2022-11-01 中兴通讯股份有限公司 一种传输网管数据采集装置和方法
US10511992B2 (en) 2016-12-19 2019-12-17 Qualcomm Incorporated Prioritizing packets in wireless communications
GB2575228B (en) * 2017-03-20 2022-07-06 Pismo Labs Technology Ltd Methods and systems for evaluating network performance of an aggregated connection
CN110301116B (zh) * 2017-11-27 2021-09-28 柏思科技有限公司 通过绑定连接传送和接收数据分组的方法和系统
CN110808917B (zh) * 2019-10-22 2023-04-18 北京红云融通技术有限公司 多链路聚合数据重传方法及发送设备
US11394650B2 (en) * 2020-04-14 2022-07-19 Charter Communications Operating, Llc Modificationless packet prioritization for frame generation
US11283722B2 (en) 2020-04-14 2022-03-22 Charter Communications Operating, Llc Packet prioritization for frame generation
US11290380B2 (en) * 2020-07-30 2022-03-29 S.C Correct Networks S.R.L. Method for transferring information across a data center network
US11968115B2 (en) 2021-10-31 2024-04-23 Avago Technologies International Sales Pte. Limited Method for verifying data center network performance

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020085578A1 (en) * 2000-12-15 2002-07-04 Dell Martin S. Three-stage switch fabric with buffered crossbar devices
US20020150078A1 (en) * 2000-07-07 2002-10-17 Daiji Ido Data transmitter, data receiver, and data transmitting/receiving method
CN1969509A (zh) * 2004-07-08 2007-05-23 思科技术公司 用于集中分组处理的网络设备体系结构
CN101018191A (zh) * 2006-02-08 2007-08-15 华为技术有限公司 多队列分组数据传输方法及其系统
US20080008181A1 (en) * 2006-07-06 2008-01-10 Alaxala Networks Corporation Packet transferring node
CN101163248A (zh) * 2007-11-19 2008-04-16 华为技术有限公司 一种码流调度方法、装置和系统
CN101252536A (zh) * 2008-03-31 2008-08-27 清华大学 路由器多队列数据包缓存管理与输出队列调度系统
CN101291546A (zh) * 2008-06-11 2008-10-22 清华大学 核心路由器交换结构协处理器
CN101478476A (zh) * 2008-12-08 2009-07-08 华为技术有限公司 一种分组微波数据的传输处理方法、装置及系统
WO2011064112A1 (en) * 2009-11-25 2011-06-03 St-Ericsson (France) Sas Data packet priority level management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702742B2 (en) * 2005-01-18 2010-04-20 Fortinet, Inc. Mechanism for enabling memory transactions to be conducted across a lossy network
US20070219816A1 (en) * 2005-10-14 2007-09-20 Leviathan Entertainment, Llc System and Method of Prioritizing Items in a Queue
US8625427B1 (en) * 2009-09-03 2014-01-07 Brocade Communications Systems, Inc. Multi-path switching with edge-to-edge flow control

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020150078A1 (en) * 2000-07-07 2002-10-17 Daiji Ido Data transmitter, data receiver, and data transmitting/receiving method
CN1383656A (zh) * 2000-07-07 2002-12-04 松下电器产业株式会社 数据发送装置、数据接收装置及数据发送接收方法
US20020085578A1 (en) * 2000-12-15 2002-07-04 Dell Martin S. Three-stage switch fabric with buffered crossbar devices
CN1969509A (zh) * 2004-07-08 2007-05-23 思科技术公司 用于集中分组处理的网络设备体系结构
CN101018191A (zh) * 2006-02-08 2007-08-15 华为技术有限公司 多队列分组数据传输方法及其系统
US20080008181A1 (en) * 2006-07-06 2008-01-10 Alaxala Networks Corporation Packet transferring node
CN101163248A (zh) * 2007-11-19 2008-04-16 华为技术有限公司 一种码流调度方法、装置和系统
CN101252536A (zh) * 2008-03-31 2008-08-27 清华大学 路由器多队列数据包缓存管理与输出队列调度系统
CN101291546A (zh) * 2008-06-11 2008-10-22 清华大学 核心路由器交换结构协处理器
CN101478476A (zh) * 2008-12-08 2009-07-08 华为技术有限公司 一种分组微波数据的传输处理方法、装置及系统
WO2011064112A1 (en) * 2009-11-25 2011-06-03 St-Ericsson (France) Sas Data packet priority level management

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109983737A (zh) * 2014-07-14 2019-07-05 柏思科技有限公司 用于评估聚合的连接的网络性能的方法和系统
CN109983737B (zh) * 2014-07-14 2022-01-21 柏思科技有限公司 用于评估聚合的连接的网络性能的方法和系统
WO2018176865A1 (zh) * 2017-03-27 2018-10-04 海信集团有限公司 数据传输方法、装置及计算机可读存储介质
CN111163058A (zh) * 2019-12-09 2020-05-15 京信通信系统(中国)有限公司 Dpdk数据加密处理方法、装置和网络设备
CN111163058B (zh) * 2019-12-09 2021-11-02 京信网络系统股份有限公司 Dpdk数据加密处理方法、装置和网络设备
CN111147198A (zh) * 2020-01-02 2020-05-12 中科驭数(北京)科技有限公司 数据重传方法和装置
CN111147198B (zh) * 2020-01-02 2021-05-25 中科驭数(北京)科技有限公司 数据重传方法和装置

Also Published As

Publication number Publication date
US20140226663A1 (en) 2014-08-14
GB2514060A (en) 2014-11-12
GB201415039D0 (en) 2014-10-08
CN104956637B (zh) 2018-04-24
WO2014064486A1 (en) 2014-05-01
US9369398B2 (en) 2016-06-14
GB2514060B (en) 2020-12-16

Similar Documents

Publication Publication Date Title
CN104956637A (zh) 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统
US10333779B2 (en) System and method for providing a software defined protocol stack
US10044628B2 (en) Methods and systems for receiving and transmitting packets based on priority levels
KR101893963B1 (ko) 소프트웨어 정의 프로토콜 네트워크 노드를 위한 시스템 및 방법
US20140341027A1 (en) Generating and enforcing a holistic quality of service policy in a network
KR100716184B1 (ko) 네트워크 프로세서에서의 큐 관리 방법 및 그 장치
US20140181319A1 (en) Communication traffic processing architectures and methods
US20230216767A1 (en) Technologies for out-of-order network packet management and selective data flow splitting
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
US8976813B2 (en) Secure quality of service
CN103959724A (zh) 在混合通信网络中提供路径信息
US9125089B2 (en) Method and apparatus for packet aggregation in a network controller
EP2048831A1 (en) Method and systems for QoS-aware flow control in communication networks, corresponding network and computer program product
US9635148B2 (en) Partitioning data sets for transmission on multiple physical links
CN101317398B (zh) 用于无线网络中的数据通信的系统和方法
KR20130099201A (ko) 다채널 패킷 송신을 위한 시스템 및 방법
WO2017045501A1 (zh) 一种报文调度方法和装置、存储介质
Budhdev et al. FSA: Fronthaul slicing architecture for 5G using dataplane programmable switches
EP3968577A1 (en) A data traffic control device, a residential router, an operator network device and a telecommunication system
CN117278360B (zh) 基于虚拟专用网络的网络通信方法、装置以及存储介质
US20240007895A1 (en) Communication control device, communication control method and recording medium
CN111953598B (zh) 一种分布式流量转发方法、装置及系统
GB2465595A (en) Flow control for a gateway

Legal Events

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