首页> 中国专利> 用于及时检测网络内路径最大传输单元增大的装置、系统和方法

用于及时检测网络内路径最大传输单元增大的装置、系统和方法

摘要

本申请的各实施例涉及用于及时检测网络内路径最大传输单元增大的装置、系统和方法。公开的装置可以包括:(1)至少一个通信端口,该通信端口经由网络内的路径有助于源计算设备与目的地计算设备之间的通信;以及(2)处理单元,该处理单元通信地耦合到通信端口,其中处理单元:(A)针对可能影响路径的最大传输单元的路径的任何变化来监视网络,(B)在监视网络的同时,检测路径中包括的至少一个跳的变化,并且然后响应于检测到跳的变化,(C)标识与路径的最大传输单元对应的分组尺寸,以及(D)通过传输尺寸比与该最大传输单元对应的分组尺寸更大的分组来针对该最大传输单元的增大对路径进行测试。各种其他装置、系统和方法也被公开。

著录项

  • 公开/公告号CN107070733A

    专利类型发明专利

  • 公开/公告日2017-08-18

    原文格式PDF

  • 申请/专利权人 瞻博网络公司;

    申请/专利号CN201610466439.2

  • 发明设计人 R·托马斯;V·雷姆施;S·P·尼南;

    申请日2016-06-23

  • 分类号

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 03:07:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-11

    授权

    授权

  • 2017-09-12

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20160623

    实质审查的生效

  • 2017-08-18

    公开

    公开

说明书

技术领域

本申请的各实施例涉及用于及时检测网络内路径最大传输单元增大的装置、系统和方法。

背景技术

网络内的路径的最大传输单元可以随着时间过去而改变。在这一上下文中,最大传输单元可以表示和/或指代能够经由网络内的路径从源被传输到目的地的最大分组的尺寸。例如,路径可以有助于网络内的源与目的地之间的通信。在这一示例中,路径可以包括和/或涉及一系列的跳。在源传输尺寸比路径中包括的跳的最大传输单元更大的分组的情况下,该跳可以丢弃分组并且发送回指示该分组过大的错误消息(有时被称作“分组过大消息”)。

在检测路径的最大传输单元的增大的传统方法中,源可以定期传输尺寸比路径的先前确定的最大传输单元更大的分组。例如,源可以每隔10分钟左右传输更大分组以试图确定路径的最大传输单元近来是否已经增加。在源未接收到作为响应的“分组过大”消息的情况下,源可以确定路由器的最大传输单元已经增加。作为结果,源可以开始使用更大分组通过路径传输数据。

遗憾的是,因为该传统方法涉及基于周期性的测试,因此源可能无法在最大传输单元的增大发生的时间或接近该时间时检测到最大传输单元的增大。例如,源可能做不到在发生之后的将近10分钟内检测到路径的最大传输单元的增大。本公开内容因而标识并解决了对用于及时检测网络内的路径的最大传输单元的增大的改进的装置、系统和方法的需要。

发明内容

如在下面更详细地描述的,本公开内容总体上涉及用于及时检测网络内的路径的最大传输单元的增大的装置、系统和方法。在一个示例中,一种用于完成这样的任务的装置可以包括(1)至少一个通信端口,该通信端口经由网络内的路径有助于源计算设备与目的地计算设备之间的通信;以及(2)处理单元,该处理单元通信地耦合到通信端口,其中处理单元:(A)针对可能影响路径的最大传输单元的路径的任何变化来监视网络,(B)在监视网络的同时,检测路径中包括的至少一个跳的变化,并且然后响应于检测到跳的变化,(C)标识与路径的最大传输单元对应的分组尺寸,以及(D)通过传输尺寸比与该最大传输单元对应的分组尺寸更大的分组来针对该最大传输单元的增大对路径进行测试。

一种对应的方法可以包括:(1)针对可能影响路径的最大传输单元的任何变化来监视网络,该路径有助于网络内的源计算设备与目的地计算设备之间的通信;(2)在监视网络的同时,检测路径中包括的至少一个跳的变化,并且然后响应于检测到跳的变化,(3)标识与路径的最大传输单元对应的分组尺寸;以及(4)通过传输尺寸比与路径的最大传输单元对应的分组尺寸更大的分组来针对路径的最大传输单元的增大对路径进行测试。

类似地,一种并入了上述装置的网络设备可以包括:(1)至少一个通信端口,该通信端口经由网络内的路径有助于网络设备与目的地计算设备之间的通信;以及(2)处理单元,该处理单元通信地耦合到通信端口,其中处理单元:(A)在周期性基础上通过使用有助于跟踪路径的路由跟踪工具针对可能影响路径的最大传输单元的路径的任何变化来监视网络;(B)在使用路由跟踪工具监视网络的同时,检测路径中包括的至少一个跳的变化,并且然后响应于检测到跳的变化,(C)标识与路径的最大传输单元对应的分组尺寸;以及(D)通过传输尺寸比与路径的最大传输单元对应的分组尺寸更大的分组来针对路径的最大传输单元的增大对路径进行测试。

