CN103647759B - 一种mss的协商方法及装置 - Google Patents
一种mss的协商方法及装置 Download PDFInfo
- Publication number
- CN103647759B CN103647759B CN201310610868.9A CN201310610868A CN103647759B CN 103647759 B CN103647759 B CN 103647759B CN 201310610868 A CN201310610868 A CN 201310610868A CN 103647759 B CN103647759 B CN 103647759B
- Authority
- CN
- China
- Prior art keywords
- mss
- transmitting terminal
- values
- data message
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 239000012634 fragment Substances 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 11
- 238000013467 fragmentation Methods 0.000 claims description 9
- 238000006062 fragmentation reaction Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 13
- 230000004048 modification Effects 0.000 abstract description 9
- 238000012986 modification Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007430 reference method Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种MSS的协商方法及装置,涉及通信领域,在不依赖上层转发设备的情况下,解决了在IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。具体方案为:接收端接收发送端的数据报文;根据数据报文确定发送端的当前MSS值需要进行修改;根据数据报文确定新MSS值;向发送端发送MSS协商报文,MSS协商报文中携带新MSS值,以便发送端根据MSS协商报文修改发送端的当前MSS值。本发明用于MSS的协商过程中。
Description
技术领域
本发明涉及通信领域,尤其涉及一种MSS的协商方法及装置。
背景技术
在传输控制协议(Transmission Control Protocol,TCP)中采用最大分片长度(Maximum Segment Size,MSS)对TCP报文中数据字段的最大长度进行了限制,同时,传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)对数据链路层每次发送的数据帧的最大长度也进行了限制,数据链路层的这个特性称作最大传输单元(Maximum Transmit Unit,MTU)。TCP报文传输到IP层,并在IP层封装成IP报文,当IP报文的长度大于MTU值时,IP层的路由器就需要对IP报文进行分片处理,把IP报文分成若干分片,每一分片的长度都小于或者等于MTU值。因此,当数据链路层的MTU值变小时,便需要相应的减小MSS值,否则IP报文需要进行分片处理,众所周知,若IP报文被频繁的进行分片,会造成网络资源的极大浪费,并且会增大接收端在处理分片所消耗的资源和处理时间,且若分片在传输过程中发生了重传,也会使得网络开销增大。
在现有技术中,通常采用互联网工程任务组发布的征求修正意见书(Request ForComments,RFC)1191描述的“路径最大传输单元发现方法”来解决当IP报文的长度大于MTU值时,路由器需要对IP报文进行分片的问题。具体的,当路由器检测到接收到的发送端的IP报文的长度超过链路MTU值允许的最大长度值时,便向发送端发送链路分片错误通告网间控制报文协议(Internet Control Messages Protocol,ICMP)报文,以便将链路的MTU值通知发送端,进而发送端可以根据接收到的链路分片错误通告ICMP报文更新自身的MSS,以适应链路的MTU对报文长度的要求。
现有技术中至少存在如下问题:发送端在封装IP报文时必须设置该IP报文是不允许被分片的,且路由器必须支持ICMP分片错误通告协议,在这两个条件同时满足的条件下,当IP报文长度超过链路的MTU值允许的最大长度值时,路由器才会向发送端发送链路分片错误通告ICMP报文,否则IP报文将会被分片或者被丢弃,且在现有的网络系统中,一些对安全性要求较高的路由器可能会关闭对ICMP分片错误通告协议的支持,这样IP报文被分片或者被丢弃的可能性便会增加。
发明内容
本发明的实施例提供一种MSS的协商方法及装置,在不依赖上层转发设备的情况下,解决了在IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的第一方面,提供一种MSS的协商方法,包括:
接收端接收发送端的数据报文;
根据所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改;
根据所述数据报文确定新MSS值;
向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值。
结合第一方面,在一种可能的实现方式中,所述根据所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改,包括:
确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述根据所述数据报文确定新MSS值,包括:
生成MSS变更事件,并获取所述数据报文的数据字段长度;
根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述向发送端发送MSS协商报文,包括:
根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
本发明的第二方面,提供一种MSS的协商方法,包括:
发送端接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值;
根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值。
结合第二方面,在一种可能的实现方式中,在所述根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值之前,还包括:
确定所述MSS协商报文中包含MSS协商选项头。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,在所述根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值之后,还包括:
根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
本发明的第三方面,提供一种MSS的协商装置,包括:
接收单元,用于接收发送端的数据报文;
确定单元,用于根据所述接收单元得到的所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改,并根据所述接收单元得到的所述数据报文确定新MSS值;
发送单元,用于向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值。
结合第三方面,在一种可能的实现方式中,
所述确定单元,具体用于确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,所述确定单元,具体用于:
生成MSS变更事件,并获取所述数据报文的数据字段长度;
根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,所述发送单元,具体用于:
根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
本发明的第四方面,在一种MSS的协商装置,包括:
接收单元,用于接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值;
修改单元,用于根据所述接收单元得到的所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值。
结合第四方面,在一种可能的实现方式中,还包括:
确定单元,用于在所述修改单元根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之前,确定所述MSS协商报文中包含MSS协商选项头。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,还包括:
发送单元,用于在所述修改单元根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之后,根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
本发明实施例提供的MSS的协商方法及装置,接收端根据发送端的数据报文确定发送端的当前MSS值需要进行修改,然后根据数据报文确定新MSS值,并向发送端发送携带新MSS值的MSS协商报文,以便发送端根据MSS协商报文修改发送端的当前MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种MSS的协商方法流程图;
图2为本发明实施例2提供的一种MSS的协商方法流程图;
图3为本发明实施例3提供的一种MSS的协商方法流程图;
图4为本发明实施例4提供的一种MSS的协商装置组成示意图;
图5为本发明实施例5提供的一种MSS的协商装置组成示意图;
图6为本发明实施例5提供的另一种MSS的协商装置组成示意图;
图7为本发明实施例6提供的一种MSS的协商装置组成示意图;
图8为本发明实施例7提供的一种MSS的协商装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例1
本发明实施例1提供一种MSS的协商方法,在TCP/IP协议栈RFC中,规定了进行通信的双方设备在TCP连接建立的过程中,需要通过MSS协商报文对发送端发送的TCP报文的数据字段的长度,即发送端的MSS值进行协商。但是,在TCP连接建立了之后,当链路的MTU值变小时,发送端的MSS值也需要进行相应的修改,这样可以避免IP报文被分片或被丢弃的情况发生,本发明实施例在此提供一种MSS的协商方法,如图1所示,该方法可以包括:
101、接收端接收发送端的数据报文。
102、接收端根据数据报文确定发送端的当前MSS值需要进行修改,并根据数据报文确定新MSS值。
其中,在接收端接收到发送端的数据报文之后,便可以根据接收到的数据报文判断发送端的当前MSS值是否需要进行修改,并在确定发送端的当前MSS值需要进行修改时,接收端便可以根据接收到的数据报文确定新MSS值,并执行以下步骤103。
103、接收端向发送端发送MSS协商报文,MSS协商报文中携带新MSS值,以便发送端根据MSS协商报文修改发送端的当前MSS值。
其中,在接收端根据数据报文确定发送端的当前MSS值需要进行修改,并根据数据报文确定新MSS值之后,便可以将新MSS值携带在MSS协商报文中发送至发送端,以便发送端可以根据接收到的MSS协商报文修改自身的当前MSS值,即发送端将自身的当前MSS值修改为新MSS值,进而发送端可以根据新MSS值生成新的报文,以避免新的报文在发送至接收端的过程中被分片或被丢弃的情况发生。
需要说明的是,本发明实施例中所述的接收端和发送端为需要进行通信的两端设备,可以是计算机等电子设备。
本发明实施例提供的MSS的协商方法,接收端根据发送端的数据报文确定发送端的当前MSS值需要进行修改,然后根据数据报文确定新MSS值,并向发送端发送携带新MSS值的MSS协商报文,以便发送端根据MSS协商报文修改发送端的当前MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例2
本发明实施例2提供一种MSS的协商方法,在TCP/IP协议栈RFC中,规定了进行通信的双方设备在TCP连接建立的过程中,需要通过MSS协商报文对发送端发送的TCP报文的数据字段的长度,即发送端的MSS值进行协商。但是,在TCP连接建立了之后,当链路的MTU值变小时,发送端的MSS值也需要进行相应的修改,这样可以避免IP报文被分片或被丢弃的情况发生,本发明实施例在此提供一种MSS的协商方法,如图2所示,该方法可以包括:
201、发送端接收接收端的MSS协商报文。
其中,MSS协商报文中携带新MSS值。
202、发送端根据MSS协商报文将发送端的当前MSS值修改为新MSS值。
其中,在发送端接收到接收端的MSS协商报文之后,便可以根据MSS协商报文中携带的新MSS值将自身的当前MSS值修改为新MSS值,以便在后续采用该新MSS值生成新的报文,这样可以避免新的报文在发送至接收端的过程中被分片或被丢弃的情况发生。
需要说明的是,本发明实施例中所述的接收端和发送端为需要进行通信的两端设备,可以是计算机等电子设备。
本发明实施例提供的MSS的协商方法,发送端接收接收端的携带新MSS值的MSS协商报文,然后根据MSS协商报文将发送端的当前MSS值修改为新MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将自身的当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例3
本发明实施例3提供一种MSS的协商方法,在TCP/IP协议栈RFC中,规定了进行通信的双方设备在TCP连接建立的过程中,需要通过MSS协商报文对发送端发送的TCP报文的数据字段的长度,即发送端的MSS值进行协商。但是,在TCP连接建立了之后,当链路的MTU值变小时,发送端的MSS值也需要进行相应的修改,这样可以避免IP报文被分片或被丢弃的情况发生,本发明实施例在此提供一种MSS的协商方法,如图3所示,包括:
301、接收端接收发送端的数据报文。
其中,接收端可以通过上层转发设备(如路由器)接收发送端的数据报文。
302、接收端根据数据报文确定发送端的当前MSS值需要进行修改。
其中,在接收端接收到发送端的数据报文之后,可以根据接收到的数据报文,确定发送端的当前MSS值是否需要进行修改,并在确定发送端的当前MSS值需要进行修改时,执行以下步骤303-步骤308。
在本发明实施例中,接收端根据接收到的发送端的数据报文确定发送端的当前MSS值需要进行修改具体的可以是,发送端确定接收到的发送端的数据报文为IP分片报文,且确定接收到的发送端的数据报文为上层转发设备对发送端的IP报文进行分片得到的首个分片报文,且确定接收到的发送端的数据报文为TCP报文,当接收到的发送端的数据报文同时满足上述条件时,则确定发送端的当前MSS值需要进行修改。
303、接收端生成MSS变更事件,并获取数据报文的数据字段长度。
其中,在接收端根据接收到的发送端的数据报文确定发送端的当前MSS值需要进行修改之后,接收端便可以生成MSS变更事件,并获取数据报文的数据字段长度。其中,该MSS变更时间用于指示接收端根据接收到的发送端的数据报文确定新MSS值,并在确定新MSS值之后,将该新MSS发送至发送端。示例性的,数据报文的数据字段的长度为数据报文的长度减去IP报文头的长度。
304、接收端根据MSS变更事件和数据字段长度确定新MSS值。
其中,在接收端生成MSS变更事件,并获取到数据报文的数据字段长度之后,接收端便可以根据MSS变更事件和数据字段长度确定新MSS值。示例性的,新MSS值等于数据字段的长度减去TCP报文头的长度。
305、接收端根据MSS变更事件,向发送端发送MSS协商报文。
其中,在接收端根据MSS变更时间和数据字段长度确定新MSS值之后,接收端便可以根据MSS变更事件,将新MSS值携带在MSS协商报文中发送至发送端,这样发送端便可以接收来自接收端的携带新MSS值的MSS协商报文。
306、发送端确定MSS协商报文中包含MSS协商选项头。
其中,在接收端根据MSS变更事件向发送端发送MSS协商报文,且发送端接收到接收端的MSS协商报文之后,发送端便可以根据MSS协商报文确定该MSS协商报文中包含MSS协商选项头,以确定接收端需要与自身对自身的MSS值进行协商。
307、发送端根据MSS协商报文将发送端的当前MSS值修改为新MSS值。
其中,在发送端确定MSS协商报文中包含MSS协商选项头之后,发送端便可以更新自身的MSS值,即根据MSS协商报文中携带的新MSS值,将自身的当前MSS值修改为新MSS值。
308、发送端根据新MSS值生成数据报文,并将数据报文发送至接收端。
其中,在发送端根据MSS协商报文将发送端的当前MSS值修改为新MSS值之后,在发送端需要向接收端发送新的数据报文时,便可以根据新MSS值生成数据报文,然后将生成的数据报文发送至接收端,这样可以避免新的报文在发送至接收端的过程中被分片或被丢弃的情况发生。
需要说明的是,本发明实施例中利用TCP协议中的MSS字段功能,解决了现有技术中需要采用专有链路分片错误通告ICMP报文才能避免IP报文被分片或者被丢弃的问题,且本发明实施例的实施过程不用修改现有TCP/IP协议栈便可实现。
需要说明的是,本发明实施例中所述的接收端和发送端为需要进行通信的两端设备,可以是计算机等电子设备。
为了便于本领域技术人员的理解,本发明实施例在此进行举例说明。
例如,计算机A为发送端,计算机B为接收端,计算机A之前检测到的链路MTU值为1040字节,但后续链路的MTU值减小为940字节,计算机A可以根据检测到的MTU值确定自身的当前MSS值为1000字节(此处以TCP报文头的长度为20字节,IP报文头的长度为20字节为例)。当计算机A需要向计算机B发送报文时,则会按照自身的当前MSS值生成IP报文,此时IP报文的中携带的数据的长度为1000字节,当计算机A将IP报文发送至路由器时,路由器会对接收到的IP报文进行分片,且首个分片报文会按照当前MTU值进行分片,那么此时发送到计算机B的数据报文的长度为940字节,其中,TCP报文头的长度为20字节,IP报文头的长度为20字节,数据的长度为900字节。当计算机B接收到计算机A的数据报文时,首先确定该数据报文为IP分片报文,且确定该数据报文为上层转发设备对计算机A的IP报文进行分片得到的首个分片报文,且确定该数据报文为TCP报文,那么此时计算机B确定计算机A的当前MSS值需要进行修改,然后计算机B根据接收到的数据报文计算出新MSS值为900字节,并将该新MSS值发送至计算机A,最后,计算机A便将自身的当前MSS值修改为新MSS值,并在后续向计算机B发送数据报文时采用新MSS值生成数据报文,这样通过计算机A和计算机B的协商,在不依赖上层转发设备的情况下,避免了IP报文被分片或被丢弃的情况的发生。
本发明实施例提供的MSS的协商方法,接收端根据发送端的数据报文确定发送端的当前MSS值需要进行修改,然后根据数据报文确定新MSS值,并向发送端发送携带新MSS值的MSS协商报文,以便发送端根据MSS协商报文修改发送端的当前MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例4
本发明实施例4提供一种MSS的协商装置,如图4所示,包括:接收单元41、确定单元42、发送单元43。
接收单元41,用于接收发送端的数据报文。
确定单元42,用于根据所述接收单元41得到的所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改,并根据所述接收单元41得到的所述数据报文确定新MSS值。
发送单元43,用于向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值。
在本发明实施例中,进一步的,所述确定单元42,具体用于确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
在本发明实施例中,进一步的,所述确定单元42,具体用于生成MSS变更事件,并获取所述数据报文的数据字段长度;根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
在本发明实施例中,进一步的,所述发送单元43,具体用于根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
需要说明的是,本发明实施例提供的MSS的协商装置中各功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的MSS的协商装置,接收端根据发送端的数据报文确定发送端的当前MSS值需要进行修改,然后根据数据报文确定新MSS值,并向发送端发送携带新MSS值的MSS协商报文,以便发送端根据MSS协商报文修改发送端的当前MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例5
本发明实施例5提供一种MSS的协商装置,如图5所示,包括:接收单元51、修改单元52。
接收单元51,用于接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值。
修改单元52,用于根据所述接收单元51得到的所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值。
在本发明实施例中,进一步的,如图6所示,所述装置还可以包括:确定单元53。
确定单元53,用于在所述修改单元52根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之前,确定所述MSS协商报文中包含MSS协商选项头。
在本发明实施例中,进一步的,所述装置还可以包括:发送单元54。
发送单元54,用于在所述修改单元52根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之后,根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
需要说明的是,本发明实施例提供的MSS的协商装置中各功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的MSS的协商装置,发送端接收接收端的携带新MSS值的MSS协商报文,然后根据MSS协商报文将发送端的当前MSS值修改为新MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将自身的当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例6
本发明实施例6提供一种MSS的协商装置,如图7所示,包括:至少一个处理器61、存储器62、通信接口63和总线64,该至少一个处理器61、存储器62和通信接口63通过总线64连接并完成相互间的通信,其中:
所述总线64可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线64可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器62用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述处理器61可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口63,主要用于实现本实施例的设备之间的通信。
所述处理器61,用于执行所述存储器62中存储的可执行程序代码,具体的用于执行以下操作:
所述处理器61,用于接收端接收发送端的数据报文;根据所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改;根据所述数据报文确定新MSS值;向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值。
在本发明实施例中,进一步可选的,所述处理器61,具体用于确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
在本发明实施例中,进一步可选的,所述处理器61,具体用于生成MSS变更事件,并获取所述数据报文的数据字段长度;根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
在本发明实施例中,进一步可选的,所述处理器61,具体用于根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
需要说明的是,本发明实施例提供的MSS的协商装置中各功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的MSS的协商装置,接收端根据发送端的数据报文确定发送端的当前MSS值需要进行修改,然后根据数据报文确定新MSS值,并向发送端发送携带新MSS值的MSS协商报文,以便发送端根据MSS协商报文修改发送端的当前MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
实施例7
本发明实施例7提供一种MSS的协商装置,如图8所示,包括:至少一个处理器71、存储器72、通信接口73和总线74,该至少一个处理器71、存储器72和通信接口73通过总线74连接并完成相互间的通信,其中:
所述总线74可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线74可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器72用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器72可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述处理器71可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口73,主要用于实现本实施例的设备之间的通信。
所述处理器71,用于执行所述存储器72中存储的可执行程序代码,具体的用于执行以下操作:
所述处理器71,用于接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值;根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值。
在本发明实施例中,进一步可选的,所述处理器71,还用于在所述根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之前,确定所述MSS协商报文中包含MSS协商选项头。
在本发明实施例中,进一步可选的,所述处理器71,还用于在所述根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值之后,根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
需要说明的是,本发明实施例提供的MSS的协商装置中各功能模块的具体描述可以参考方法实施例中对应内容的具体描述,本发明实施例在此不再详细赘述。
本发明实施例提供的MSS的协商装置,发送端接收接收端的携带新MSS值的MSS协商报文,然后根据MSS协商报文将发送端的当前MSS值修改为新MSS值,在不依赖上层转发设备的情况下,通过发送端和接收端的协商,使得发送端将自身的当前MSS值修改为新MSS值,解决了在发送端的IP报文的长度大于MTU值时,IP报文被分片或被丢弃的问题。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种MSS的协商方法,其特征在于,包括:
接收端接收发送端的数据报文;
根据所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改;
根据所述数据报文确定新MSS值;
向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值;
其中,所述根据所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改,包括:
确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据报文确定新MSS值,包括:
生成MSS变更事件,并获取所述数据报文的数据字段长度;
根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
3.根据权利要求2所述的方法,其特征在于,所述向发送端发送MSS协商报文,包括:
根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
4.一种MSS的协商方法,其特征在于,包括:
发送端接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值,所述新MSS值是所述接收端在根据数据报文确定所述发送端的当前MSS值需要进行修改时,根据所述数据报文确定的,所述根据数据报文确定所述发送端的当前MSS值需要进行修改,包括:确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改;
根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值。
5.根据权利要求4所述的方法,其特征在于,在所述根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值之前,还包括:
确定所述MSS协商报文中包含MSS协商选项头。
6.根据权利要求4或5所述的方法,其特征在于,在所述根据所述MSS协商报文将所述发送端的当前MSS值修改为所述新MSS值之后,还包括:
根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
7.一种MSS的协商装置,其特征在于,包括:
接收单元,用于接收发送端的数据报文;
确定单元,用于根据所述接收单元得到的所述数据报文确定所述发送端的当前最大分片长度MSS值需要进行修改,并根据所述接收单元得到的所述数据报文确定新MSS值;
发送单元,用于向发送端发送MSS协商报文,所述MSS协商报文中携带所述新MSS值,以便所述发送端根据所述MSS协商报文修改所述发送端的当前MSS值;
其中,所述确定单元,具体用于确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改。
8.根据权利要求7所述的装置,其特征在于,所述确定单元,具体用于:
生成MSS变更事件,并获取所述数据报文的数据字段长度;
根据所述MSS变更事件和所述数据字段长度确定所述新MSS值。
9.根据权利要求8所述的装置,其特征在于,所述发送单元,具体用于:
根据所述MSS变更事件,向所述发送端发送所述MSS协商报文。
10.一种MSS的协商装置,其特征在于,包括:
接收单元,用于接收接收端的最大分片长度MSS协商报文,所述MSS协商报文中携带新MSS值,所述新MSS值是所述接收端在根据数据报文确定发送端的当前MSS值需要进行修改时,根据所述数据报文确定的,所述根据数据报文确定所述发送端的当前MSS值需要进行修改,包括:确定所述数据报文为网际协议IP分片报文,且确定所述数据报文为上层转发设备对所述发送端的IP报文进行分片得到的首个分片报文,且确定所述数据报文为TCP报文,则确定所述发送端的当前MSS值需要进行修改;
修改单元,用于根据所述接收单元得到的所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值。
11.根据权利要求10所述的装置,其特征在于,还包括:
确定单元,用于在所述修改单元根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之前,确定所述MSS协商报文中包含MSS协商选项头。
12.根据权利要求10或11所述的装置,其特征在于,还包括:
发送单元,用于在所述修改单元根据所述MSS协商报文将发送端的当前MSS值修改为所述新MSS值之后,根据所述新MSS值生成数据报文,并将所述数据报文发送至所述接收端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610868.9A CN103647759B (zh) | 2013-11-26 | 2013-11-26 | 一种mss的协商方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610868.9A CN103647759B (zh) | 2013-11-26 | 2013-11-26 | 一种mss的协商方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103647759A CN103647759A (zh) | 2014-03-19 |
CN103647759B true CN103647759B (zh) | 2017-11-24 |
Family
ID=50252915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310610868.9A Active CN103647759B (zh) | 2013-11-26 | 2013-11-26 | 一种mss的协商方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103647759B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9584427B2 (en) * | 2014-08-19 | 2017-02-28 | Citrix Systems, Inc. | Systems and methods for providing fine grained control over MSS values of transport layer connections |
CN105763474B (zh) | 2014-12-19 | 2019-10-25 | 华为技术有限公司 | 数据传输方法和装置 |
CN106789715B (zh) * | 2016-04-22 | 2021-05-14 | 新华三技术有限公司 | 一种lsp报文长度更新方法、邻居协商方法及装置 |
CN107528792A (zh) * | 2016-06-21 | 2017-12-29 | 中兴通讯股份有限公司 | Mss的修改方法、装置及系统 |
CN108429700B (zh) * | 2017-02-13 | 2021-04-20 | 华为技术有限公司 | 一种发送报文的方法及装置 |
CN109729039B (zh) * | 2017-10-27 | 2022-05-13 | 中兴通讯股份有限公司 | 链路管理协议的协商分片方法与装置 |
CN111163037A (zh) * | 2018-11-07 | 2020-05-15 | 大唐移动通信设备有限公司 | Ip分片优化方法和装置 |
CN112911693B (zh) * | 2019-11-19 | 2022-03-29 | 大唐移动通信设备有限公司 | 一种消息处理方法和装置 |
CN112866133B (zh) * | 2019-11-26 | 2023-07-28 | 华为技术有限公司 | 用于获取共用最大分段大小mss的方法及装置 |
CN115022419B (zh) * | 2022-06-30 | 2024-02-20 | 武汉思普崚技术有限公司 | 一种自动调整mss的方法、装置和存储介质 |
CN115695308A (zh) * | 2022-11-10 | 2023-02-03 | 山石网科通信技术股份有限公司 | 报文的处理方法及其装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863165A (zh) * | 2006-01-24 | 2006-11-15 | 华为技术有限公司 | 分组域网络中减少数据ip分片数量的方法 |
CN101547146A (zh) * | 2009-04-24 | 2009-09-30 | 上海华为技术有限公司 | 确定最大报文段长度值的方法和网络设备 |
CN102594677A (zh) * | 2012-02-15 | 2012-07-18 | 杭州华三通信技术有限公司 | 用于pmtu学习的方法和装置 |
CN103079232A (zh) * | 2013-01-16 | 2013-05-01 | 大唐移动通信设备有限公司 | 一种确定报文的最大容量的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7471681B2 (en) * | 2002-10-10 | 2008-12-30 | Intel Corporation | Determining network path transmission unit |
-
2013
- 2013-11-26 CN CN201310610868.9A patent/CN103647759B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863165A (zh) * | 2006-01-24 | 2006-11-15 | 华为技术有限公司 | 分组域网络中减少数据ip分片数量的方法 |
CN101547146A (zh) * | 2009-04-24 | 2009-09-30 | 上海华为技术有限公司 | 确定最大报文段长度值的方法和网络设备 |
CN102594677A (zh) * | 2012-02-15 | 2012-07-18 | 杭州华三通信技术有限公司 | 用于pmtu学习的方法和装置 |
CN103079232A (zh) * | 2013-01-16 | 2013-05-01 | 大唐移动通信设备有限公司 | 一种确定报文的最大容量的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103647759A (zh) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103647759B (zh) | 一种mss的协商方法及装置 | |
CN104954274B (zh) | 生成转发信息的方法、控制器和业务转发实体 | |
CN104954279B (zh) | 一种传输控制方法、装置及系统 | |
EP3531620B1 (en) | Method for processing message in hybrid access network, and network device | |
AU2011223636B2 (en) | Selectively disabling reliability mechanisms on a network connection | |
CN102571587B (zh) | 报文转发方法和设备 | |
CN110601906B (zh) | 一种基于区块链的数据传输方法及装置 | |
JP6395867B2 (ja) | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ | |
CN101355505B (zh) | 一种报文的转发方法、装置和系统 | |
CN102771164B (zh) | 针对旧版本应用和非旧版本应用提供智能无线模块选择的方法和装置 | |
US20150215214A1 (en) | Method and system for increasing data flow transmission | |
CN103404181A (zh) | 取消重定向的方法、系统、网关及服务器 | |
CN108282391A (zh) | 一种vxlan报文分片方法和装置 | |
CN102315918B (zh) | 一种tcp连接与sctp连接互通的方法及装置 | |
CN110113337A (zh) | 一种无地址设备的数据传输方法、相关方法以及相关装置 | |
CN109936566A (zh) | 一种数据传输方法系统、装置及计算机可读存储介质 | |
CN104254062B (zh) | 一种直连链路通信方法及相关设备、系统 | |
CN104471538A (zh) | 一种数据流处理方法、设备和系统 | |
CN106209906A (zh) | 一种二层隧道协议l2tp报文传输方法及隧道端点设备 | |
JP4506430B2 (ja) | アプリケーションモニタ装置 | |
CN103947163B (zh) | 实现隧道处理的方法、装置和系统 | |
CN110351394A (zh) | 网络数据的处理方法及装置、计算机装置及可读存储介质 | |
CN109714135A (zh) | 一种数据包传输方法及装置 | |
CN105812272A (zh) | 业务链的处理方法、装置与系统 | |
CN103905302A (zh) | 一种在使用虚拟网卡的Windows主机上绑定源IP的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211223 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |