通过网络接口传输包的方法和系统的制作方法

文档序号:9830152阅读:263来源:国知局
通过网络接口传输包的方法和系统的制作方法
【技术领域】
[0001] 本发明总体上涉及计算机网络的领域。更确切地说,本发明涉及在包括多个网络 接口的第一通信路由器处传输数据包的方法和系统。基于是否符合某些条件,通过一个或 多个网络接口传输数据包。
【背景技术】
[0002] 多广域网(WAN)站点到站点VPN路由器是用以支持集中多个互连(例如,用于访问 一个或多个远程专用网络的WAN连接)的带宽的路由器。在一些实施方案中,每个TCP/IP会 话仅路由到一个WAN。在此配置中,单个TCP文件传送会话仅能够利用每个终端上的一个WAN 连接的带宽。例如,在基于站点到站点虚拟专用网络(VPN)连接的会话中,VPN流量被路由到 两个站点(例如,站点A和B)之间的多个WAN连接。
[0003] 在一个实施方案中,在WAN连接之间初始地形成MXN个隧道,其中M和N分别是站点 A和站点B的WAN网络连接的数目。随后经由不同的隧道路由应用程序TCP/IP会话。然而,应 注意,虽然基于站点到站点VPN的会话能够针对不同的会话利用不同的隧道,但是此类型的 连接中的单个下载会话仅能够利用一个隧道。
[0004] 为了提高单数据传送会话的吞吐量,已经创建路由模式以尝试针对单个TCP/IP会 话利用多个WAN连接。在一些情况下,实施信道绑定。例如,在多WAN路由器上的绑定的站点 到站点VPN连接中,来自单个TCP/IP会话的数据被分布到多个隧道。在这些布置中,根据MX N个隧道的相应上行或下行带宽来利用所述隧道,并且经由这些隧道发送的单个会话中的 数据的量与隧道的各个带宽比成比例地分布。然而,这些解决方案仍未能考虑到一些隧道 因一个或多个条件而不应用于传输数据。此外,这些解决方案也未考虑到一些网络接口未 能符合一个或多个条件,并且因此那些网络接口不应用于传输数据。

【发明内容】

[0005] 因此,本发明提供通过将已建立的端到端连接分类成第一组已建立端到端连接和 至少一组非第一组已建立端到端连接来选择已建立的端到端连接的装置、系统和方法,其 中第一组已建立端到端连接符合所有的一个或多个条件,并且其中至少一组非第一组已建 立端到端连接不符合所有的一个或多个条件。通过使用多个条件,本发明的实施例能够选 择已经符合条件的已建立的端到端连接来传输数据包,而不使用不符合要求的已建立的端 到端连接来传输数据包。
[0006] 根据本发明的一个实施例,当符合第一条件时,通信装置通过第一网络接口传输 数据包,并且当符合第二条件时,通信装置通过第二网络接口传输数据包。根据本发明的一 个实施例,当通过第一网络接口建立连接时符合第一条件。第二网络接口于是用作备份网 络接口,当第一网络接口未能符合第一条件时,通信装置将使用第二网络接口。为了允许快 速使用第二网络接口,通过经由所述网络接口周期性地传输包来维持第二网络接口的作用 状态。
[0007] 根据本发明的一个实施例,当满足第三条件时,通过第二网络接口纠错包、管理包 和/或数据包。这允许利用第二网络接口来提高整体网络吞吐量。根据本发明的一个实施 例,如果在第一网络接口处在预定义时间周期内检测到预定义数目的丢包,则符合第三条 件。
[0008] 根据本发明的一个实施例,如果符合第四条件,则通信装置停止通过第二网络接 口传输数据包,并开始通过第一网络接口传输数据包。第四条件基于在预定义时间周期内 在第二网络接口处丢包的预定义数目的。
【具体实施方式】
[0009] 以下说明仅提供优选示例性实施例和示例性实施例,且不意图限制本发明的范 围、适用性或配置。实际上,优选示例性实施例和示例性实施例的以下说明将为所属领域的 技术人员提供实施本发明的优选示例性实施例的有效说明。应理解,在不脱离如在所附权 利要求书中阐述的本发明的精神和范围的情况下可以制得元件的功能和布置的各种变化。
[0010] 同样,应注意,实施例可以描述为过程,过程描绘为流程图、流程图表、数据流图、 结构图或方块图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时 执行。另外,操作的顺序可以重新布置。当操作完成时,过程终止,但是过程可以具有不包含 在图中的另外步骤。过程可以与方法、函数、步骤、子例程、子程序等相对应。当过程与函数 相对应时,其终止与所述函数返回到调用函数或主函数相对应。
[0011] 此外,如本文所揭示,术语"从存储装置"和"主存储器"可以表示用于存储数据的 一个或多个装置,包含只读存储器(R0M)、随机存取存储器(RAM)、磁性RAM、磁心存储器、磁 盘存储媒体、光学存储媒体、快闪存储器装置和/或用于存储信息的其它机器可读媒体。术 语"机器可读媒体"包含但不限于便携式或固定存储装置、光学存储装置、无线信道以及能 够存储、含有或承载指令和/或数据的各种其它媒体。机器可读媒体可以通过虚拟化来实 现,且可以是虚拟机器可读媒体,包含在基于云的实例中的虚拟机器可读媒体。
[0012]此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任意组合 来实施。当以软件、固件、中间件或微码实施时,执行必要任务的程序代码或代码段可以存 储在例如存储媒体等机器可读媒体中。处理单元可以执行必要任务。处理单元可以是CPU、 ASIC半导体芯片、半导体芯片、逻辑单元、数字处理器、模拟处理器、FPGA或能够执行逻辑和 算术函数的任何处理器。代码段可以表示步骤、函数、子程序、程序、例程、子例程、模块、软 件包、类别,或指令、数据结构或程序语句的任何组合。一个代码段可以通过传递和/或接收 信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、 数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、 转发或传输。处理单元可以通过虚拟化来实现,且可以是虚拟处理单元,包含在基于云的实 例中的虚拟处理单元。
[0013]端到端连接可以使用面向连接的协议(例如,传输控制协议(TCP))或无连接协议 (例如,用户数据报协议(UDP))来传输数据包。用于部署端到端连接的众所周知的协议包含 第二层隧道协议(L2TP)、安全外壳(SSH)协议、多协议标签交换(MPLS)以及微软的点对点隧 道协议(PPTP)。连接到网络接口的连接呈光纤、以太网、ATM、帧中继、TI/E1. IPv4、IPv6、无 线技术、Wi-Fi、WiMax、高速包接入技术、3GPP长期演进(LTE)等形式。
[0014] 网络接口可以是虚拟网络接口,包含在基于云的实例中的虚拟网络接口。
[0015] 图IA示出了根据本发明的多个实施例中的一个的网络环境。通信路由器106与通 信路由器108建立集中的端到端连接10 3。集中的端到端连接10 3包括多个已建立的端到端 连接。多个已建立的端到端连接被分成多个组。为了更好地说明,组103A表示第一组已建立 的端到端连接,组103B表示第二组已建立的端到端连接,并且组103C表示不属于第一组已 建立端到端连接或第二组已建立端到端连接的所有其它已建立端到端连接。本文后续细节 中将更详细地论述将已建立端到端连接分成组1〇3Α、103Β或103C。替代地,多个已建立端到 端连接被分成多个组。
[0016] 根据多个实施例中的一个,通信路由器106和108具有一个或多个网络接口。通信 路由器106经由其一个或多个网络接口与通信路由器108的一个或多个网络接口建立多个 所述的已建立端到端连接。
[0017] 在多个实施例中的一个中,在已建立端到端连接被分成组103A、103B和103C之后, 通过通信路由器106,根据通信路由器106的用户、制造商或管理员设置的条件,经由不同组 的已建立端到端连接传输数据包。
[0018] 在多个实施例中的一个中,在已建立端到端连接被分成组103A、103B和/或103C之 后,通过通信路由器106,根据通信路由器106的用户、制造商或管理员设置的条件以及包的 类型,经由不同组的已建立端到端连接传输不同类型的包。
[0019] 集中的端到端连接
[0020] 将多个已建立端到端连接集中、组合或绑定在一起以形成一个集中的端到端连 接,例如集中的端到端连接103。所属领域的技术人员将了解,存在种种方式来集中、组合或 绑定多个已建立端到端连接以形成一个集中的端到端连接。集中的端到端连接被使用其的 会话或应用程序视为一个端到端连接。集中的端到端连接可以被视为隧道、虚拟专用网络 或连接模式或面向连接的无连接模式。例如,集中的端到端连接103是TCP连接。在另一实例 中,集中的端到端连接103是UDP连接。在另一实例中,集中的端到端连接是多个隧道的集 中,并且每个隧道在通信路由器106与通信路由器108之间链接。在另一实例中,集中的端到 端连接103是VPN隧道,包括多个已建立端到端连接,并且每个已建立端到端连接在通信路 由器106与通信路由器108之间链接。
[0021] 通常,通信路由器106将源自发射主机的数据包封装到至少一个数据包中。为便于 阅读,源自发射主机的数据包被称为原始数据包。发射主机可以通过电缆、无线连接、近场 连接传输或通过其它网络装置连接到通信路由器106。当通信路由器108接收已经封装了原 始数据包的数据包时,通信路由器108将原始数据包从所述数据包解封装并且接着将原始 数据包转发到接收主机或节点。
[0022] 存在种种方式来将原始数据包封装到由通过通信路由器106发送的数据包中。确 切地说,通信路由器106可以使用已知的二层和/或三层隧道协议(例如,第二层隧道协议 (L2TP)和通用路由封装(GRE)协议)在其逻辑端点之间隧道传送原始数据包。在此情况下, 一个或多个隧道报头前置于数据包以沿着虚电路恰当地传送所述数据包。多协议标签交换 (MPLS)协议可以用作隧道机制,以用于通过IP网络建立二层虚电路或三层的基于网络的 VPN0
[0023]通信路由器106可以使用TCP、UDP或其它通信协议作为已建立端到端连接的通信 协议。在使用集中的端到端连接时所面临的最大的挑战之一是将在已建立端到端连接之中 接收到的数据包重新排序,因为接收到的数据包可能无序地到达通信路由器108。如果通信 路由器108将接收到的数据包太早传递到接收主机,那么接收主机可能将那些尚未接收到 的数据包视为丢失数据包,即使那些数据包最终会到达。克服此挑战的一种方法是当通信 路由器106向通信路由器108传输数据包时,通信路由器106为每个数据包分配一个序列号。 通信路由器108接着能够根据所述序列号将数据包重新排序。
[0024] 在通信路由器106与通信路由器108之间可以存在一个或多个集中的端到端连接。 每个集中的端到端连接具有其自身的已建立端到端连接。例如,第一个集中的端到端连接 可具有十个已建立端到端连接,而第二个集中的端到端连接可具有五个已建立端到端连 接。第一个集中的端到端连接和第二个集中的端到端连接不能使用相同的已建立端到端连 接。
[0025] 图5是根据本发明的多个实施例中的一个的通信路由器(例如,通信路由器106)的 示意性方块图。通信路由器106包括处理单元502、主存储器503、系统总线504、从存储装置 505以及多个网络接口 506。处理单元502和主存储器503彼此直接连接。系统总线504将处理 单元502直接或间接连接到从存储装置505和多个网络接口 506。使用系统总线504可允许通 信路由器106具有较高的模块性。系统总线504将处理单元502耦合到从存储装置505和多个 网络接口 506。系统总线504可以是多种类型总线结构中的任一个,包含存储器总线、外围总 线以及使用多种总线架构中的任一个的本地总线。从存储装置505存储由处理单元502执行 的程序指令。从存储装置505进一步存储条件,其中将已建立端到端连接分成不同组取决于 已建立端到端连接是否符合条件。
[0026] 图4是示出了根据多个实施例中的一个的如何将已建立端到端连接分成组的树形 图。已建立端到端连接400表示在两个网络节点(例如,通信路由器106和108)之间的所有已 建立端到端连接。符合将在第一组中的条件的已建立端到端连接被分到第一组已建立端到 端连接410中。不符合将被分到第一组已建立端到端连接410的条件的已建立端到端连接被 分到非第一组已建立端到端连接420。在一个变型中,非第一组已建立端到端连接420进一 步被分成第二组已建立端到端连接421和非第一 /第二组已建立端到端连接422。不符合将 被分到第二组已建立端到端连接421的条件的已建立端到端连接被分到非第一 /第二组已 建立端到端连接422。在一个变型中,不将非第一组已建立端到端连接进一步分成第二组已 建立端到端连接421和非第一 /第二组已建立端到端连接422。因此省略第二组已建立端到 端连接421。
[0027]为了将已建立端到端连接分成不同组,通信路由器确定已建立端到端连接是否符 合某些条件。根据多个实施例中的一个,进行分类以便通过属于某一组的已建立端到端连 接传输某些类型的包,并且使用其它组中的已建立端到端连接传输其它类型的包。根据多 个实施例中的一个,一旦完成分类,就对组进行分级,使得使用具有最高等级的一组已建立 端到端连接来传输具有最高优先级的数据包。
[0028]在本发明的多个实施例中的一个中,当在第一组已建立端到端连接中存在多个已 建立端到端连接时,使用负载均衡技术或任何其它允许在多个已建立端到端连接之中分布 并传输数据包的技术,在第一组的多个已建立端到端连接之中分布数据包并通过所述多个 已建立端到端连接传输数据包。所属领域的技术人员应了解,存在许多技术来使用多个已 建立端到端连接传输数据包。也可以应用相同技术在其它组已建立端到端连接中分布数据 包。
[0029] 图IB示出了根据实施例调适的系统100,其配置成通过调节在数据传送会话期间 的隧道带宽加权模式来优化绑定的多个可变带宽连接的吞吐量。系统100包含多个站点102 和104,每个站点包括至少一个通信路由器106和108。通信路由器106和108可以实施作为多 WAN路由器,其支持集中多个因特网连接的带宽。通信路由器106和108经由网络110连接。网 络110可以包括局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网、公共交换电话网(PSTN)、 因特网、企业内部网、外联网等。
[0030] 站点102和路由器106可以包括M个连接112,且站点104和路由器108可以包括N个 连接114。连接112和114是用于在站点102与104之间的网络110内传送信息的数据连接。在 所图示的实施例中,M等于3且N等于2;然而,这些值可以根据所需的路由器和配置改变。连 接112和114可以具有类似的或不同的带宽容量。此外,连接112和114可以包括不同类型的 WAN连接,例如WiFi、电缆、DSL、TI、3G、4G、卫星连接等。还应注意,站点102和站点104可以被 认为是发送器或接收器两者,并且关于任一站点的功能性的论述可以在另一站点上实施。 换句话说,系统100可以实施为对称网络。
[0031] 图2A展示了系统100的操作的高阶流程图,其描绘了用于提高绑定的连接的吞吐 量的方法200。应了解,图2A中提供的具体功能、功能的顺序等意图是根据本发明的概念的 示例性操作。因此,本文中的概念可以用与所图示的实施例的方式不同的方式来实施。 [0032]在所图示的实施例的方块2
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1