来自上面提到的实施例中的任何实施例的特征根据在这里描述的一般原则可以相互结合被使用。这些以及其他的实施例、特征和优点在结合附图和权利要求阅读以下具体实施方式之后将得到更充分的理解。

附图说明

附图图示了若干示例性实施例并且是本说明书的一部分。与以下描述一起,这些附图展示并说明了本公开内容的各种原理。

图1是用于及时检测网络内的路径的最大传输单元的增大的示例性装置的框图。

图2是用于及时检测网络内的路径的最大传输单元的增大的装置的示例性实现方式的框图。

图3是用于及时检测网络内的路径的最大传输单元的增大的装置的附加示例性实现方式的框图。

图4是用于及时检测网络内的路径的最大传输单元的增大的装置的附加示例性实现方式的框图。

图5是标识网络内的路径中包括的每个跳的示例性记录的图示。

图6是用于及时检测网络内的路径的最大传输单元的增大的示例性方法的流程图。

图7是能够实施在这里描述和/或例示的实施例中的一个或多个和/或能够结合在这里描述和/或例示的实施例中的一个或多个而被使用的示例性计算系统的框图。

贯穿附图,相同的标号和描述指示相似但是不一定相同的要素。尽管在这里描述的示例性实施例易受各种修改和备选形式影响,但是在附图中已经通过示例方式示出并且将在这里详细描述特定实施例。然而,在这里描述的示例性实施例并非旨在限制于所公开的具体形式。相反,本公开内容涵盖落入所附权利要求的范围内的所有修改、等价物和备选物。

具体实施方式

本公开内容描述了用于及时检测网络内的路径的最大传输单元的增大的各种装置、系统和方法。如将在下面更详细地说明的,本公开内容的实施例可以使得网络设备能够以比传统方式更及时的方式检测路径的最大传输单元的增大。例如,这些实施例可以使得网络设备能够在路径经历拓扑变化的时间点检测路径的最大传输单元的增大而非必须等待下一轮询周期。作为结果,这些实施例可以使得网络设备能够实现更有效的带宽利用。

这里所使用的术语“路径”一般指代有助于网络内的源与目的地之间的通信和/或流量流动的任何类型或形式的链路和/或一系列设备。在一个示例中,路径可以包括和/或表示网络内的将分组从源计算设备携带到目的地计算设备(反之亦然)的一系列跳。

这里所使用的术语“最大传输单元”一般指代能够由计算设备和/或通过路径传输而没有破碎的最大分组尺寸。在一个示例中,网际协议第4版(IPv4)网络内的路径的最大传输单元的范围可以在68字节和64千字节之间。相似地,网际协议第6版(IPv6)网络内的路径的最大传输单元的范围可以在1280字节和64千字节之间。备选地,IPv6网络内的路径的最大传输单元以巨型传输包选项的方式可以达到4千兆字节。

最大传输单元经常被称作和/或缩写成“MTU”,并且路径的最大传输单元经常被称作路径MTU和/或缩写成“PMTU”。此外,确定网络内的路径的PMTU的过程经常被称作PMTU发现和/或缩写成“PMTUD”。

以下将参考图1提供有助于及时检测网络内的路径的最大传输单元的增大的装置的示例。对应于图2、图3和图4的讨论将提供对来自图1的装置的示例性实现方式的详细描述。对应于图5的讨论将提供对示例性记录的详细描述,该示例性记录标识网络内的路径中包括的每个跳。对应于图6的讨论将提供对用于及时检测网络内的路径的最大传输单元的增大的示例性方法的详细描述。最后,对应于图7的讨论将提供可以并入来自图1的装置的系统的许多示例。

图1示出了用于及时检测网络内的路径的最大传输单元的增大的示例性装置100的框图。装置100一般表示有助于及时检测网络内的路径的最大传输单元的增大的任何类型或形式的系统、设备和/或机构。装置100的示例包括但不限于计算设备、网络设备、路由器、交换机、集线器、调制解调器、网桥、中继器、网关、多路复用器、网络适配器、服务器、其中的一个或多个的各部分、其中的一个或多个的变体或组合或者任何其他合适的装置。

