CN100448224C - 探索路径最大传输单元的方法和设备 - Google Patents
探索路径最大传输单元的方法和设备 Download PDFInfo
- Publication number
- CN100448224C CN100448224C CNB2005100081974A CN200510008197A CN100448224C CN 100448224 C CN100448224 C CN 100448224C CN B2005100081974 A CNB2005100081974 A CN B2005100081974A CN 200510008197 A CN200510008197 A CN 200510008197A CN 100448224 C CN100448224 C CN 100448224C
- Authority
- CN
- China
- Prior art keywords
- packet
- size
- transmission unit
- maximum transmission
- router
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000011218 segmentation Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000012795 verification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- 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
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
Abstract
本发明涉及探索路径最大传输单元的方法和设备。该方法包括:从第一远程设备接收要传输到第二远程设备的数据包;判断所接收到的数据包的大小是否大于最大传输单元(MTU)值;以及,如果判定所接收到的数据包的大小大于所述MTU值,则将所接收到的数据包的一部分发送到所述第二远程设备,并向所述第一远程设备发送一个消息,指出所接收到的数据包的大小超过所述MTU值。
Description
技术领域
本发明总体上涉及网络通信,尤其涉及探索网络连接的路径最大传输单元(PMTU)。
背景技术
一般承认,为了使用网际协议(Internet Protocol,IP)连接进行有效的数据传输,数据包的大小应当尽可能大。数据包越大,与传输整个数据相关的开销就越小。但是,如果数据包的大小大于沿着通信路径任何给定中间路由器所能够处理的大小,则数据包在该链路上就会被分割。一个路由器能够在不分割数据包的前提下处理的最大数据包被称为最大传输单元(maximum transmission unit(MTU))。能够从发送主机无分割地传输到接收主机的最大数据包被称为路径最大传输单元(path maximum transmission unit(PMTU))。因此,PMTU是IP连接中的所有中间路由器能够在不分割数据包的前提下处理的最大数据包的函数。
为了进行有效传输,希望对给定IP连接确定PMTU。在请求评议(Request for Comments(RFC))1191中描述了一种确定PMTU的方法。RFC 1191描述了一种方法,其中,发送主机发送一个携带不分割该数据包的指令(也就是设置“不分割”比特)的探索包。如果存在两个通信设备之间的MTU太小而不能成功传递该包,则丢弃该探索包,将“不能分割”消息送回发送源。例如,如果沿着传输路径的一个路由器的MTU小于该探索包的大小,则该路由器丢弃接收到的包,之后发送一个“不能分割”消息给发送源。在某些情况下,路由器可以将其MTU大小提供给发送源。所述“不能分割”消息的发送使用互联网控制报文协议(Internet Control Message Protocol(ICMP)),该协议是IP的扩展,用来支持包含错误、控制和信息报文的包。
在收到“不能分割”消息后,发送源就知道要减小包的大小。这样,发送源使用新的较小的MTU值重新发送探索包。如果发送源和接收设备之间的网络路径包括具有较低MTU值的多个路由器(或者其它网络设备),则RFC 1191的探索机制要求进行多次迭代以发现可接受的MTU。例如,假设在发送主机和接收主机之间有两个路由器,第一个路由器的MTU值为4392字节,第二路由器的MTU值为1500字节。另外,假设发送源针对接收主机发送一个9000字节的探索包(该包设置了“不能分割”指示符)。该探索包首先到达第一路由器,该第一路由器在确定该包的大小超过其MTU值之后,会舍弃该包,发送一个“不能分割”ICMP消息给发送源。在某些情况下,第一路由器也可以将其MTU发送给发送源。
该发送源在收到“不能分割”消息后重新发送一个较小的探索包(比如第一路由器的MTU值的大小,如果可以得到该值的话)。这一次,第一路由器会允许第二探索包通过,因为其大小小于第一路由器的MTU。但是,该探索包会被第二路由器拒绝,在这个例子中第二路由器的MTU值为1500字节。这样,该第二路由器会舍弃所接收到的探索包,发送一个“不能分割”消息给发送源。在某些情况下,第二路由器还可以将其MTU发送给发送源。在收到该ICMP消息后,发送主机会重新发送一个第二路由器可接受的大小的另一个探索包。这样,在上述例子中,发送源进行了至少两次迭代,以确定PMTU。随着给定路径中路由器(或者中继段)数量的增加,确定PMTU所需的迭代次数也会增加。结果,网络传输的效率会受到影响,从而对网络性能有不利影响。
本发明就是要解决上面提出的一个或者多个问题,或者至少削弱这些问题的影响。
发明内容
在本发明的一个方面,提供了一种方法,用于探索路径最大传输单元。该方法,包括:从第一远程设备接收要传输到第二远程设备的数据包;判断所接收到的数据包的大小是否大于最大传输单元值,所述最大传输单元值是当前可以发送的最大传输单元的大小;以及如果判定所接收到的数据包的大小大于所述最大传输单元值,则将所接收到的数据包的一部分发送到所述第二远程设备,丢弃所接收到的数据包的剩余部分,并向所述第一远程设备发送一个消息,指出所接收到的数据包的大小超过所述最大传输单元值,其中,所接收到的数据包的所述一部分的大小不大于所述最大传输单元值。
在本发明的另一个方面,提供了一种设备,用于探索路径最大传输单元。该设备包括接口;以及通信连接到该接口的控制单元,该控制单元被配置为:通过该接口从第一远程设备接收要传输到第二远程设备的数据包;判断所接收到的数据包的大小是否大于最大传输单元值,所述最大传输单元值是当前可以发送的最大传输单元的大小;以及如果判定所接收到的数据包的大小大于所述最大传输单元值,则将所接收到的数据包的一部分发送到所述第二远程设备,丢弃所接收到的数据包的剩余部分,并向所述第一远程设备发送一个消息,指出所接收到的数据包的大小超过所述最大传输单元值,其中,所接收到的数据包的所述一部分的大小不大于所述最大传输单元值。
在本发明的另一个方面,提供了一种发送主机,包括:接口;以及通信连接到该接口的控制单元,该控制单元被配置为:将选定大小的数据包发送给路由器,其中该数据包包括“不分段”标记;从所述路由器接收一个表示所发送的数据包的选定大小超过与所述路由器相关的最大传输单元值的消息,其中所述路由器将所述数据包的至少一部分转发给相邻路由器并且丢弃所述数据包的剩余部分,其中所述数据包的所述至少一部分的大小不大于所述与所述路由器相关的最大传输单元值;并且如果所述相邻路由器判定所转发的数据包的所述部分的大小超过与所述相邻路由器相关的最大传输单元值,则发送选定大小的第二数据包给下一相邻路由器,其中所述第二数据包的选定大小不大于所述与所述相邻路由器相关的最大传输单元值。
在本发明的又一个方面,提供了一种包含一个或者多个包含指令的机器可读存储介质的物品,用于探索路径最大传输单元。所述指令在被执行时使得处理器能够从第一远程设备接收一个要传输到第二远程设备的数据包,并确定所接收到的数据包的大小是否大于最大传输单元(MTU)值。如果确定所接收到的数据包的大小大于所述MTU值,则该处理器还被配置为:将所接收到的数据包的一部分发送给所述第二远程设备,并向第一远程设备发送一个消息,指出所接收到的数据包的大小超过了所述MTU值。
附图说明
阅读下面结合附图进行的说明可以理解本发明。在附图中,相同的附图标记标识相同的部件。
图1是根据本发明的通信系统的实施例的框图;
图2图解根据本发明的一个实施例,可以用在1的通信系统中的TCP/IP数据包;
图3图解图2的TCP/IP数据包的IP标题;
图4图解图2的TCP/IP数据包的TCP标题;
图5图解一个ICMP数据包;
图6图解图5的ICMP数据包的ICMP标题;
图7图解根据本发明的一个实施例,可以在图1的通信系统中实现的路由模块的流程图;
图8图解根据本发明的一个实施例,可以在图1的通信系统中实现的发送模块的流程图;
图9图解根据本发明的一个实施例,可以在图1的通信系统中使用的路由器的框图;
图10图解根据本发明的一个实施例,可以在图1的通信系统中使用的发送主机和接收主机的框图。
本发明可以有各种各样的修改和各种替换形式,但是在图中只是作为例子图示并且详细描述了它的几个具体实施例。但是,应当理解,对所述具体实施例的描述并不是要将本发明限制于这里所公开的具体形式。相反,本发明应当覆盖落在所附权利要求所限定的本发明的使之范围内的所有修改、等效方案和替代方案。
具体实施方式
下面描述本发明的说明性实施例。为了清楚起见,在本说明书中没有描述实际实现方式的所有特征。当然可以理解,在开发任何实际的实现方式时,为了达到开发者的具体目的,必需进行大量的对实现方式来说特定的判断,以便符合与系统相关以及与业务相关的约束条件,而约束条件是随着具体实现的不同而不同的。另外,还可以理解,这样的开发可能是复杂和费时的,但是对于阅读了本说明书的本领域普通技术人员来说,仍然不过是常规工作。
这里所使用的单词和短语的含义应当被理解和解释为与本领域普通技术人员所理解的一样。如果在这里使用术语和短语的方式是一样的,就不是要对术语或者短语加以特殊定义,也就是说,其定义并不不同于本领域普通技术人员的通常的和习惯性的理解。如果一个术语或者短语要具有特殊含义,也就是要有不同于本领域普通技术人员的理解的含义,则在本说明书中会以定义的方式对其明确给出这样的特殊定义,所述定义的方式直接地、明确地给出所述术语或者短语的特殊定义。
见图1,图解了根据本发明的一个实施例的通信系统100。通信系统100包括第一基于处理器的主机105,其通过网络125,比如通过专用网络或者公共网络(例如因特网),通信连接到第二基于处理器的主机110。在图示的实施例中,第一主机105包括用于发送一个或者多个数据包的发送模块130(Tx模块),第二主机110包括用于接收所发送的包的接收模块135(Rx模块)。为了说明的目的,主机设备105、110在图1中被图示为包括各自的发送模块130和接收模块135,但是应当理解,在另外的实施方式中,主机设备105、110分别可以都包括模块130、135,这样,每一个主机设备都能够在需要的时间发送和接收数据包。
网络125可以包括一个或者多个网络设备140(1-3)(在图示的实施例中标记为“路由器”),主机设备105、110可以通过所述网络设备通信。在一个实施例中,网络设备140(1-3)可以是网络网关、网络交换机或者能够将接收到的数据包转发给预定目的地的其它设备。在给定网络125中使用的路由器140(1-3)的数量在不同的实现中可以不同。为了说明的目的,这里假定发送模块130所发送的包在到达接收模块135之前通过第一路由器140(1)、第二路由器140(2)、第三路由器140(3)(按该顺序)。一般,每一个路由器140具有自己的相关MTU阈值(该路由器能够不分割数据包而处理的最大数据包)。
在图示的实施例中,路由器140(1-3)包括根据本发明的一个实施例处理发送模块130发送的探索包的路由模块145。探索包是包括表示数据包不应被分割的标记的数据包。一般,如下面所要详细说明的,给定路由器140的路由模块145在收到探索包时将所收到的探索包的至少一部分转发给下一个中继段(例如下一个路由器),即便路由器140判断所收到的探索包的大小大于该路由器140所支持的MTU时也是如此。如下所述,通过发送所接收到的包的至少一部分,路由模块145允许主机105的发送模块130有效地确定路径MTU。
应当理解,图1的通信系统100的方案在本质上是举例性质的。在另外的实施例中,网络125可以包括任何所需数目的路由器140。每一个主机105、110都可以是任何合适类型的基于处理器的设备,比如台式计算机、膝上计算机、大型机、便携式设备、信息站、网络应用设备等等。
图1所示的各种模块130、135和145是以软件实现的,但是在其它实现方式中,这些模块也可以用硬件或者硬件与软件的结合来实现。在一个实施例中,每一个模块130、135和145可以包括多个模块,其中每一个模块能够执行一个或者多个所需的动作。
图1的网络125可以是包交换数据网络,比如基于网际协议/传输控制协议(TCP/IP)的数据网络。网络125的例子可以包括局域网(LAN)、广域网(WAN)、内联网和因特网。在1981年9月的题为“网际协议”的评论请求(Request for Comments(RFC))791中描述了IP的一个版本,在1981年9月的题为“传输控制协议”的RFC793中描述了TCP的一个版本。在另外的实施例中也可以使用IP的其它版本比如IPv6或者其它无连接包交换标准。在1998年12月的题为“网际协议第6版(IPv6)规范”(″Internet Protocol,Version 6(IPv6)Specification″)的RFC2460中描述了IPv6的一个版本。在另外的实施例中,数据网络125也可以包括其它类型的基于数据包的数据网络。其它的这种基于数据包的数据网络的例子包括异步传输模式(ATM)、帧中继网络等。
通信系统100使用TCP/IP协议,但是在另外的实施例中也可以使用其它协议。为了便于观察,在图2中图示了一个代表性的TCP/IP数据包200。该数据包包括一个IP包202和一个TCP包204。该IP包202包括一个IP标题205和一个IP数据部分207(包含有效载荷),TCP包204包括TCP标题210和TCP数据部分212(包含有效载荷)。IP标题205的一个实施例示于图3中,TCP标题205的一个实施例示于图4中。
图3描绘了所图示的实施例的IP标题205的各个字段。IP标题205包括一个版本字段305,指明与数据包202(见图2)相关的IP的版本。IP标题长度(IHL)字段310指明标题的长度。服务类型字段315规定当前数据包应当由上层协议如何处理。每一个数据包可以被分配一个重要性级别。总长度字段320规定整个IP包202(包括标题205和数据部分207)的长度。标识字段325包含一个标识当前数据包的整数。该字段用来帮助将数据包的片断拼合起来。标记字段330(在图示的实施例中是一个3比特的字段)用于分段和重组。低位比特(第一比特)被称为“更多分段”(″more fragments″(MF))比特,用来指示一个包的最后一个分段,以便接收者知道该包能够被重组。第二比特是“不分段”(″do not fragment″(DF))比特,该比特禁止分段。第三或者更高比特不被使用。
IP标题205包括一个分段偏移字段335,表示分段的数据相对于原始数据包中数据的开始位置的相对位置,允许目的地IP过程正确地重建原始数据包。存活时间字段340维护一个计数器,该计数器逐步递减到0,当递减到0时数据包被丢弃。这使得包不会无休止地循环。协议字段345指明在IP处理完成后哪一个上层协议接收输入的包。标题校验和字段350帮助确保IP标题205的完整性。IP标题205包括规定发送节点(例如主机105)的源IP地址字段344,以及规定接收节点(例如主机110)的目的地IP地址字段360。选项字段370允许IP支持各种选项,比如安全性。
图4描绘了图2的TCP标题210。使用源端口号字段405和目的地端口号字段410来跟踪不同的对话。例如,如果一个服务器正在与三个不同的客户机通信,则该服务器使用特定的端口号与每一个客户机通信。这样,存储在源端口号字段405和目的地端口号字段410中的值与IP地址和IP标题205一起,标识一个唯一的连接。该唯一的连接通常被称为一个报路(socket)。
TCP标题210包括一个顺序号字段415,其被用来将包流中的某个特定包通知给接收主机110。该顺序号字段415还由接收主机110用来将直到特定号的所有数据包已被接收到的情况通知给发送主机105。TCP标题210包括一个确认号字段420,该字段包含包的发送者预期接收到的数据的下一个字节的顺序号。标题长度字段425指示TCP标题210的大小。
TCP标题210包括多个标记字段430用于携带各种控制信息,包括用于建立连接的SYN标记和ACK标记,用于终止连接的FIN标记,用于指示紧急指示符字段445(将在下面描述)具有有效信息的URG字段,指令接收主机110将迄今为止接收到的数据立即传送给更高级应用的PSH标记,以及通知接收主机110重建连接的RST标记。
TCP标题210包括规定发送者的接收窗口(也就是可用于输入数据的缓冲空间)的大小的窗口大小字段435。TCP校验和字段440确保TCP标题210(以及相关数据)在传输中不被修改(或者破坏)。如果校验和无效,则接收主机110不会确认该消息(报文)。紧急指示符字段445指向被认为紧急、需要立即注意的数据字段的末尾。如果URG标记未被设置则该字段无效。
图1的主机105的发送模块130可以定期执行PMTU探索。该探索过程可以包括:发送一个包,该包的最大尺寸为本地MTU或者远程系统比如接收主机110分配的最大段尺寸(maximum segmentsize(MSS))中的小者。发送的所述探索包被设置了DF比特(见图3的标记字段330)。如果两个主机设备105、110之间的某个MTU小于所发送的包的大小,则将一个“不能分段”消息发送回源(在此例中为所述发送主机105)。这样,该发送主机105就知道要减小包的大小。
在图示的例子中,所述“不能分段”的消息的发送使用的是网际控制报文协议(Internet control message protocol(ICMP)),该协议是IP的扩展,用来支持包含错误、控制和信息报文的包。图5图解了一个代表性的IP/ICMP数据包500。该ICMP数据包500包括一个IP包502和一个ICMP包504。该IP包502包括一个IP标题505和一个相关数据部分507。该ICMP包502包括一个ICMP标题510和一个相关数据部分512。
图6图解了可由路由器140(1-3)(见图1)的路由模块145传输的ICMP数据包500的ICMP标题510的一种格式。该标题510包括一个“类型”字段605,该字段的值可以是从0到256,代表分类种类,用于将一“类”通信类型分到一起。代码字段610规定适合类型字段605中所限定的类型的分类的各种类型的消息(报文)。例如,类型字段605中的“三(3)”值表示探索包的目的地无法达到,代码字段610中的“四(4)”值表示需要分段但是设置了“不分段”标记。当发送主机105接收到一个类型3、代码4的ICMP 504包时,该包向发送主机105指明:发送该ICMP包500的路由器140丢弃了该探索包。校验和字段615允许远程设备(例如主机105)校验输入ICMP数据包504的完整性。在载入ICMP包504时校验和字段615中有预定数值,然后,当计算校验和时,用校验和盖写前一个值。
根据本发明,图7图示了图1的路由模块145的一个实施例的流程图。如下所述,路由模块145允许发送主机105有效地确定路径PTU。为了说明的目的,这里假设发送主机105发送要由接收主机110接收的选定大小(9000字节)的设置了OF标记的探索数据包。为了便于说明,这里还假设发送主机105和接收主机110之间的路径包括第一、第二和第三路由器140(1-3),每一个路由器的MTU分别为4392、1500和1006字节。当然,路由器140(1-3)或者其它网络设备支持的MTU大小可以随具体实现的不同而不同,并且应当理解,这里所使用的举例值只是用于说明的目的。
第一路由器140(1)的路由模块145(在705)接收主机105发送的探索包。在一个实施例中,探索包可以采用图2所示的TCP/IP数据包200的形式。路由模块145(在710)确定探索包的大小是否大于第一路由器140(1)支持的MTU。如果探索数据包不大于MTU(这表明所接收到的包能够由第一路由器进行处理而不被分割),路由模块145将该探索包转发到下一个中继段。在图示的例子中,下一个中继段是第二路由器140(2),也就是路径中的下一个路由器。在其它实施例中,下一个中继段可以是任何相邻网络设备(包括网络网关、交换机、路由器,甚至最终的目的设备,比如接收主机110)。
如果路由模块145(在710)判断所接收到的探索包的大小大于第一路由器140(1)的MTU,则路由模块145(在720)发送一个消息到发送源(在此例中为发送主机105),该消息表明需要分段,设置了“不分段”比特。在图示的实施例中,(在720)发送的消息是根据上述ICMP协议发送的“不能分段”消息。这样,使用图5的ICMP数据包500发送消息(在720)。在一个实施例中,路由模块145也可以(在720)发送第一路由器140(1)的MTU值,向发送主机105指明第一路由器140(1)支持的最大数据包大小。
第一路由器140(1)的路由模块145(在730)确定所接收到的探索包的要发送给下一个中继段的至少一部分,所述下一个中继段在所图示的例子中是第二路由器140(2)。由第一路由器140(1)的路由模块145将所接收到的探索包的所述被确定的部分(在735)发送到下一个中继段。在一个实施例中,路由模块145发送的数据部分设置了“不分段”标记。也就是,第一路由器140(1)的路由模块145(在735)将所接收到的数据包的至少一部分发送给下一个中继段(在图3的标记字段330中仍然设置了DF标记)。路由模块145(在735)发送的“部分”的大小可以是小于等于第一路由器140(1)所支持的MTU大小的任意包大小。所述路由模块145然后可以丢弃探索包的剩余部分(也就是未被发送的部分)。这样,根据本发明的一个实施例,路由模块145不是丢弃所接收到的超大包,而是将该包的至少一部分发送到下一个中继段,同时丢弃其余部分。
从上面可以看到,在此例子中,主机105所发送的包大小为9000字节,第一路由器140(1)的MTU为4392字节。在此例子中因为包的大小大于第一路由器140(1)的MTU,路由模块145将所接收到的9000字节的包的一部分发送到下一个中继段。假设路由模块145在此实施例中发送第一路由器140(1)所支持的最大数据大小,则路由模块145发送所接收到的数据包的4392字节,而丢弃其余字节。例如可以发送数据包的高位字节。在其它实施例中,数据的要被发送的部分可以以其它合适的方式加以选择,这并不偏离本发明的实质范围。
之后,包括路由模块145的每一个随后的路由器140(在此例子中例如是第二和第三路由器140(2-3))能够执行图7所图示的过程。这样,对于第二路由器140(2),路由模块145(在705)接收探索包的被第一路由器140(1)(在735)发送的部分(例如4392字节)。与第一路由器140(1)一样,如果第二路由器(在710)判定所接收到的数据包的大小大于第二路由器140(2)的MTU,则第二路由器140(2)可以(在735)发送所接收到的数据包的一部分,并废弃其余部分。在此例子中,因为第一路由器140(1)发送了原始9000字节中的4392字节,并且因为第二路由器140(2)的MTU为1500字节,第二路由器140(2)的路由模块145将所接收到的4392字节的包的一部分发送到下一个中继段(例如第三路由器140(3))。假设第二路由器140(2)发送所支持的最大数据大小,则路由模块145(在735)发送所接收到的4392字节的数据包中的1500字节,废弃其余字节。所发送部分在发送时设置了DF标记。在废弃所接收到的数据包的一部分时,路由模块145还(在720)发送一个消息给发送主机105:指出所接收到的数据包的大小超过了其MTU值。在一个实施例中,第二路由器140(2)的路由模块145可以将其MTU值提供给发送主机105。
第三路由器140(3)类似地处理第二路由器140(2)根据图7的过程(在735)发送的包。在所讨论的具体例子的上下文中,由于第二路由器140(2)发送的是1500字节并且第三路由器140(3)的MTU为1006字节,路由器150(3)的路由模块145将所接收到的1500字节的包的一部分发送到下一个中继段,在此例中就是接收主机110。假设第二路由器140(2)发送所支持的最大数据大小,则路由模块145(在735)发送所接收到的1500字节的数据包中的1006字节,废弃其余字节。所发送部分在发送时设置了DF标记。在废弃所接收到的数据包的一部分时,第三路由器140(3)的路由模块145还(在720)发送一个消息给发送主机105:指出所接收到的数据包的大小超过了其MTU值。在一个实施例中,第三路由器140(3)的路由模块145可以将其MTU值提供给发送主机105。
被路由器140(1-3)(在735)转发或者发送的被截的探索包可能在接收端(接收主机110)导致校验和错误。例如,被截探索包中由接收主机110接收到的数据会不与发送主机105最初计算的校验和值对应。这样,主机110的接收模块135可以丢弃所接收到的被截探索包。为了降低这种可能性,在一个实施例中,路由器140(1-3)的路由模块145可以在被截包发送到下一个中继段之前调整该被截包的校验和(在740,见图7)。这样,在一个实施例中,每当所接收到的探索包需要截断时,路由模块145可以在被截包被转发到下一个中继段之前调整校验和(在740)。在将探索包(在735)发送到下一个中继段之前,重新计算的校验和例如可以被保存在图4的校验和字段440中。也可以更新保存在IP包202的校验和字段350(见图3)中的校验和。应当理解,在一个实施例中,路由模块145可以(在735)发送所接收到的探索包的一部分而不(在740)调整校验和。
在上面给出的例子的上下文中,当由于第三路由器140(3)的MTU大小的原因,有1006字节的包到达接收主机110时,沿着传输路径的每一个路由器140相应地调整被截包的校验和,使得到达接收主机110的1006字节具有正确的校验和值。在收到探索包(1006字节)时,接收主机110发送一个确认(在图4的字段430中)到发送主机105,表示1006字节的包正确到达。发送主机105在收到确认时,能够确定数据的至少一部分被成功地发送到接收主机110,从而可以发送数据的剩余部分(未被确认的部分)。在此实施例中,发送主机105能够成功地传送探索包中携带的数据的至少一部分,同时使用该探索包确定路径MTU。另外,根据接收主机110所发送的确认,发送主机105可以能够确定与两个通信主机设备105、110之间的连接的往返时间相关的信息。在一个实施例中,主机105的发送模块130可以包括一个延迟,以允许来自接收主机110的确认到达,从而降低重新发送已由接收主机110成功接收的数据部分的可能性。
通过将所接收到的包的至少一部分发送给下一个中继段(而不是将整个包废弃),路由模块145允许发送主机105更有效地确定路径MTU。也就是因为,即使一个或者多个中间MTU小于探索包的大小,发送主机105初始发送的探索包的至少一部分也可以通过网络路径被转发。在一个实施例中,每当中间MTU小于输入探索包时,发送一个“不能分段”ICMP消息。另外,ICMP消息可以包括关于小于输入探索包的每一个中间Mtu的值的信息。这样,发送主机105能够通过发送与传统的探索机制相比较少的探索包来确定有关中间MTU的信息。也就是,使用本发明,只需要较少的迭代来发现PMTU。
在一个实施例中,本发明允许发送主机105有效地确定路径MTU而不需要对发送主机105或者接收主机110进行修改。也就是,可以通过在一个或者多个路由器140(1-3)中实现图7所描述的过程来改进路径探索过程。另外,在一个实施例中,本发明可以在同时具有传统路由器(如果接收到的探索包的大小超过本地(局部)MTU即废弃所接收到的探索包的路由器)和其中存储有路由模块145的路由器140(1-3)的网络125中实现。在这种情况下,尽管传统路由器可以丢弃输入的探索包(如果其大小大于路由器的MTU的话),但是本发明的路由器140(1-3)会产生一些好处:即使在输入包的大小超过该路由器140的MTU时,也将输入探索包的至少某些部分予以转发。
图8图解了根据本发明的一个实施例的主机105的发送模块130的一个方面的流程图。发送模块130(在805)判断是否收到了ICMP出错消息(例如“不能分段”消息)。ICMP出错消息例如可以由具有小于路由器140所接收到的探索包的大小的MTU值的每一个路由器140发送,其中探索包设置了自己的DF标记。如果(在805)确定没有出错消息,则路由模块145继续正常处理(在810),比如发送和接收数据包。但是,如果检测到了ICMP出错消息(805),则发送模块130(在815)等待选定的时间,以等待其它的ICMP出错消息(如果有的话)的到达。所述选定的延迟时间可以被选择为任何希望的值,以允许在探索包传播通过网络125时,可能已由各路由器140(1-3)发出的ICMP出错消息到达发送主机105。这样,所述选定的延迟时间允许发送模块130有额外的时间来识别可能不能处理所发送的探索包的路由器140(1-3)。在路由器140(1-3)响应“不能分段”消息的发送而提供自己的MTU值的情况下,所述选定的延迟时间还允许发送模块130确定这些路由器140(1-3)的各MTU大小。
发送模块130(在820)根据任何接收到的ICMP出错消息建立选定大小的下一个要发送的探索包。例如,如果第一路由器140在ICMP出错消息(或者在其它某个消息中)提供了自己的MTU值,则发送模块130可以(在820)建立下一个探索包,使其大小基本上与所述MTU值所代表的大小相应。又例如,如果不止一个路由器140以其MTU值进行了响应,则发送模块130可以(在820)建立下一个探索包,使其大小基本上与所接收到的最小MTU值的大小相应。这允许探索包至少能够成功地通过当时已知的具有最小MTU的路由器140。发送模块130(在825)发送选定大小的探索包到接收主机110。
在一个实施例中,发送模块130(在815)等待的时间量可以是0(也就是没有延迟)。也就是,在此实施例中,发送模块130可以在每一次(在805)检测到ICMP出错消息时(在820)建立和(在825)发送一个探索包。这个实施例的一个好处是传统的发送主机可以与图1的通信系统100的包括路由模块145的路由器140一起使用。
现在看图9,其中图示了根据本发明的一个实施例,可以在图1的通信系统中实现的路由器140的框图。路由器140包括通信连接到存储单元910的控制单元905,存储单元中存储有路由模块145。控制单元905执行路由器140的所有功能,包括执行存储在存储单元910中的一个或者多个模块。路由器140包括通信连接到控制单元905的接口915。控制单元905通过接口915与连接到网络125的其它设备通信。
现在看图10,其中图示了根据本发明的一个实施例,可以在图1的通信系统中实现的基于处理器的设备1000的框图。也就是,基于处理器的设备1000可以代表发送主机105或者接收主机110的一个实施例。基于处理器的设备1000包括控制单元1015,该控制单元在一个实施例中可以是能够与北桥1020相连的处理器。北桥1020为存储器1025提供存储器管理功能,并用作到外围设备互连(PCI)总线1030的桥。在图示的实施例中,基于处理器的设备1000包括连接到PCI总线1030的南桥1035。
一个存储单元1050连接到南桥1035。尽管没有图示,但是可以理解,在一个实施例中,可以在存储单元1050上存储并由控制单元1015执行一个操作系统,比如AIX、Disk Operating MAC等等。存储单元1050还可以包括用于系统1000的各种硬件部件的设备驱动器(未图示)。
在图示的实施例中,基于处理器的设备1000包括连接到南桥1035的显示器接口1047。基于处理器的设备1000可以通过显示器接口1047在显示设备1048上显示信息。基于处理器的设备1000的南桥1035可以包括一个控制器(未图示),允许用户使用输入设备(比如键盘1048和/或鼠标1049)通过输入接口1046输入信息。
在图示的实施例中,系统1000的南桥1035连接到网络接口1060。网络接口1060适合于接纳例如局域网卡。在另外的实施例中,网络接口1060可以是通用串行总线接口或者无线通信接口。基于处理器的设备1000通过网络接口1060与连接到网络的其它设备通信。
应当理解,图10的基于处理器的设备1000的配置本质上只是举例。在其它的实施例中,基于处理器的设备1000可以包括更少的、另外的或者不同的部件而不脱离本发明的实质范围。例如,在另外的实施例中,基于处理器的设备1000可以不包括北桥1020或者南桥1035,或者可以只包括所述两个桥1020、1035之一,或者可以将两个桥1020、1035的功能组合起来。又例如,在一个实施例中,基于处理器的设备1000可以包括不止一个控制单元1015。类似地,可以采用符合本发明的实质的其它配置。
各种系统层、例程或者模块可以是可执行的控制单元(比如控制单元905、1015(见图9和图10))。控制单元905、1015可以包括微处理器、微控制器、数字处理器、处理器卡(包括一个或者多个微处理器或者控制器)或者其它控制或者计算设备。在本说明书中所说的存储设备910、1050可以包括一个或者多个用于存储数据和指令的机器可读存储介质。存储介质可以包括不同形式的存储器,包括半导体存储设备比如动态或者静态随机存取存储器(DRAM或者SRAM)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)和闪存;磁盘比如硬盘、软盘、可移除磁盘;其它磁介质包括磁带;以及光介质比如光盘(CD)或者数字视盘(DVD)。在各种系统中构成各种软件层、例程或者模块的指令可以被存储在各存储设备910、1050中。当由各控制单元905、1015执行时,所述指令使得相应的系统执行编程动作。
上面所公开的具体实施例只是用于说明的目的,因为对于阅读了本说明书的本领域普通技术人员来说,可以以对他们来说显而易见的各种不同但是等效的方式对本发明加以修改和实施。另外,这里所图示的结构或者设计的细节不是限制性的,保护范围仅受所附权利要求的限制。因此,显然,上述具体实施例是可以变化和修改的,所有这样的变化都被认为是在本发明的实质范围内。因此,保护范围在下面的权利要求中给出。
Claims (15)
1.一种路由方法,包括:
从第一远程设备接收要传输到第二远程设备的数据包;
判断所接收到的数据包的大小是否大于最大传输单元值,所述最大传输单元值是当前可以发送的最大传输单元的大小;以及
如果判定所接收到的数据包的大小大于所述最大传输单元值,则将所接收到的数据包的一部分发送到所述第二远程设备,丢弃所接收到的数据包的剩余部分,并向所述第一远程设备发送一个消息,指出所接收到的数据包的大小超过所述最大传输单元值,
其中,所接收到的数据包的所述一部分的大小不大于所述最大传输单元值。
2.如权利要求1所述的路由方法,其中,所述从第一远程设备接收要传输到第二远程设备的数据包包括:
从发送主机接收所述数据包,用于传输到接收主机。
3.如权利要求1所述的路由方法,其中,所接收到的数据包包括“不分段”标记,其中,发送所述消息到所述第一远程设备的步骤包括:如果判定设置了“不分段”标记,则当判定所接收到的数据包的大小大于所述最大传输单元值时向所述第一远程设备发送所述消息。
4.如权利要求1所述的路由方法,还包括向所述第一远程设备发送所述最大传输单元值。
5.如权利要求1所述的路由方法,其中,发送所接收到的数据包的所述一部分的步骤包括:发送一个大小对应于所述最大传输单元值的数据包。
6.如权利要求1所述的路由方法,还包括:确定所述数据包的被发送到所述第二远程设备的所述部分的校验和值,并将该校验和值发送给所述第二远程设备。
7.如权利要求1所述的路由方法,其中,发送所接收到的数据包的所述部分的步骤包括:在将所接收到的数据包的所述部分发送到所述第二远程设备之前,设置与所接收到的数据的所述部分相关的“不分段”标记。
8.如权利要求1所述的路由方法,还包括:使用所述第一远程设备接收表示所接收到的数据包的大小超过所述最大传输单元值的消息,等待选定的时间,并在等待所述选定的时间之后使用所述第一远程设备发送选定大小的数据包。
9.如权利要求8所述的路由方法,其中,所述消息包含所述最大传输单元值,其中,发送所述选定大小的数据包的步骤包括:发送大小对应于所述最大传输单元值的数据包。
10.一种路由设备,包括:
接口;以及
通信连接到该接口的控制单元,该控制单元被配置为:
通过该接口从第一远程设备接收要传输到第二远程设备的数据包;
判断所接收到的数据包的大小是否大于最大传输单元值,所述最大传输单元值是当前可以发送的最大传输单元的大小;以及
如果判定所接收到的数据包的大小大于所述最大传输单元值,则将所接收到的数据包的一部分发送到所述第二远程设备,丢弃所接收到的数据包的剩余部分,并向所述第一远程设备发送一个消息,指出所接收到的数据包的大小超过所述最大传输单元值,
其中,所接收到的数据包的所述一部分的大小不大于所述最大传输单元值。
11.如权利要求10所述的路由设备,其中,所接收到的数据包包括“不分段”标记,其中,所述控制单元被配置为如果判定设置了“不分段”标记,则当判定所接收到的数据包的大小大于所述最大传输单元值时向所述第一远程设备发送所述消息,其中,所述控制单元被配置为确定所述数据包的被发送到所述第二远程设备的所述部分的校验和值,并将该校验和值发送给所述第二远程设备。
12.如权利要求10所述的路由设备,其中,所述设备是网络路由器,其中,所述控制单元被配置为向所述第一远程设备发送所述最大传输单元值,并且所述控制单元被配置为发送一个大小对应于所述最大传输单元值的数据包。
13.一种发送主机,包括:
接口;以及
通信连接到该接口的控制单元,该控制单元被配置为:
将选定大小的数据包发送给路由器,其中该数据包包括“不分段”标记;
从所述路由器接收一个表示所发送的数据包的选定大小超过与所述路由器相关的最大传输单元值的消息,其中所述路由器将所述数据包的至少一部分转发给相邻路由器并且丢弃所述数据包的剩余部分,其中所述数据包的所述至少一部分的大小不大于所述与所述路由器相关的最大传输单元值;并且
如果所述相邻路由器判定所转发的数据包的所述部分的大小超过与所述相邻路由器相关的最大传输单元值,则发送选定大小的第二数据包给下一相邻路由器,其中所述第二数据包的选定大小不大于所述与所述相邻路由器相关的最大传输单元值。
14.如权利要求13所述的发送主机,其中,所述控制单元被配置为:如果从所述相邻路由器接收到了表示所转发的数据包的所述部分的大小超过与该相邻路由器相关联的最大传输单元值的第二消息,则判定所转发的数据包的所述部分的大小超过了与相邻路由器相关联的最大传输单元值。
15.如权利要求14所述的发送主机,其中,所述第二消息包含与所述相邻路由器相关联的最大传输单元值,其中,所述控制单元被配置为:等待预先选定的时间量之后,发送大小对应于所述与所述相邻路由器相关联的最大传输单元值的选定大小的第二数据包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/870,541 US7483376B2 (en) | 2004-06-17 | 2004-06-17 | Method and apparatus for discovering path maximum transmission unit (PMTU) |
US10/870,541 | 2004-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1710880A CN1710880A (zh) | 2005-12-21 |
CN100448224C true CN100448224C (zh) | 2008-12-31 |
Family
ID=35480513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100081974A Expired - Fee Related CN100448224C (zh) | 2004-06-17 | 2005-02-22 | 探索路径最大传输单元的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7483376B2 (zh) |
CN (1) | CN100448224C (zh) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7558873B1 (en) | 2002-05-08 | 2009-07-07 | Nvidia Corporation | Method for compressed large send |
US20030212735A1 (en) * | 2002-05-13 | 2003-11-13 | Nvidia Corporation | Method and apparatus for providing an integrated network of processors |
US7437548B1 (en) | 2002-07-11 | 2008-10-14 | Nvidia Corporation | Network level protocol negotiation and operation |
US7397797B2 (en) * | 2002-12-13 | 2008-07-08 | Nvidia Corporation | Method and apparatus for performing network processing functions |
US7620070B1 (en) | 2003-06-24 | 2009-11-17 | Nvidia Corporation | Packet processing with re-insertion into network interface circuitry |
US7359983B1 (en) * | 2003-06-24 | 2008-04-15 | Nvidia Corporation | Fragment processing utilizing cross-linked tables |
US7359380B1 (en) | 2003-06-24 | 2008-04-15 | Nvidia Corporation | Network protocol processing for routing and bridging |
US7913294B1 (en) | 2003-06-24 | 2011-03-22 | Nvidia Corporation | Network protocol processing for filtering packets |
US7505484B2 (en) * | 2004-08-26 | 2009-03-17 | International Business Machines Corporation | Remote discovery and storage of a path maximum transmission unit (PMTU) value |
EP2661121A3 (en) * | 2004-09-21 | 2014-06-04 | Hitachi Ltd. | Node device, packet control device, radio communication device, and transmission control method |
US7697524B2 (en) * | 2005-04-05 | 2010-04-13 | Cisco Technology, Inc. | Method and system for determining path maximum transfer unit for IP multicast |
US20070055784A1 (en) * | 2005-09-08 | 2007-03-08 | Pancholi Ketan P | Method to reduce the learning curve of a transmission control protocol connection |
KR100735265B1 (ko) * | 2005-09-14 | 2007-07-03 | 삼성전자주식회사 | 무선 통신 시스템에서 아이피 주소 구성 방법 및 시스템 |
KR100714111B1 (ko) * | 2005-12-08 | 2007-05-02 | 한국전자통신연구원 | IPv6 애니캐스트 서비스 지원을 위한 애니캐스트라우팅 장치 및 방법 |
US7706281B2 (en) * | 2006-01-06 | 2010-04-27 | Cisco Technology, Inc. | Selecting paths in multi-homed transport-layer network associations |
US7738495B2 (en) * | 2006-01-23 | 2010-06-15 | Cisco Technology, Inc. | Method of determining a maximum transmission unit value of a network path using transport layer feedback |
ES2541544T3 (es) * | 2006-02-17 | 2015-07-21 | Microchip Technology Germany Gmbh | Sistema y procedimiento para transferir paquetes de datos a través de un sistema de comunicación |
EP1879333A1 (en) | 2006-07-12 | 2008-01-16 | Siemens Aktiengesellschaft | Method for transmitting packets in a network |
US8422501B2 (en) * | 2007-01-04 | 2013-04-16 | International Business Machines Corporation | Efficient path maximum transmission unit information discovery and storage |
CN101374101B (zh) * | 2007-08-22 | 2011-05-04 | 华为技术有限公司 | 一种传输复用报文的方法、设备及系统 |
US8693483B2 (en) * | 2007-11-27 | 2014-04-08 | International Business Machines Corporation | Adjusting MSS of packets sent to a bridge device positioned between virtual and physical LANS |
CN102100036A (zh) * | 2008-05-15 | 2011-06-15 | 北方电讯网络有限公司 | 用于分段的包在基于包的通信网络上的传输的方法和系统 |
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US7920481B2 (en) * | 2008-06-23 | 2011-04-05 | Dell Products, Lp | Path maximum transmission unit determination |
CN101677292B (zh) * | 2008-09-16 | 2013-05-08 | 中兴通讯股份有限公司 | 一种流控传输协议中数据分片的方法 |
KR101152956B1 (ko) | 2008-11-28 | 2012-06-08 | 한국전자통신연구원 | 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 |
JP5332854B2 (ja) * | 2009-04-20 | 2013-11-06 | ソニー株式会社 | 無線送信機、無線送信方法、無線受信機および無線受信方法 |
CN101552728B (zh) * | 2009-05-12 | 2012-05-23 | 北京师范大学 | 一种面向IPv6的路径MTU发现方法及系统 |
US8005968B2 (en) * | 2009-05-28 | 2011-08-23 | Microsoft Corporation | Single-interface dynamic MTU control |
US9069727B2 (en) * | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US8121135B2 (en) * | 2009-06-23 | 2012-02-21 | Juniper Networks, Inc. | Discovering path maximum transmission unit size |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
CN102136996B (zh) * | 2010-08-10 | 2014-11-05 | 华为技术有限公司 | 用于快速重路由绑定的路由信息更新方法、节点及系统 |
US8576847B2 (en) * | 2010-08-26 | 2013-11-05 | International Business Machines Corporation | Mechanisms for discovering path maximum transmission unit |
CN102457404B (zh) * | 2010-10-15 | 2016-03-30 | 中兴通讯股份有限公司 | 检测通信路径mtu的方法、装置和系统 |
US9398490B2 (en) * | 2013-03-15 | 2016-07-19 | Trane International Inc. | Method of fragmenting a message in a network |
US9282050B2 (en) * | 2013-10-30 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for minimum path MTU discovery in content centric networks |
CN104754550B (zh) * | 2013-12-30 | 2018-06-19 | 中国移动通信集团公司 | 一种Diameter消息传递方法、装置及系统 |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9354818B2 (en) * | 2014-02-25 | 2016-05-31 | Kabushiki Kaisha Toshiba | Memory device and data storing method |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
CN103944832B (zh) * | 2014-04-18 | 2018-05-15 | 新华三技术有限公司 | 一种pmtu值的确定方法、设备和系统 |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9356879B2 (en) * | 2014-05-22 | 2016-05-31 | Dell Products L.P. | Optimized path maximum transmission unit discovery |
CN104052680B (zh) * | 2014-06-13 | 2017-11-07 | 珠海市君天电子科技有限公司 | 一种ip数据报处理方法及装置 |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9959156B2 (en) * | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9577949B2 (en) * | 2014-08-11 | 2017-02-21 | Cisco Technology, Inc. | Maintaining named data networking (NDN) flow balance with highly variable data object sizes |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US9826029B2 (en) * | 2014-09-05 | 2017-11-21 | Dell Products, Lp | Intelligent quality of service for replication |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9503362B2 (en) * | 2015-01-07 | 2016-11-22 | Vmware, Inc. | Reverse path maximum transmission unit (PMTU) discovery |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US9954791B2 (en) * | 2015-06-28 | 2018-04-24 | Nicira, Inc. | Network interface selection for network connections |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9794238B2 (en) | 2015-10-29 | 2017-10-17 | Cisco Technology, Inc. | System for key exchange in a content centric network |
US9807205B2 (en) | 2015-11-02 | 2017-10-31 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10078062B2 (en) | 2015-12-15 | 2018-09-18 | Palo Alto Research Center Incorporated | Device health estimation by combining contextual information with sensor data |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US9949301B2 (en) | 2016-01-20 | 2018-04-17 | Palo Alto Research Center Incorporated | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US9825805B2 (en) * | 2016-02-18 | 2017-11-21 | Dell Products L.P. | Multi-homing internet service provider switchover system |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10469232B2 (en) * | 2016-03-14 | 2019-11-05 | Dell Products, Lp | System and method for optimized calculation of path maximum transmission unit discovery in a network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10700987B2 (en) * | 2016-09-09 | 2020-06-30 | Wipro Limited | System and method for transmitting data over a communication network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
US10841235B2 (en) | 2017-07-20 | 2020-11-17 | Vmware, Inc | Methods and apparatus to optimize memory allocation in response to a storage rebalancing event |
US11102063B2 (en) | 2017-07-20 | 2021-08-24 | Vmware, Inc. | Methods and apparatus to cross configure network resources of software defined data centers |
US10530678B2 (en) | 2017-07-20 | 2020-01-07 | Vmware, Inc | Methods and apparatus to optimize packet flow among virtualized servers |
US10756967B2 (en) * | 2017-07-20 | 2020-08-25 | Vmware Inc. | Methods and apparatus to configure switches of a virtual rack |
US10992590B2 (en) | 2018-04-09 | 2021-04-27 | Nicira, Inc. | Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments |
US11405325B2 (en) * | 2019-06-05 | 2022-08-02 | Dell Products L.P. | In-band-telemetry-based path MTU size determination system |
CN113423093B (zh) * | 2021-05-25 | 2023-04-14 | 江铃汽车股份有限公司 | 一种基于车载终端的蓝牙通信方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892753A (en) * | 1996-12-02 | 1999-04-06 | International Business Machines Corporation | System and method for dynamically refining PMTU estimates in a multimedia datastream internet system |
US6212190B1 (en) * | 1997-06-23 | 2001-04-03 | Sun Microsystems, Inc. | Method and system for generating data packets on a heterogeneous network |
JP2001251353A (ja) * | 2000-03-07 | 2001-09-14 | Nec Corp | Ipネットワークにおけるpmtu見積もり値検出の方法およびそのシステム |
CN1426204A (zh) * | 2001-12-11 | 2003-06-25 | 财团法人资讯工业策进会 | 自动驱使变更封包长度以符合通道宽度的系统与方法 |
CN1425996A (zh) * | 2001-12-11 | 2003-06-25 | 财团法人资讯工业策进会 | 通道间封包自动预留空间的系统与方法 |
US20040105438A1 (en) * | 2002-11-29 | 2004-06-03 | Seong Moon | Router and method for controlling maximum transmission unit of external network interface |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701370B1 (en) * | 1994-06-08 | 2004-03-02 | Hughes Electronics Corporation | Network system with TCP/IP protocol spoofing |
US5751970A (en) | 1996-08-08 | 1998-05-12 | International Business Machines Corp. | Method for determining an optimal segmentation size for file transmission in a communications system |
US5959974A (en) | 1996-12-02 | 1999-09-28 | International Business Machines Corporation | System and method for discovering path MTU of internet paths |
JP2002290459A (ja) * | 2001-03-27 | 2002-10-04 | Nec Corp | パケット転送装置および方法 |
US7236501B1 (en) * | 2002-03-22 | 2007-06-26 | Juniper Networks, Inc. | Systems and methods for handling packet fragmentation |
KR100453055B1 (ko) * | 2002-03-29 | 2004-10-15 | 삼성전자주식회사 | Ip 네트워크 상에서의 경로 mtu 탐색 방법 및 그 장치 |
US7512120B2 (en) * | 2002-07-09 | 2009-03-31 | Ntt Docomo, Inc. | Node, correspondent node, mobility anchor point, and home agent in packet communication system, packet communication system, and path MTU discovery method |
US7471681B2 (en) * | 2002-10-10 | 2008-12-30 | Intel Corporation | Determining network path transmission unit |
-
2004
- 2004-06-17 US US10/870,541 patent/US7483376B2/en not_active Expired - Fee Related
-
2005
- 2005-02-22 CN CNB2005100081974A patent/CN100448224C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892753A (en) * | 1996-12-02 | 1999-04-06 | International Business Machines Corporation | System and method for dynamically refining PMTU estimates in a multimedia datastream internet system |
US6212190B1 (en) * | 1997-06-23 | 2001-04-03 | Sun Microsystems, Inc. | Method and system for generating data packets on a heterogeneous network |
JP2001251353A (ja) * | 2000-03-07 | 2001-09-14 | Nec Corp | Ipネットワークにおけるpmtu見積もり値検出の方法およびそのシステム |
CN1426204A (zh) * | 2001-12-11 | 2003-06-25 | 财团法人资讯工业策进会 | 自动驱使变更封包长度以符合通道宽度的系统与方法 |
CN1425996A (zh) * | 2001-12-11 | 2003-06-25 | 财团法人资讯工业策进会 | 通道间封包自动预留空间的系统与方法 |
US20040105438A1 (en) * | 2002-11-29 | 2004-06-03 | Seong Moon | Router and method for controlling maximum transmission unit of external network interface |
Also Published As
Publication number | Publication date |
---|---|
US7483376B2 (en) | 2009-01-27 |
US20050281288A1 (en) | 2005-12-22 |
CN1710880A (zh) | 2005-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100448224C (zh) | 探索路径最大传输单元的方法和设备 | |
US9003053B2 (en) | Message acceleration | |
CN100552626C (zh) | 用网络栈同步和上载已卸载网络栈连接的方法 | |
EP0870378B1 (en) | Concatenated error detection coding and packet numbering for hierarchical arq schemes | |
US7734720B2 (en) | Apparatus and system for distributing block data on a private network without using TCP/IP | |
US9871781B2 (en) | Systems and methods for path maximum transmission unit discovery | |
EP2119257B1 (en) | Tcp over sms | |
CN103248467B (zh) | 基于片内连接管理的rdma通信方法 | |
JP2004180295A (ja) | 通信デバイスのモジュール間で伝送された喪失メッセージを検出するためのシステムおよび方法 | |
RU2540815C2 (ru) | Прерывание, по меньшей мере частичное, передачи кадра | |
CN104025550B (zh) | 从数据项获得信息的方法及装置 | |
US8351605B2 (en) | Stealth message transmission in a network | |
JP2020522922A (ja) | ブロックチェーンネットワークにおいてトランザクションを伝播するためにネットワークコーディングを選択的に使用する方法及びシステム | |
EP2880550B1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
USRE43151E1 (en) | Acknowledging data transmissions in the presence of multiple shared-communications channels | |
US7248582B2 (en) | Method and system for labeling data in a communications system | |
US6996105B1 (en) | Method for processing data packet headers | |
JP2007520148A (ja) | データフレームの再伝送方法および前記方法を用いるネットワーク装置 | |
US20070019677A1 (en) | Data processing method and system based on a serial transmission interface | |
Henze | A Machine-Learning Packet-Classification Tool for Processing Corrupted Packets on End Hosts | |
US7212532B1 (en) | Message re-sending protocol for a wireless communications system | |
US20230269311A1 (en) | Method and device for data transmission and storage medium | |
WO2015051736A1 (zh) | 一种网络节点的报文传输的容错方法及网络节点 | |
JP2004349783A (ja) | 移動体通信方法及びシステム | |
US20090154431A1 (en) | Medium access control for xor-ed packets |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081231 Termination date: 20190222 |