专利名称:一种具有通告最大传输单元功能的主机及相应的通告方法
技术领域:
本发明涉及局域网领域,尤其涉及一种在计算机网络中具有通告最大传
输单元(Maximum Transmission Unit, MTU)功能的主机及相应的通告方法。
背景技术:
在局域网中,主才几之间在传送数据帧时通常采用默认的MTU (如1500 字节),对于长度超过默认的MTU数据帧,会引起IP分片。当局域网中主 机间可以允许比默认MTU更大的MTU时,如果继续采用默认的MTU,对 于数据帧长度小于主机间可以允许的更大的MTU但大于默认MTU的数据 帧也将被分片,这样就造成了网络数据传送的效率下降。
发明内容
本发明要解决的技术问题是提供一种具有通告最大传输单元功能的主 机及相应的通告方法,有效地提高了网络数据传送的效率。
为了解决上述问题,本发明提供了一种具有通告最大传输单元(MTU) 功能的主机,所述主机为局域网中的主机,包括IP分片模块和报文收发模 块,还包括MTU通告模块和MTU协商模块,其中
所述MTU通告模块,用于在传输数据帧之前,通过报文收发模块向接 收端主机发送本主机的MTU的信息,并将所述报文收发模块接收到的所述 接收端主机返回的MTU发送到IP分片模块作为本主机IP分片的依据;
所述MTU协商模块,用于在报文收发模块接收到发送端主机发来的 MTU的信息后,将所述发送端主机的MTU与本主机的MTU进行比较,将 其中较小的MTU作为本主机IP分片的依据,并将该较小的MTU的信息通 过所述报文收发模块发送给发送端主机。进一步地,上述主机还具有如下特点
所述主机利用地址解析协议报文通告所述MTU,所述地址解析协议才艮 又包括地址解析协议请求报文和地址解析协议应答报文。
进一步地,上述主4几还具有如下特点
所述地址解析协议^R文增加了 n个字节长度的MTU字段,用于填写所 述主机的MTU的信息,所述MTU字萃爻位于所述ARP报文的末尾填充字节, 其中n为[l,18]内的整数。
进一步地,上述主机还具有如下特点
如果所述MTU不等于所述默认MTU时,在所述MTU字段中填入所述 主机的MTU值;如果所述主机的MTU等于默i人MTU时,将所述MTU字 段置为0或在所述MTU字段中填入该默认MTU值。
进一步地,上述主机还具有如下特点
所述主机没有开启通告MTU功能或者不具有通告MTU功能时,将所 述MTU字段置为0。
为了解决上述问题,本发明还提供了一种最大传输单元(MTU)的通 告方法,应用于局域网中,包括,
发送端主机在传输数据帧之前,向接收端主机发送本发送端主机的 MTU的信息;
所述接收端主机接收到所述发送端主机发来的MTU的信息后,将所述 发送端主机的MTU与本接收端主机的MTU进行比较,采用其中较小的 MTU作为本接收端主机IP分片的依据,并将该较小的MTU的信息发送给 所述发送端主机;
所迷发送端主机将所述接收端主机发送来的所述较小的MTU作为本发 送端本机IP分片的依据。
进一步地,上述通告方法还具有如下特点
所述主机利用地址解析协议报文通告所述MTU,所述地址解析协议报文包括地址解析协议请求报文和地址解析协议应答报文。
进一步地,上述通告方法还具有如下特点
所述地址解析协议报文增加了 n个字节长度的MTU字段,用于填写所 述主机的MTU的信息,所述MTU字段位于所述ARP报文的末尾填充字节, 其中n为[l,18]内的整数。
进一步地,上述通告方法还具有如下特点
如果所述MTU不等于所述默认MTU时,在所述MTU字段中填入所述 主机的MTU值;如果所述主机的MTU等于默认MTU时,将所述MTU字 段置为0或在所述MTU字段中填入该默认MTU值。
进一步地,上述通告方法还具有如下特点
所述主机没有开启通告MTU功能或者不具有通告MTU功能时,将所 述MTU字段置为0。
上述计算机网络的主才几之间通过通告MTU,使主才几在每次发送数据帧 时,在系统允许的情况下直接发送长度大于默认MTU的数据帧,而不进行 IP分片,有效地提高了网络数据传送的效率。
图1为现有技术中的ARP报文结构;
图2为本发明实施例中增加了 MTU字段的ARP报文结构;
图3为本发明应用实例中通告MTU的流程图。
具体实施例方式
下面结合附图对本发明的实施方式进行详细描述。 实施例一
局域网主机间正式传送数据帧之前都要发送地址解析协议(Address Resolution Protocol, ARP )报文(包括ARP请求4艮文和ARP应答报文),以获知对端主机的硬件地址。目前所使用的ARP报文结构如图1所示,其 中用于ARP请求或应答的字^:只有28个字节,加上以太网帧头14字节, --共只有42个字节,由于以太网的最小报文长度要求为60字节,因此需要 在ARP报文的尾部增加18个填充字节,以达到以太网的最小报文长度。
本实施例中通过对ARP净艮文进行扩展,实现局域网主机间通告MTU的 信息的功能,使得主机间互相知晓对方所能采用的MTU。
对ARP报文进行扩展时(包括对ARP请求报文的扩展和对ARP应答 报文的扩展),具体可以为在ARP报文中选取n个字节作为MTU字段, 用来通告本机的MTU的信息,该MTU字段可以位于ARP报文的任何位置, 其中n为[l,18]内的整数;较佳选用ARP报文末尾的填充字节中n个字节作 为MTU字段,该MTU字段可以位于填充字节的头部或尾部或中间的任何 位置,本实施例中n-4,并选用填充字节的头部作为MTU字段,本实施例 中,增加了 MTU字段的ARP报文的结构如图2所示。
主机在使用扩展的ARP报文时,发送ARP请求报文的主机在MTU字 段填入本主机要通告的MTU的信息;接收端主机在ARP应答报文中也填入 应答主机要通告的MTU的信息。具体包括如下步骤
步骤一、发送端主机在发送ARP请求报文时,在ARP请求报文写入 发送端主机的MTU的信息;
有些发送端主机可能不需要通告本端的MTU的信息,如主机的MTU 等于系统默认的MTU或者该主才几没有开启通告MTU功能,或者该主机不 具有通告MTU功能时,发送端主机可以将ARP请求报文中的MTU字段设 置为0,表示发送端主机的MTU为默认值;
步骤二、接收端主机在接收到ARP请求报文后,则比较本机MTU与发 送端主机的MTU,将其中较小的MTU作为接收端主机IP分片的依据,并 将该MTU的信息添加到ARP应答报文中的MTU字段;
在另一实施例中,如果接收端主机经过比较后,较小的MTU等于默认 的MTU,也可以将ARP应答报文的MTU置为0;接收端如果发现ARP请 求报文中的MTU字段为0,则使用默认的MTU,在ARP应答报文中将MTU也设置为0。
步骤三、发送端主机在收到ARP应答报文后,使用该ARP应答报文中 的MTU作为IP分片的依据;
如果ARP应答报文中的MTU字段为0,则使用默认的MTU。文中, 默认的MTU是各个主机之间统一的,即所应用于的局域网系统规定的 MTU,如1500字节。
本实施例为用于实现上述通告方法的具有通告MTU功能的主机,包括 ARP收发模块和IP分片模块,特别地,还包括
MTU通告模块,用于在传输数据帧之前,通过ARP收发模块向接收端 主机发送本主机的MTU的信息,并将ARP收发模块接收到的接收端主机返 回的MTU发送到IP分片模块作为本主机IP分片的依据;
MTU协商模块,用于在ARP收发模块接收到发送端主机发来的MTU 的信息后,将所述发送端主机的MTU与本主机的MTU进行比较,将其中 较小的MTU作为本主机IP分片的依据,并将该较小的MTU的信息通过 ARP收发模块发送给发送端主机。
在通告MTU时,局域网中可采用ARP才艮文,也可以采用其他方式,如 用单独的消息发送MTU来实现通告,或者添加到其他报文中。但是由于 ARP报文开销小,较佳采用如本实施例中选用的ARP报文。
下面将详细介绍一个将上述实施例应用到通信设备的主控单板和业务 单板的应用示例。
某通信设备的业务单板(如MTU为4096字节)从主控单板(如MTU 为8192字节)中下载程序时,为提高下载速率,采用了MTU通告的方式, 图3所示为MTU通告的流程图,具体包括如下步骤
步骤310、主控单板给业务单板发送ARP请求报文,通告主控单板的 MTU为8192字节;
步骤320、业务单板在收到ARP请求时,将主控单板通告的8192字节 MTU与本机的4096字节MTU作比较,取二者的较小值即4096字节作为本
8机当前通信采用的MTU。并在ARP应答报文中附加该MTU ( 40%字节);
步骤330:主控单板收到ARP应答后,将业务单板通告的4096字节 MTU作为本机当前通信采用的MTU;
步骤340.主控单板在给业务单板提供下载程序时,把超过4096字节的 数据帧进行IP分片;
步骤350.业务单板在跟主控单板通信,把超过4096字节的数据帧进行 IP分片。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本 领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
权利要求
1、一种具有通告最大传输单元(MTU)功能的主机,所述主机为局域网中的主机,包括IP分片模块和报文收发模块,其特征在于,还包括MTU通告模块和MTU协商模块,其中所述MTU通告模块,用于在传输数据帧之前,通过报文收发模块向接收端主机发送本主机的MTU的信息,并将所述报文收发模块接收到的所述接收端主机返回的MTU发送到IP分片模块作为本主机IP分片的依据;所述MTU协商模块,用于在报文收发模块接收到发送端主机发来的MTU的信息后,将所述发送端主机的MTU与本主机的MTU进行比较,将其中较小的MTU作为本主机IP分片的依据,并将该较小的MTU的信息通过所述报文收发模块发送给发送端主机。
2、 如权利要求1所述的主机,其特征在于所述主^L利用地址解析协议^R文通告所述MTU,所述地址解析协议才艮 文包括地址解析协议请求纟艮文和地址解析协议应答报文。
3、 如权利要求2所述的主机,其特征在于所述地址解析协议报文增加了 n个字节长度的MTU字段,用于填写所 述主机的MTU的信息,所述MTU字段位于所述ARP报文的末尾填充字节, 其中n为[l,18]内的整数。
4、 如权利要求3所述的主机,其特征在于如果所述MTU不等于所述默认MTU时,在所述MTU字段中填入所述 主机的MTU值;如果所述主机的MTU等于默认MTU时,将所述MTU字 段置为0或在所述MTU字段中填入该默认MTU值。
5、 如权利要求3或4所述的主机,其特征在于所述主机没有开启通告MTU功能或者不具有通告MTU功能时,将所 述MTU字^殳置为0。
6、 一种最大传输单元(MTU)的通告方法,应用于局域网中,包括,发送端主机在传输数据帧之前,向接收端主机发送本发送端主才几的MTU的信息;所述接收端主机接收到所述发送端主机发来的MTU的信息后,将所述 发送端主机的MTU与本接收端主机的MTU进行比较,采用其中较小的 MTU作为本接收端主机IP分片的依据,并将该较小的MTU的信息发送给 所述发送端主机;所述发送端主机将所述接收端主机发送来的所述较小的MTU作为本发 送端本机IP分片的依据。
7、 如权利要求6所述的通告方法,其特征在于所述主机利用地址解析协议报文通告所述MTU,所述地址解析协议报 文包括地址解析协议请求报文和地址解析协议应答报文。
8、 如权利要求7所述的通告方法,其特征在于所述地址解析协议报文增加了 n个字节长度的MTU字段,用于填写所 述主机的MTU的信息,所述MTU字段位于所述ARP报文的末尾填充字节, 其中n为[l,18]内的整数。
9、 如权利要求8所述的通告方法,其特征在于如果所述MTU不等于所述默认MTU时,在所述MTU字段中填入所述 主才几的MTU值;如果所述主机的MTU等于默i人MTU时,将所述MTU字 段置为0或在所述MTU字段中填入该默认MTU值。
10、 如权利要求8或9所述的通告方法,其特征在于所述主机没有开启通告MTU功能或者不具有通告MTU功能时,将所 述MTU字段置为0。
全文摘要
一种具有通告MTU功能的主机,所述主机为局域网中的主机,包括MTU通告模块,用于在传输数据帧之前,通过报文收发模块向接收端主机发送本主机的MTU的信息,并将所述报文收发模块接收到的所述接收端主机返回的MTU发送到IP分片模块作为本主机IP分片的依据;MTU协商模块,用于在报文收发模块接收到发送端主机发来的MTU的信息后,将所述发送端主机的MTU与本主机的MTU进行比较,将其中较小的MTU作为本主机IP分片的依据,并将该较小的MTU的信息通过所述报文收发模块发送给发送端主机。相应地,本发明还提供了一种应用于局域网中的MTU的通告方法。本发明有效地提高了网络数据传送的效率。
文档编号H04L29/06GK101616160SQ20091016151
公开日2009年12月30日 申请日期2009年7月24日 优先权日2009年7月24日
发明者王光辉, 野 田, 大 谢 申请人:中兴通讯股份有限公司