如在图1中示出的,装置100可以包括可以访问通信端口102通信端口102和/或与通信端口102通信的处理单元106。这里所使用的术语“处理单元”一般指代执行某些输入/输出(I/O)操作和/或计算任务的任何类型或形式的物理硬件、电路、设备和/或处理器。在一个示例中,处理单元106可以包括和/或表示如下集成电路,该集成电路的配置和/或基础设施是至少部分固定的。附加地或者备选地,处理单元106可以表示如下集成电路,该集成电路的配置和/或基础设施是至少部分可变和/或可编程的。处理单元106的示例包括但不限于处理器、微处理器、中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、安装其中的一个或多个的软件模块、其中的一个或多个的各部分、其中的一个或多个的变更或组合或者任何其他合适的处理单元。

这里所使用的术语“通信端口”一般指代形成网络内的连接、链路和/或路径的至少一部分的任何类型或形式的物理接口、设备和/或外壳。在一些示例中,通信端口102可以通过网络内的路径的方式使源计算设备与目的地计算设备连接和/或链接。附加地或者备选地,通信端口102可以经由网络内的路径来有助于源计算设备与目的地计算设备之间的通信。通信端口102的示例包括但不限于四通道小型可拔插(QSFP)端口、以太网端口、光纤通道端口、光学端口、无限带宽端口、CXP连接器、多光纤推入/拉下(MPO)连接器、XAUI端口、XFP收发器、XFI接口、C型可拔插(CFP)收发器、其中的一个或多个的变体或组合或者任何其他合适的通信端口。尽管图1图示了单个通信端口,但是装置100可以包括除通信端口102之外的各种通信端口。

在一些示例中,装置100可以通过针对有可能影响那些路径的最大传输单元的某些事件监视网络来实现对网络内的路径的最大传输单元的增大的及时检测。例如,最大传输单元的增大可以响应于网络的拓扑的变化而发生。因此,装置100可以通过针对拓扑的任何变化监视网络来实现对网络内的路径的最大传输单元的增大的及时检测。

通过以这种方式监视网络,与简单假定这样的增加周期性的轮询周期并且等待确定任何“分组过大”消息是否作为结果而被发出相比,装置100可以能够至少部分地基于事件驱动的触发器来检测路径的最大传输单元的增大。很可能影响路径的最大传输单元的变化的示例包括但不限于向路径添加网络设备、从路径移除网络设备、用其他网络设备替换路径中包括的网络设备、重新配置路径中包括的网络设备、其中的一个或多个的变体或组合或者网络的拓扑的任何其他合适的变化。

在一些示例中,处理单元106可被通信地耦合到通信端口102。在这样的示例中,处理单元106可以针对经由路径使装置100与目的地计算设备通信地链接和/或连接的路径的任何变化来监视包括装置100的网络。路径的这些变化可以潜在地影响路径的最大传输单元。在以这种方式监视网络的同时,处理单元106可以检测路径中包括的跳的变化。

作为具体示例,这一变化可以包括和/或表示向路径添加跳。在另一示例中,这一变化可以包括和/或表示从路径移除跳。在另一示例中,这一变化可以包括和/或表示用另一跳来替换路径中包括的跳。在附加示例中,这一变化可以包括和/或表示对路径中包括的跳的重新配置。

这里所使用的术语“跳”一般指代能够转发网络流量和/或有助于网络流量的流动的任何类型或形式的计算设备。跳的示例包括但不限于计算设备、网络设备、路由器、交换机、集线器、调制解调器、网桥、中继器、网关、多路复用器、网络适配器、服务器、其中的一个或多个的各部分、其中的一个或多个的变体或组合或者任何其他合适的跳。

在一些示例中,对路径的这一变化的检测可以表示和/或相当于触发和/或发起用来确定路径的最大传输单元是否已经增大的测试的事件。例如,响应于检测到路径的这一变化,处理单元106可以标识对应于路径的最大传输单元的分组尺寸。换言之,处理单元106可以标识路径的最大传输单元,该最大传输单元经常被表示为能够在路径上的单个分组和/或帧中传输的字节的数目。

在网络实施IPv4的情况下,这一分组尺寸的范围可以是从68字节到64千字节的任何地方。备选地,在网络实施IPv6的情况下,这一分组尺寸的范围可以是从1280字节到64千字节的(乃至在巨型传输包选项的情况下高达4千兆字节)的任何地方。

在标识对应于路径的最大传输单元的分组尺寸的情况下,处理单元106可以通过传输尺寸比路径的最大传输单元更大的分组104来对路径的最大传输单元的增大进行测试。这里所使用的术语“分组”一般指代包括一个或多个格式化的数据单元的任何类型或形式的包、封装、抽象和/或对象。分组120的示例包括但不限于IPv4分组、IPv6分组、用户数据协议(UDP)分组、因特网控制消息协议(ICMP)分组、多协议标签交换(MPLS)分组、网关至网关协议(GGP)分组、传输控制协议(TCP)分组、其中的一个或多个的变体或组合或者任何其他合适的分组。

作为一个特定示例,在路径的上次确定的最大传输单元是1400字节的情况下,处理单元106可以通过路径发送尺寸为1500字节的分组。在一个示例中,处理单元106可以通过验证路径中包括的跳中的任何跳响应于更大分组未发出“分组过大”消息来确定路径的最大传输单元已经增大。附加地或者备选地,处理单元106可以通过验证更大分组在不经历沿着路径的破碎或者被完全丢弃的情况下到达它的目的地来确定路径的最大传输单元已经增大。

图2示出了用于及时检测网络内的路径的最大传输单元的增大的装置100的示例性实现方式200的框图。如在图2中示出的,实现方式200可以包括经由网络204与计算设备202(1)-(N)通信的装置100。这里所使用的术语“网络”一般指代有助于通信或数据传送的任何类型或形式的介质和/或架构。在一个示例中,网络204可以表示包括多个计算设备的IPv4或IPv6网络。

网络204的示例包括但不限于IPv4网络、IPv6网络、MPLS网络、内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)、因特网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、其中的一个或多个的各部分、其中的一个或多个的变体或组合或者任何其他合适的网络。网络204可以使用无线或有线连接来有助于通信或数据传送。尽管装置100和计算设备202(1)-(N)在图2中被示出为位于网络204外部,但是装置100和/或计算设备202(1)-(N)备选地可以表示网络204的各部分和/或被包括在网络204中。

这里所使用的术语“计算设备”一般指代能够读取计算机可执行指令的任何类型或形式的设备。在一些示例中,计算设备202(1)-(N)可以包括和/或表示发送和/或接收数据分组的网络设备。计算设备202(1)-(N)的示例包括但不限于网络设备、路由器、交换机、调制解调器、网关、集线器、中继器、服务器、膝上型计算机、台式计算机、移动设备、支持因特网的电视和/或蓝光播放器、其中的一个或多个的各部分、其中的一个或多个的变体或组合或者任何其他合适类型的计算设备。

在一些示例中,计算设备202(1)-(N)可以有助于其他计算设备之间的网络流量。例如,计算设备202(1)-(N)可以将某些网络流量转发到未在图2中图示的端点和/或目的地设备。备选地,计算设备202(1)-(N)可以包括和/或表示端点和/或目的地计算设备。

图3示出了用于及时检测网络内的路径的最大传输单元的增大的附加示例性实现方式300。如在图3中示出的,实现方式300可以包括经由网络204内的路径308与目的地计算设备306通信的源计算设备302。在这一示例中,源计算设备302可以包括和/或表示装置100。此外,路径308可以包括和/或表示跳304(1)、304(2)和304(3)。尽管图3为了简单和可读性的目的仅图示了跳304(1)-(3),但是备选的实施例可以涉及包括任何数目个跳(无论是更多还是更少)的路径。

在一些示例中,处理单元106可以作为源计算设备302的一部分针对可能影响路径308的最大传输单元的路径308的任何变化来监视网络204。在一个示例中,处理单元106可以创建和/或维持标识路径308中包括的每个跳的记录以用作参考。例如,处理单元106可以传输如下分组,该分组进行经由路径308从源计算设备302到目的地计算设备306并且然后回到源计算设备302的往返行程。在这一示例中,处理单元106可以在特定时间点发起这一分组的传输。当分组返回到源计算设备302时,处理单元106可以至少部分地基于返回分组(例如,分组的头部信息)将跳304(1)-(3)标识为遍历路径。处理单元106然后可以创建图5中的记录500,该记录500将跳304(1)-(3)确定为分组所遍历的路径。

在一个示例中,处理单元106可以通过使用路由跟踪(traceroute)工具来执行这种监视。例如,处理单元106可以通过向源计算设备302的操作系统发出“traceroute”命令来占用(engage)路由跟踪工具。响应于这一命令,路由跟踪工具可以发起分组的传输,该分组的传输遍历路径308并且返回将跳304(1)-(3)标识为遍历路径的信息。处理单元106然后可以至少部分地基于从路由跟踪工具得到的信息来确定哪些跳被分组遍历。这一分组跟踪工具的示例包括但不限于TRACEROUTE、TRACEROUTE(8)、TRACERT、PATHPING、TRACEROUTE6、TRACERT6、其中的一个或多个的变体或组合或者任何其他合适的路由跟踪工具。

在一个示例中,处理单元106可以通过查u树南湖另一分组来检测路径308的变化,该另一分组进行从源计算设备302到目的地计算设备306并且然后回到源计算设备302的往返行程。在这一示例中,处理单元106可以通过占用路由跟踪工具来在后续时间点发起这一另一分组的传输。当该另一分组返回到源计算设备302时,处理单元106可以通过将该另一分组所遍历的跳与记录500比较来确定路径308自特定时间点起已经以一种方式或另一种方式改变。

作为特定示例,处理单元106可以确定(不一定在图3中示出的)另一跳在特定时间点之后被添加到路径308。在另一示例中,处理单元106可以确定跳304(1)-(3)之一在特定时间点之后被从路径308移除。在另一示例中,处理单元106可以确定跳304(1)-(3)之一在特定时间点之后被(不一定在图3中示出的)另一跳替换。在附加示例中,处理单元106可以确定跳304(1)-(3)之一在特定时间点之后被重新配置、修改和/或关闭。

响应于检测到跳304(1)-(3)之一的变化,处理单元106可以针对最大传输单元的任何增大来测试路径308。例如,处理单元106可以标识对应于最大传输单元的分组尺寸。作为一个特定示例,路径308的最大传输单元可被表示为1400字节的分组尺寸。

在标识了这一分组尺寸的情况下,处理单元106可以通过路径308传输尺寸比对应于最大传输单元的分组尺寸更大的分组。例如,在路径308的最大传输单元已被标识为1400字节的情况下,处理单元106可以通过路径308传输1500字节的分组。通过响应于检测到跳304(1)-(3)之一的变化来传输这一更大分组,处理单元106可以确定检测到的变化是否造成了路径的最大传输单元的100或更多字节的增大。

在一个示例中,处理单元106可以至少部分地基于测试来确定路径的最大传输单元已经增大。例如,处理单元106在已经传输分组之后可以针对指示分组的尺寸过大的消息(例如,“分组过大”消息)或者指示分组在遍历路径时被破碎的消息等待一定量时间。当在该量的时间内跳304(1)-(3)中的任一个未向源计算设备302递送这样的消息的情况下,处理单元106可以确定路径308的最大传输单元作为检测到的变化的结果已经增大。

响应于路径308的最大传输单元的增大,处理单元106可以使用尺寸与增大的最大传输单元一致的分组经由路径从源计算设备302向目的地计算设备306传输网络流量。例如,在最大传输单元已经增大至1500字节的情况下,处理单元106可以使用各自包括1500字节的分组向目的地计算设备306传输网络流量。

在一个示例中,处理单元106可以至少部分地基于测试来确定路径的最大传输单元尚未增大。例如,处理单元106可以检测到由跳304(1)-(3)之一响应于接收到更大分组而发出的消息(例如,“分组过大”消息)。这一消息可以指示分组的尺寸过大的和/或指示跳在分组到目的地的路上使分组破碎。

作为路径308的最大传输单元未增大的结果,处理单元106可以继续使用尺寸与上次确定的最大传输单元一致的分组经由路径从源计算设备302向目的地计算设备306传输网络流量。例如,在最大传输单元不管检测到的路径变化而保持在1400字节的情况下,处理单元106可以继续使用各自包括1400字节的分组向目的地计算设备306传输网络流量。

图4示出了用于及时检测网络内的路径的最大传输单元的增大的附加示例性实现方式400。如在图4中示出的,实现方式400可以包括经由网络204内的路径308和路径408与目的地计算设备306通信的源计算设备302。在这一示例中,源计算设备302可以包括和/或表示装置100。在这一示例中,路径408可以包括和/或表示跳304(1)、304(4)和304(5)。路径308和408可以共同执行对从源计算设备302传输到目的地计算设备306的网络流量的负载均衡。这里所使用的术语“负载均衡”一般指代跨包括不同网络设备的路径分发和/或分配以相同中间目标和/或最终目的地为目的地的网络流量。

在一个示例中,处理单元106可以使得跳304(1)-(5)能够共同执行对从源计算设备302传输到目的地计算设备306的网络流量的负载均衡。例如,处理单元106可以在分组离开源计算设备302时指示某些分组沿着308以及其他分组沿着路径408。在这一示例中,分组可以包括标识它们相应路径的头部。

在一些示例中,处理单元106可以针对可能影响路径308和/或路径408的最大传输单元的任何变化来监视网络204。在以这种方式监视网络204的同时,处理单元106可以检测跳304(1)-(5)中的一个或多个跳。作为结果,处理单元106可以标识与经历变化的路径的最大传输单元对应的分组尺寸。处理单元106然后可以通过传输尺寸比对应于路径的最大传输单元的分组尺寸更大的分组来针对分组的最大传输单元的增大对该路径进行测试。

作为一个特定示例,处理单元106可以检测到沿着网络204内的路径408的拓扑的变化。响应于检测到这一变化,处理单元106可以将1600字节确定为路径408的最大传输单元。处理单元106然后可以通过沿着路径408向目的地计算设备306传输1630字节的分组来针对路径408的最大传输单元的变化对路径408进行测试。

如在上面结合图1至图5所说明的,与周期性地执行PMTU发现相比,源设备仅当被网络拓扑的变化触发时才可以执行这种发现。例如,源设备可以使用路由跟踪消息来监视路由变化。在以这种方式监视路由变化的同时,源设备可以检测到触发PMTU的计算的路由变化。换言之,源设备可以响应于经由路由跟踪消息检测到路由变化而发起PMTU的重新计算。

PMTU计算可以考虑到沿着到目的地设备的路径执行的任何负载均衡。例如,源设备可以调节PMTU的计算以考虑源自源设备并且到达目的地计算设备的网络流量所遍历的多个路径。源设备可以通过标识多个路径中包括的跳集合在检测到的路由变化前后的任何差异来调节PMTU的计算。

继续这一示例,因为拓扑的变化可以产生增大的PMTU、减小的PMTU和/或相同的PMTU,因此源设备可以无需测试PMTU是否实际上作为变化的结果而增大。例如,源设备可以标识经历检测到的变化的路径的上次确定的PMTU。源设备然后可以通过该路径传输尺寸比上次确定的PMTU更大的分组以确定它的PMTU是否作为检测到的拓扑变化的结果而增大。

如果沿着路径的任何跳响应于更大分组而生成“分组过大”消息,则源设备可以确定PMTU不是作为检测到的拓扑变化的结果而增大。另外,如果沿着路径的任何跳响应于与上次确定的PMTU相同尺寸的分组而生成“分组过大”消息,则源设备可以确定PMTU实际上作为检测到的拓扑变化的结果而减小。附加地或者备选地,源设备可以使用差量浸泡时间(delta soak time)来帮助区分PMTU的增大和减小。如果沿着路径的跳之一响应于更大分组而不是响应于与上次确定的PMTU相同尺寸的分组而生成“分组过大”消息,则源设备可以确定PMTU不管检测到的拓扑的变化而保持不变。

图6是用于及时检测网络内的路径的最大传输单元的增大的示例性方法600的流程图。方法600可以包括通过传输尺寸比对应于路径的最大传输单元的分组尺寸更大的分组、针对可能影响路径的最大传输单元的任何变化来监视网络的步骤(610)。这一监视步骤可以按照各种方式被执行。例如,处理单元106可以作为网络设备的一部分通过检查一个或多个路由跟踪消息来创建标识分组中包括的每个跳的记录。附加地或者备选地,处理单元106可以将后续路由跟踪消息与记录比较以确定路径是否已经经历其拓扑的任何变化。

回到图6,方法600还可以包括在监视网络的同时检测路径中包括的至少一个跳的变化的步骤(620)。这一检测步骤可以按照各种方式被执行。例如,处理单元106可以作为网络设备的一部分在至少部分地基于路由跟踪消息监视网络的同时检测路径中包括的跳的变化。在一个示例中,处理单元106可以通过确定跳已被添加到路径、从路径移除、在路径内被替换和/或在路径内被重新配置来检测到这一变化。

回到图6,方法600可以附加地包括确定对应于路径的最大传输单元的分组尺寸的步骤(630)。这一确定步骤可以按照各种方式被执行。例如,处理单元106可以作为网络设备的一部分至少部分地基于被表示为路径的最大传输单元的字节的数目来标识分组尺寸。在一个示例中,处理单元106可以响应于检测到跳的变化和/或作为检测到跳的变换的结果来发起这一标识。

回到图6,方法600还可以包括通过传输尺寸比对应于路径的最大传输单元的分组尺寸更大的分组针对路径的最大传输单元的增大来测试路径的步骤(640)。这一测试步骤可以按照各种方式被执行。例如,处理单元106可以作为网络设备的一部分通过路径传输尺寸比路径的最大传输单元的更大的分组。在一个示例中,处理单元106可以响应于检测到跳的变化和/或作为检测到跳的变换的结果来发起这一测试。

处理单元106在已经传输了分组之后可以针对指示分组的尺寸过大的消息(例如,“分组过大”消息)或者指示分组在遍历路径时被破碎的消息等待一定量时间。在跳中的任一个在该量的时间内未递送这样的消息的情况下,处理单元106可以确定路径的最大传输单元作为检测到跳的变化的结果已经增大。然而,在跳中的一个跳在该量的时间内递送了这样的消息的情况下,处理单元106可以确定路径的最大传输单元作为检测到跳的变化的结果尚未增大。

图7是示例性计算系统700的框图,计算系统700能够实施这里所描述和/或所例示的实施例中的一个或多个实施例,和/或结合这里所描述和/或所例示的实施例中的一个或多个实施例而被使用。在一些实施例中,计算系统700的全部或者一部分可以单独地或者结合其他元件地执行结合图6所描述的步骤中的一个或多个步骤,和/或可以是用于单独地或者结合其他元件地执行结合图6所描述的步骤中的一个或多个步骤的装置。计算系统700的全部或者一部分也可以执行这里所描述和/或所例示的任何其他步骤、方法或过程,和/或可以是执行和/或实施这里所描述和/或所例示的任何其他步骤、方法或过程的装置。在一个示例中,计算系统700可以包括来自图1的装置100。

计算系统700宽泛地表示任何类型或形式的电负载,包括能够执行计算机可读指令的单个或多个处理器计算设备或系统。计算系统700的示例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,主干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络电器(例如,网络安全电器、网络控制电器、网络定时电器、SSL VPN(安全套接字层虚拟专用网)电器等)、网络控制器、网关(例如,服务网关、移动分组网关、多接入网关、安全网关等)和/或任何其他类型或形式的计算系统或设备。

计算系统700可以被编程、被配置和/或以其他方式被设计,以遵从一个或多个网络协议。根据某些实施例,计算系统700可以被设计为与开放系统互连(OSI)参考模型的一个或多个层的协议(诸如物理层协议、链路层协议、网络层协议、传输层协议、会话层协议、表示层协议和/或应用层协议)一起工作。例如,计算系统700可以包括根据通用串行总线(USB)协议、电气和电子工程师协会(IEEE)1394协议、以太网协议、Tl协议、同步光纤网络(SONET)协议、同步数字阶层(SDH)协议、综合业务数字网(ISDN)协议、异步传输模式(ATM)协议、点对点协议(PPP)、通过以太网的点对点协议(PPPoE)、通过ATM的点对点协议(PPPoA)、蓝牙协议、IEEE802.XX协议、帧中继协议、令牌环协议、生成树协议、MPLS协议和/或任何其他合适的协议而配置的网络设备。

计算系统700可以包括各种网络和/或计算组件。例如,计算系统700可以包括至少一个硬件处理器714和系统存储器716。处理器714一般性地表示能够处理数据或者解译和执行指令的任何类型或形式的处理单元。例如,处理器714可以表示专用集成电路(ASIC)、片上系统(例如,网络处理器)、硬件加速器、通用处理器和/或任何其他适当的处理元件。

处理器714可以根据上面所讨论的联网协议中的一个或多个联网协议来处理数据。例如,处理器714可以执行或实施协议栈的一部分、可以处理分组、可以执行存储器操作(例如,将用于稍后处理的分组排队)、可以执行终端用户应用和/或可以执行任何其他处理任务。

系统存储器716一般性地表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器716的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器设备。虽然未被要求,但是在某些实施例中,计算系统700可以包括易失性存储单元(诸如,例如,系统存储器716)和非易失性存储设备(诸如,例如,如在下面详细描述的主存储设备732)。系统存储器716可以被实施为网络设备中的共享式存储器和/或分布式存储器。另外,系统存储器716可以存储分组和/或在联网操作中使用的其他信息。

在某些实施例中,示例性计算系统700还可以包括除了处理器714和系统存储器716之外的一个或多个组件或元件。例如,如图7中所图示的,计算系统700可以包括存储器控制器718、输入/输出(I/O)控制器720以及通信接口722,它们中的每个都可以经由通信基础设施712而被互连。通信基础设施712一般性地表示能够有助于计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础设施712的示例包括但不限于通信总线(诸如串行ATA(SATA)、工业标准结构(ISA)、外围组件互连(PCI)、PCI高速(PCIe)和/或任何其他适当总线),以及网络。

存储器控制器718一般性地表示能够处置存储器或数据或者控制计算系统700的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,存储器控制器718可以经由通信基础设施712来控制处理器714、系统存储器716、以及I/O控制器720之间的通信。在一些实施例中,存储器控制器718可以包括直接存储器访问(DMA)单元,该直接存储器访问单元可以向链路适配器或者从链路适配器传送数据(例如,分组)。

I/O控制器720一般性地表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的设备或模块。例如,在某些实施例中,I/O控制器720可以控制或有助于计算系统700的一个或多个元件(诸如处理器714、系统存储器716、通信接口722、以及存储接口730)之间的数据传送。

通信接口722宽泛地表示能够有助于示例性计算系统700与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施例中,通信接口722可以有助于计算系统700与包括附加计算系统的私有或公有网络之间的通信。通信接口722的示例包括但不限于链路适配器、有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、以及任何其他适当的接口。在至少一个实施例中,通信接口722可以经由通向网络(诸如因特网)的直接链路而提供通向远程服务器的直接连接。通信接口722也可以通过例如局域网(诸如以太网)、个域网、广域网、私有网络(例如,虚拟专用网络)、电话或电缆网络、蜂窝电话连接、卫星数据连接或者任何其他适当的连接,来间接地提供这样的连接。

在某些实施例中,通信接口722也可以表示被配置为经由外部总线或通信信道来有助于计算系统700与一个或多个附加网络或存储设备之间的通信的主机适配器。主机适配器的示例包括但不限于小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE 1394主机适配器、先进技术附件(ATA)主机适配器、并行ATA(PATA)主机适配器、串行ATA(SATA)主机适配器、以及外部SATA(eSATA)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口722也可以使得计算系统700能够参与分布式或远程计算。例如,通信接口722可以从远程设备接收指令或者向远程设备发送指令以用于执行。

如图7中所图示的,示例性计算系统700也可以包括经由存储接口730而耦合到通信基础设施712的主存储设备732和/或备份存储设备734。存储设备732和734一般性地表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备732和734可以表示磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口730一般性地表示用于在存储设备732和734与计算系统700的其他组件之间传送数据的任何类型或形式的接口或设备。

在某些实施例中,存储设备732和734可以被配置为从可移除存储单元读取和/或向可移除存储单元写入,该可移除存储单元被配置为存储计算机软件、数据或其他计算机可读信息。适当的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存设备等。存储设备732和734也可以包括用于允许计算机软件、数据或其他计算机可读指令被加载到计算系统700中的其他类似的结构或设备。例如,存储设备732和734可以被配置为读取和写入软件、数据或其他计算机可读信息。存储设备732和734可以是计算系统700的一部分或者可以是通过其他接口系统访问的分开的设备。

许多其他的设备或子系统可以被连接到计算系统700。相反地,为了实践这里所描述和/或例示的各实施例,不必出现图7中所图示的所有组件和设备。上面所提及的设备和子系统也可以按照与图7中所示出的方式不同的方式被互连。计算系统700也可以采用任何数量的软件、固件和/或硬件配置。例如,这里所公开的示例性实施例中的一个或多个可以被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用、计算机可读指令或者计算机控制逻辑)。术语“计算机可读介质”一般指代能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于:传输型介质,诸如载波;以及非瞬态型介质,诸如磁存储介质(例如,硬盘驱动器和软盘)、光存储介质(例如,压缩盘(CD)和数字视频盘(DVD))、电子存储介质(例如,固态驱动器和闪存介质);以及其他分布系统。

虽然前述公开内容使用具体框图、流程图以及示例阐述了各种实施例,但是使用宽范围的硬件、软件、或者固件(或它们的任何组合)配置,可以个别地和/或共同地实施这里所描述和/或例示的每个框图组件、流程图步骤、操作和/或组件。此外,包含在其他组件内的组件的任何公开内容应当被考虑为本质上是示例性的,因为能够实施许多其他架构来实现相同的功能。

在一些示例中,图1中的装置100的全部或者一部分可以表示云计算或基于网络的环境的部分。云计算或基于网络的环境可以经由因特网来提供各种服务和应用。这些云计算和基于网络的服务(例如,软件即服务、平台即服务、基础设施即服务等)可以通过web浏览器或其他远程接口而是可访问的。这里所描述的各种功能也可以提供网络交换能力、网关接入能力、网络安全功能、用于网络的内容缓存和交付服务、网络控制服务和/或其他联网功能。

此外,这里所描述的模块中的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式变换为另一种形式。例如,这里所记载的模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,而将处理器、易失性存储器、非易失性存储器和/或物理计算机设备的任何其他部分从一种形式变换为另一种形式。

这里所描述和/或例示的步骤的过程参数和次序仅通过示例的方式给出,并且能够根据需要而变化。例如,虽然这里所例示和/或描述的步骤可以以特定的顺序被示出或讨论,但是这些步骤并非必然需要按照所例示或讨论的顺序被执行。这里所描述和/或例示的各种示例性方法也可以省略这里所描述或例示的步骤中的一个或多个步骤或者包括除了所公开的那些步骤之外的附加步骤。

已经提供了前面的描述,从而使得本领域的技术人员能够最好地利用这里所公开的示例性实施例的各个方面。这一示例性描述并非旨在是详尽的或者被限制为所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变型是可能的。这里所公开的实施例应当在各方面被考虑为是说明性而非限制性的。在确定本公开的范围时,应当对所附权利要求以及它们的等价物做出参考。

除非另有指明,说明书和权利要求中所使用的术语“连接至”和“耦合至”(以及它们的派生词),将被解释为准许直接和间接(即,经由其他元件或组件)连接两者。此外,如说明书和权利要求中所使用的术语“一”或“一种”,将被解释为意指“至少一个”。最后,为使用的简单性,说明书和权利要求中所使用的术语“包括”和“具有”(以及它们的派生词)与词语“包含”是可互换的并且与词语“包含”具有相同含义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号