CN1905527A - 网络通信系统 - Google Patents
网络通信系统 Download PDFInfo
- Publication number
- CN1905527A CN1905527A CNA2006100995621A CN200610099562A CN1905527A CN 1905527 A CN1905527 A CN 1905527A CN A2006100995621 A CNA2006100995621 A CN A2006100995621A CN 200610099562 A CN200610099562 A CN 200610099562A CN 1905527 A CN1905527 A CN 1905527A
- Authority
- CN
- China
- Prior art keywords
- bag
- network
- gateway
- ipv6
- zigbee
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络通信系统,包括:根据IEEE 802.15.4定义的ZigBee网络、根据IP(网际协议)定义的多个IP网络和对于ZigBee网络与IP网络的协议可用的多个网关,其中,通过多个网关将多个IP网络连接到ZigBee网络,并且在该网络通信系统中发送基于ZigBee网络层的ZigBee帧,该ZigBee帧把基于IP的IP包存储在该ZigBee帧的一部分中。该网关包括跳限制控制部分,其用于将通过该网关的包的跳数减小,同时将该ZigBee网络当作IP网络中的一跳。
Description
本申请要求2005年7月28日提交的第2005-219212号日本专利申请、2005年9月6日提交的第2005-257489号日本专利申请、2005年9月6日提交的第2005-257490号日本专利申请、2005年11月4日提交的第2005-320920号日本专利申请的外国优先权,并将这些申请的内容的全部以引用方式并入本文。
技术领域
本发明涉及一种网络通信系统,具体地涉及一种用于基于IP(网际协议)的传导通信的系统,这种传导通信利用了根据IEEE 802.15.4标准化的ZigBee(注册商标)网络层。
背景技术
图1是ZigBee网络的概念图。在图1中,ZigBee网络1是在IEEE 802.15.4中定义的网络。ZigBee网络装置A到F遵守IEEE802.15.4标准。在IEEE 802.15.4中定义的ZigBee网络被提供用于连接ZigBee网络装置,并具有发送包的功能。因此,ZigBee网络装置A到F可以彼此发送和接收包。ZigBee网络用于使得ZigBee网络装置A到F彼此间进行传导通信,而不通过IP进行通信。
具体地讲,ZigBee网络装置一直到应用层都必须符合ZigBee规范,但本发明不要求ZigBee网络装置一直到应用层都符合ZigBee规范,其只需到网络层(或在IEEE 802.15.4上等同的功能)符合ZigBee规范。
互联网工程任务组(IETF)进行尝试以使得将网际协议(IPv6)用于ZigBee网络装置成为可能。
如图2所示,也尝试通过第一ZigBee网络2和第二ZigBee网络3之间的网关4和5来连接IPv6或IPv4网络6,并使得ZigBee包流到IPv6或IPv4网络6,从而在ZigBee网络装置G、H、I和J、K、L之间提供通信。
可用JP-A-2005-512461作为现有技术的专利文献。其说明了一种使用该网际协议向个人发送电子信息的方法。具体地讲,将地址分配给个人而非装置,并且个人将分配的地址输入到该个人附近的终端,因此将地址指向该个人的包发送到该个人附近的装置。
这里,ZigBee被描述为用于认证个人标识的设备所具有的接口之一,但是并未公开如本发明中使用ZigBee网络基于IP(网际协议)的通信。
为了通过ZigBee网络选择性地连接根据IP定义的网络,例如,要考虑基于协议IPv6的路由选择。在这种情况下,必须区别ZigBee网络和IPv6网络,并且在各网络之间传送控制变得必要。
由IEEE 802.15.4规定的帧大小为127八位位组,ZigBee帧的大小为102八位位组。这不能满足IPv6的最小MTU(最大传送单元)值。
IPv6头为40八位位组,这对于IEEE 802.15.4网络来说较大,因此通过IPv6传递该头的效率很低。如果该头可被压缩,则提供高效率的通信将成为可能。此时,尚未建议使用基于IEEE 802.15.4的网络通过IPv6来传递一个包(头)。
发明内容
因此,本发明的一个目的是提供一种网络通信系统,其可被用在难于铺设网络电缆的区域,或提供一种系统,在发生恐怖活动或地震等灾难、无法期望网络电缆和电源供应将正常工作的时候,该系统仍能运行。
在一些实施方式中,本发明的网络通信系统包括:
根据ZigBee网络层定义的ZigBee网络;
根据IP(网际协议)定义的多个IP网络;和
对于ZigBee网络和IP网络的协议可用的多个网关,
其中,通过多个网关将多个IP网络连接到ZigBee网络,并且
在ZigBee网络中发送基于ZigBee网络层的ZigBee帧,ZigBee帧把基于IP的IP包存储在ZigBee帧的一部分中。
附图说明
图1是ZigBee网络的概念图;
图2是用于使包流到IPv6或IPv4网络中的一个网络的概念图;
图3是示出本发明实施例的结构图;
图4是ZigBee帧格式示例的示图;
图5是IPv6包的包格式示例的示图;
图6是内容头格式示例的示图;
图7是网关10结构示例的示图;
图8是静态内容头格式示例的示图;
图9是应用支持子层帧格式示例的示图;
图10是应用支持子层中一个帧控制格式示例的示图;
图11是ZigBee帧格式示例的示图;
图12是扩展了ID的帧格式示例的示图;
图13是扩展了图8中的ID的帧格式示例的示图;
图14示出了将图12中的全部5位保留字段分配到分段补偿的示例;
图15是包含了有效负荷长度的内容头格式的示例的示图;
图16是使用了隐含有效负荷长度的内容头格式的示例的示图;
图17是对IPv6路由表中的记录示例的示意性表示;
图18是对网关传送表中的记录示例的示意性表示;
图19是对针对每一目的地指定不同虚拟接口的IPv6路由表中的记录示例的示意性表示;
图20是对用于从虚拟接口标识符搜索被转发网关的网关表中的记录示例的示意性表示;
图21是示出IPv6头基础部分格式的示图;
图22是安装了映射表的网关10的结构示例的示图;
图23是对网关10接收的IPv6包的示意性表示;
图24是对网关10产生的IPV6包的示意性表示;以及
图25是一个新的内容头格式示例的示图。
具体实施方式
现在将参考附图说明本发明的优选实施例。图3是示出本发明实施例的配置图,并示出了IP网络配置为IPv6网络的示例。通过第一IPv6网络7、第二IPv6网络8和第三IPv6网络9之间的网关10到12连接ZigBee网络1。这里,假设网关10到12可使用ZigBee网络协议和IPv6网络协议。
首先,将讨论包格式。
为了在图1的网络配置中传送IP包,可以使用将IP包安置在ZigBee帧中的技术。ZigBee帧如图4所示。在图4中,帧控制指示了该帧为数据。将ZigBee网络中的目的地址输入到目的地址中,并将ZigBee网络中的发送方地址输入到源地址中。假设其他字段具有适当的值,可使该帧到达定位在目的地址中的网关。
如图5所示的IPv6包存储在图4中示出的ZigBee网络帧格式的有效负荷部分中。为了提供可扩展性,把一个称为内容头的头插入到IPv6包的开始位置。稍后将说明该内容头。扩展头的大小N和M取决于扩展头的类型。
发送方,即网关,将IPv6包存储在包的有效负荷部分中,并将该包发送到ZigBee网络中的目的地址。参考图3,将网关10接收到的IPv6包存储在ZigBee帧中,并将该ZigBee帧通过ZigBee网络发送到网关11。
网关11将IPv6包从接收到的ZigBee帧的有效负荷中取出,并将该IPv6包传送到IPv6网络8。当传送该IPv6包时,网关10将IPv6头中的跳限制(hop limit)减1。
如果IP包的有效负荷足够小(例如,20八位位组或更小),则不存在损伤,因为可将IPv6包按其原样存储。可以使用设计为用来发送很小的数据的网络来进行操作。
会发生IPv6包的大小超过ZigBee帧的有效负荷的情况。通常,在IPv6网络中,如果要传送的包大于该包要传送到的网络(链路)的MTU值,则存在这样的需要:试图传送该包的装置将ICMP(网际控制报文协议)v6错误报文(包过大)发送到发送方来提供传送目的地MTU值的通知。
然而,在IPv6中必须保证的最小MTU值为1280个八位位组,并且不会把一个小于最小MTU值(1280个八位位组)的MTU值的通知发送到发送方。在ZigBee的情况下,事实上,即使一个小于1280个八位位组的包也不适合ZigBee帧的有效负荷。因为小于1280个八位位组的MTU值由于IPv6规范而不能被发送到发送方,所以网关10将该包分割并传送该包。
此时,网关10可发送一个MTU=1280的包过大报文;然而,因为有效负荷的头大小变的较大,所以不发送该包过大报文是有效的。另一方面,如果每包的大小变的更大,则需要增加用于在网关中分割包并重新组合该包所需的工作空间的大小。因此,也要考虑允许用户来设置发送或不发送一个包过大报文,以及允许用户来指定如果发送了一个包过大报文则在该系统中该指定的MTU值是否被确定。在IPv6的默认设置中,以太网(注册商标)上的包大小为1500八位位组,因此也要考虑有必要发送1500八位位组的MTU。
在不考虑是否发送了上述包过大报文的情况下可使用以下的包分割技术:
当分割一个IPv6包之后从网关10发送该IPv6包时,接收该包的网关11可将该包重新组合成一个包,或者IPv6包目的地装置可将该包重新组合成一个包。在IPv6协议中,中途路由器不分割包,因此按照该协议,网关10和11之间的ZigBee网络应被放入黑箱中,并且当进入网关10的包从网关11退出时不应被分割。这意味着在把包传送到IPv6网络8之前,网关11应把该包重新组合成一个包。因此,在接收一侧,减少了重新组合包的需要,从而减轻了处理过程所需的负荷。如果例如接收组中的IPv6装置14把包组合,则必须将IPv6头添加到每一个分割的包,因此网络效率变得更差。
将讨论把ZigBee网络放入一个黑箱中的技术。在ZigBee中,此时并未定义用于输送分割的数据的规范。之后,将在下面讨论包含了用于输送分割的数据的机制的技术:
(a)发送组(网关10)
在IPv6包的开始部分,为了发送添加如图6所示的内容头。将该内容头提供给网关10到12,从而共享输入到ZigBee帧的有效负荷中的表示了数据类型的信息。
首先,将讨论内容头的字段。
-数据控制字段
表示该头之后的包的类型和性质。
-分段补偿字段
指示了在原始IPv6包中该头之后的有效负荷的最高位符合哪个八位位组。由于高达1500八位位组的包通过上述ZigBee网络发送,所以字段长度为11位。该长度取决于被允许传送的IPv6包的大小。
-更多标记
指示了包是否为被分割的包的最后一个。如果该包为最后一个包,则设置为0;否则设置为1。
-ID字段
如果原始包被分割,则把用于指示一系列包的原始包相同的标识符输入到ID字段中。值、发送方地址和目的地址匹配的帧被重新组合到一个包中。
内容头的数据控制字段的字段如下:
-有效负荷类型:
具有4比特的值,并且指示了有效负荷中所含数据的类型。
1(0001):IPv6
2(0010):IPv4
-分段标记:
指示了有效负荷中所含数据是否为分割的包。
0:包含未分割的包
1:包含分割的包
当值为1时,内容头包含分段补偿、更多标记和ID字段。当值为0时,内容头不包含这些字段。
-保留的
未分配的。存储0。
(b)接收组(网关11)
如果接收的包的内容头的分段标记为0,则不分割包,因此该内容头之后的有效负荷中所含的IPv6包被提取并发送到IPv6网络8。
如果接收的包的内容头的分段标记为1,则该包为分割的包,并因此在网关11被重新组合。如果确定这些帧共享相同的发送方地址,则ZigBee网络头的目的地址和内容头的ID来自相同的原始包。根据内容头的补偿值来组合这些帧中内容头之后的有效负荷部分。通过将40八位位组添加到IPv6包的头中所含的有效负荷长度字段中,可以得到IPv6包的总长度。把多个帧重新组合成的包发送到网络8。
在连接到网关11的IPv6网络8中可能发生问题,并可将错误报文发送到与网关10相连的IPv6网络7上的IPv6主机中。如果网关11接收到这样的包,其通过ZigBee网络1将ICMP错误报文传送到网关10。如果该ICMP错误报文太大以至于不适合该ZigBee网络的帧,则执行与上述相似的分割和重新组合处理来将包输送到接收方IPv6地址。
图7是图3中所用的网关10(11、12)的结构示例的示图。从IPv6网络7发送到IPv6网络8的IP包数据通过作为IPv6层的低位层工作的以太网物理层16和以太网MAC层17被输入到包转发部分18,并且还被输入到跳限制控制部分19中。如果该IP包的大小超过了ZigBee帧的有效负荷,则包分割部分20将该包分割成多个预定大小的包。之后将这些包通过ICMP错误报文发送部分21、ZigBee网络层22和IEEE 802.15.4物理层/MAC层23输出到ZigBee网络1。提供了IPv6路由表26和指示被转发的网关的网关表27来指定下述包传送目的地。
跳限制控制部分19将每一通过的包的跳数减1,其中一跳被定义为IP网络中基于ZigBee网络的网络1。
ICMP错误报文发送部分21可限制只能传送到最高的一个帧,从而可通过检查ICMP错误报文的通道来提高传送效率。
相反,从IPv6网络8发送到IPv6网络7的分割的IP包数据通过IEEE 802.15.4物理层/MAC层23和ZigBee网络层22被输入到包重新组合部分24,并被组合到原始大小的IP包中。被组合回原始大小的IP包通过以太网MAC层17和以太网物理层16被输出到IPv6网络7。
为了选择网关10到12中的通信量,由于ZigBee网络的频带较窄,所以为了高效(最优)可选择一个通过ZigBee网络的包。例如,可根据IPv6通信量等级或流标号(Flow Label)字段等来选择将要通过的通信量。包可被分成将由滤波器通过的包和不能由滤波器通过的包等。
也可由接收组的网关11而非网关10来控制该跳限制。需要设置是发送组还是接收组减小该跳限制从而保证一致性。
希望的是网关10到12所允许的IPv6包的大小是可变的,因为其被看作是调谐项。这是根据以下事实:变为系统开销的IPv6头的数量取决于输入到被发送的包过大报文中的MTU值的影响。如果MTU值较小,则IPv6头占有率增加;如果MTU值较大,则在网关10到12中足够的工作空间变的必要,并且每一包的延迟增长。
以上说明了IPv6传送机制;该说明同样应用于IPv4。为了通过ZigBee网络来传递IPv4包,除非在原始包中设置了不分段标记,否则可执行普通的IP分段,从而削除了在接收组中重新组合包的需要。然而,总是将IPv4头添加到每一个分割的包,因此系统开销较大。因此,希望的是采用类似于本发明的技术。
ICMPV6错误报文允许的包大小达到1280个八位位组,并且在允许大小的范围内发送更大数量的错误源包的部分。由于依据ZigBee帧1280个八位位组的包超过了10帧,所以为了效率可能只传送第一个帧。因此,使传送可在传送整个ICMPv6包和只传送一些包之间进行切换。
内容头格式是这样的,使得内容头在下一头字段中使用一个八位位组大小的IANA协议分配号,并且固定地添加分段信息。图8示出了静态内容头格式。
在图7中,举例示出了以太网物理层16和以太网MAC层17,但可使用基于IEEE 802.11a、11b、11g的无线网、千兆位以太网等。
如果需要在网关10到12上操作一些ZigBee应用程序,则网关10到12需要区别针对该应用程序的帧和本发明中使用的包含IPv6的帧。针对该目的,使用如图9所示格式的应用支持子层。具体地讲,还将如图9所示格式的帧存储在先前参考图4所描述的有效负荷部分(阴影线部分)中。该头可指示在包到达的节点上将通过哪个处理部分数据。
在图9的格式中,事实上,发送普通的单播(unicast)包,因此源终点变的不必要。这将在另一应用支持子层中的帧控制的间接地址模式中进行描述。把对于IPv6包传送功能适当的值输入到接收终点、簇标识符和简档标识符。
图9中应用支持子层中的帧控制格式如图10所示。图10中的字段具有符合ZigBee规范的理想值,并且在此时刻明确的取以下值:
帧类型:00(数据)
递送模式:00(正常单播)
间接地址模式:0(不需要源终点)
安全性:0(未使用。基本上,该值可以是0或1。根据需要使用)
应答请求:0(不需要)
保留:0
在图6所示内容头之后,将图5所示IPv6包存储在图9所示应用支持子层中的有效负荷部分中。
ZigBee网络层的帧中的帧控制包含图11所示的用于指定帧类型的一个2比特帧类型的子字段。目前,在该子字段中定义以下的值:
00:数据
01:NWK命令
10-11:保留
通过如本发明中为一个帧赋值10或11来简单地通过ZigBee网络,削除了针对上述简单通过ZigBee网络的帧而使用应用支持子层的需要,并且能提高效率。
以下给出在帧类型子字段中如上所述将“10”赋值给用于隧道效应的包的示例:
00:数据
01:NWK命令
10:隧道
11:保留
以下示出多个用于改进帧格式的建议:图12是图6中的ID扩展的内容头示例的示图。图12中数据控制字段如下所示:
-有效负荷类型:
具有4比特值并指示了该有效负荷中所含数据的类型。
1(0001):IPv6
2(0010):IPv4
-分段标记:指示了有效负荷中所含数据是否为分割的包。
0:包含未分割的包
1:包含分割的包
当值为1时,内容头包含分段补偿和ID字段。当值为0时,内容头不包含这些字段。
-保留的:未分配。存储0。
接着,以下是内容头的字段:
-数据控制字段
表示该头之后的包的类型。如果未跟随IANA定义,则该字段可被设置为更小的大小。
-分段补偿字段
指示了该头之后的有效负荷的最高位符合原始IPv6包的哪个八位位组。由于高达1500八位位组的包通过上述ZigBee网络发送,所以字段长度需要11位。该长度取决于被允许的包大小。
-ID字段
如果原始包被分割,则把用于指示一系列包的原始包相同的标识符输入到ID字段中。在值以及发送方地址和目的地址中匹配的帧被重新组合到一个包中。该ID重复使用0到65535范围内的数字。
图13示出了扩展了图8中ID的格式。在图12或13中,11位的分段补偿只能表示0到2047。为了管理更大的包,可将图13中更多标记后的一个保留字段的一部分分配给分段补偿。图14示出了将图12中的全部5位保留字段分配给分段补偿的示例。
将讨论包含有效负荷长度的帧格式。图12到14中的每一帧格式都假设根据该帧以外的任何机制都可以获得该帧长度,并因此未定义输入了有效负荷长度的字段。作为通用的解决方式,优选地将有效负荷长度输入到该帧中,并因此还可以定义一个包括该有效负荷长度的帧。
图15示出了包含该有效负荷长度的内容头格式。
-分段标记:2比特长度
指示了有效负荷中所含数据是否为分割的包,并且如果该数据为分割的包还指示了位置。
00:没有分段的包
01:第一分段的包
10:最后分段的包
11:中间分段的包
-ID:16比特长度
是原始包的标识符。如果发送方地址的值、目的地址的值、和一个帧的ID的值与另一帧的这些值相同,则可以确定这些帧是同一个包的一部分。当达到最大数量,则该字段被复位为0。
-有效负荷类型:6比特长度
指示了有效负荷中所含数据的类型。
1(000001):IPv6
2(000010):IPv4
中间分段的包和最后分段的包使用C格式。
-分段#:4比特长度
表示分段的帧的顺序。由该值可以计算补偿位置。
-有效负荷长度:7比特长度
指示了分段的帧的有效负荷长度。
-保留的:1比特或3比特长度
以“0”填充
有效负荷长度被输入到图15中的帧格式中。然而,当需要分段时,如果使数据尽可能多地进入有效负荷中,则可以减小系统开销。因此,很自然地将第一分段的包或中间分段的包定义为具有有效负荷所含的最大数据的包。这里,第一分段的包和中间分段的包的每一个都被定义为必须与帧大小的最大值具有相同大小的包,因此可以使用如图16所示的使用隐含有效负荷长度的内容头格式的帧。
-分段标记:2比特长度
指示了有效负荷中所含数据是否为分割的包,并且如果该数据为分割的包还指示了位置。
00:没有分段的包
01:第一分段的包
10:最后分段的包
11:中间分段的包
中间分段的包和最后分段的包使用C格式。
当最后分段的包到达时,可由第一分段的包中所含的IPv6有效负荷长度得到整个包的大小。可由最后分段的包中所含的分段顺序得到补偿值。可由原始包的整个长度和补偿值计算出最后分段的包中所含的有效负荷长度。相反,当最后分段的包到达时,如果第一分段的包未到达,则将第一分段的包的有效负荷长度处理为91八位位组,并当第一分段的包到达时计算正确的长度。如果根据任何其他技术,诸如在物理层水平得到帧大小的技术可以得到该包长度,则不需要这样的计算。
如果中间分段的包的帧长度不是102八位位组,则丢弃该包。
-ID:16比特长度
是原始包的标识符。如果发送方地址的值、目的地址的值、和一个帧的ID的值与另一帧的这些值相同,则可以确定这些帧是同一个包的一部分。当达到最大数量,则该字段被复位为0。
-有效负荷类型:6比特长度
指示了有效负荷中所含数据的类型。
1(000001):IPv6
2(000010):IPv4
-分段#:4比特长度
表示分段的帧的顺序。由该值可以计算补偿位置。在除了最后分段的帧之外的其他任何帧中,必须将有效负荷填充到最大帧长度。
-保留的:2比特或3比特长度
以“0”填充
此刻,ZigBee网络层的规范没有定义任何机制来输送分割的数据。然而,当未来定义了该机制时,将可能用ZigBee网络规范来代替用于分割和重新组合本发明的包的机制。
已经给出了一些可用包格式的示例。下面将以图6作为代表性示例来讨论扩展等:由于头压缩中的改变是包上的IP地址字段的替换,所以如果使用任何其他格式则也可施加类似的改变。
在图3中,例如,地址为IPv6装置14的包需要被递送到网关11,并且地址为IPv6装置15的包需要被递送到网关12。
因此,在本发明中,为网关10到12的每一个提供IPv6路由表和指示了被转发网关的网关表(见图7)。对于该网关表,动态交换方法和静态设置方法都是可能的。在本实施例中将讨论静态设置方法。
IPv6路由表记录通常具有以下信息:
a)目的地址
是包目的地址,并且指示了施加记录的地址。如果要传送的包的目的地址与地址较高的N位相匹配,则与记录中所指示的传送信息相一致的来进行包的传送。这里,N位的N是由下述目的地址前缀长度指定的值:
b)目的地址前缀长度(网络掩码)
指示了记录施加到了a)中指定的目的地址的哪一部分。
c)下一跳地址
如果要传送的包的目的地址与a)中指定的目的地址在长度为b)中所指定长度的较高位中相匹配,则对该包要传送到的网关的地址进行设置。事实上,还存储了下一跳路由器的地址、相邻节点较低层的地址、接口名称等(16八位位组或更多)。此外,也包含指示了每个下一跳连接到哪一网络接口的信息等。
每一网关表记录至少具有以下项:
a)目的地址
是包目的地址并可按照网络地址(前缀)单元或主机地址单元而被指定。前缀也可被指定在使用以下目的地址前缀长度(16八位位组或更多)的块中:
b)目的地址前缀长度
指示了记录施加到a)中指定的目的地址的哪一部分。例如,如果要传送的包的目的地址与a)中指定的目的地址在较高的64位匹配,则将64设置为用于把包传送到记录中所指定网关的目的地址前缀长度。类似地,如果该目的地址在全部128位匹配,则指定128(1八位位组或更多)。
c)被转发网关
如果要传送的包的目的地址与a)中指定的目的地址在长度为b)中所指定长度的较高位中相匹配,则对该包要传送到的网关的ZigBee地址进行设置(2八位位组或更多)。
如果路由表中指向目的地址的下一跳是一个本发明实施例中描述的网关,则指定一个虚拟接口,而不直接将网关地址写入路由信息。如果将该虚拟接口指定为下一跳,则该网关在网关表中搜索传送目的地、如果如稍后所述需要的话用压缩地址代替该包、如果需要的话执行包分割处理并且将该包传送到下一跳的网关。
在图3中将讨论对地址为从IPv6装置13发送到网关11的IPv6装置14的包进行递送的过程。假设图3中的装置和网络具有以下地址:
IPv6网络7前缀1:3ffe:501:ffff:1000::/64
IPv6网络8前缀2:3ffe:501:ffff:2000::/64
IPv6网络9前缀3:3ffe:501:ffff:3000::/64
IPv6装置13:3ffe:501:ffff:1000::f
IPv6装置14:3ffe:501:ffff:2000::f
IPv6装置15:3ffe:501:ffff:3000::f
网关10IPv6:3ffe:501:ffff:1000::1
网关10_ZigBee:0x1001
网关11_IPv6:3ffe:501:ffff:2000::2
网关11_ZigBee:0x1002
网关12_IPv6:3ffe:501:ffff:3000::3
网关12_ZigBee:0x1003
在IPv6路由表中网关10具有如图17所示的记录。这里,ID 1的记录指示了3ffe:501:ffff:1000::/64是网关10的实际接口所依附的网络。
在网关表中网关10具有如图18所示的记录。这里,ID 1的记录指示了地址为3ffe:501:ffff:2000::/64的包将被传送到网关11。
处理顺序如下:
1)IPv6装置13将包A发送到IPv6装置14。
2)该包A到达网关10。
3)网关10搜索网关10中的IPv6路由表并获得虚拟接口“VIF_ZigBee”来作为下一跳。
4)网关10搜索网关10中的网关表并获得网关11的ZigBee地址“0x1002”来作为传送目的地。
5)按照上述要求,网关10将该包分割。
6)网关10将包放入ZigBee网络帧中并将其发送到网关11。
7)网关11按照要求重新组合这些包,在网关11中搜索IPv6路由表,并将包传送到适当的下一跳。在本例中,网关11获得IPv6装置14的MAC地址并将包传送到该地址。
图19示出了路由表的另一示例,图20示出了网关表的另一示例。在该例中,响应于目的地址的相应虚拟接口改变,并且可以从在路由表中发现的虚拟接口中唯一找到将要把包传送到的网关。在这种情况下,该网关表无需为一个表,并且也可由虚拟接口来指定接收或发送地址。
在上述实施例中,在用于传送包的网关中的路由表中指定了虚拟接口,并且使得该网关搜索网关表并从该网关表中获得ZigBee包将要传送到的网关的地址。然而,该ZigBee传送目的地址也可直接写入一些网关的路由表中。在这种情况下,网关表变得不必要。
在组合这些包之前,接收网关可以搜索路由表或网关表,从而确定这些包是否被再次传送到另一网关。如果被分割的帧序列需要被再次传送,则包组合导致系统开销。因此根据顶端的包确定是否需要传送。之后如果确定来自ZigBee目的地址、发送方地址和分段ID的包序列全部都来自同一个包,则完整的传送该分割的包。
当可由一个网关传送的IPv6网络前缀的数量增加,或如果相连的IPv6网络的前缀改变,则网关与可由该网关传送的IPv6前缀的联合信息可自动更新。因此,可减少维护成本。特别是当网关数量增加时其优势更大。
图21示出了IPv6头的基础部分的格式。在IPv6头的基础部分中(40八位位组),发送方地址为16八位位组、目的地址为16八位位组,因此组成32八位位组,总共占40八位位组基础部分的80%。如果可减少地址字段,则可实现高效地通信。具体地讲,下面将讨论一种将IPv6头中的发送和接收IPv6地址设置为2八位位组从而缩小IPv6头的方法:
为了将2八位位组地址静态分配给IPv6的16八位位组(128位)地址,例如在网关10到12的每一个中执行手动分配。在2八位位组中可表示的数量为65,536,该数量与可被表示为IPv6地址的数量相比压倒性地小。然而,如果使用受限,则65,536个地址可提供足够的地址空间。
具体地讲,假设图3中的装置具有以下地址:
IPv6装置13:(3ffe:501:ffff:1000::f)
IPv6装置14:(3ffe:501:ffff:2000::f)
IPv6装置15:(3ffe:501:ffff:3000::f)
则将以下2八位位组地址分配给该地址:
IPv6装置13:(3ffe:501:ffff:1000::f)->0x00a
IPv6装置14:(3ffe:501:ffff:2000::f)->0x00b
IPv6装置15:(3ffe:501:ffff:3000::f)->0x00c
此时,0x00a、0x00b和0x00c必须为ZigBee网络中未分配的地址。这意味着一个2八位位组地址必须被分配到两个或更多IPv6地址。如果在ZigBee网络之外存在任何其他用于通信的IPv6装置,则它以相似的方式被登记。
必要的地址被分配到所有的网关中;在每一网关中的地址分配都应相同。该分配信息数据库被称作映射表。图22示出了网关10的构造示例。映射表25的功能是作为用于将例如2八位位组地址静态分配到IPv6的16八位位组(128位)地址的数据库。分配到每一IPv6地址的压缩地址长度并不限于2八位位组,其可以根据使用增加或减少。假设所有网关具有相同的映射表,则实际操作如下:
(a)IPv6装置13将包发送到IPv6装置14。该包称为包A。
(b)包A到达网关10。
(c)网关10接收图23中的IPv6包并产生图24中的包。该包具有代替了发送方和接收方IPv6地址的2八位位组地址,并且该包被称作包B。包A和B之间的差变为28八位位组。这意味着包B是包A的30%。
(d)网关10将内容头添加到ZigBee头并且进一步将包B添加到有效负荷部分。例如,图6示出了该内容头。将ZigBee帧传送到ZigBee网络。通过ZigBee网络层的功能将该帧递送到网关11。在执行地址替换之后可执行当内容头和包分割变得必要时的处理。
(e)网关11从接收到的ZigBee帧中提取包B,并且如果必要重新组合该包。网关11根据映射表用实际IPv6地址的发送方地址和目的地址来代替提取的包B中的地址,从而再现包A,并且将包A发送到第二IPv6网络8。
如果假设来自ZigBee网络的IPv6包是进行过这种地址替换的包,则网关11可无条件地进入地址替换处理。然而,如果内容头包含了可以指示头格式的标识符从而不需进行地址替换,则随后可使用另一头格式从而可提供更好的扩展性和通常的多功能性。具体地讲,有效负荷类型值被赋予指示了包含类似包B格式的包的值。
使用图6中的内容头,以下任何值被赋给有效负荷类型:
有效负荷类型:是4位值,并且指示了有效负荷中所含数据的类型。
1(0001):IPv6
2(0010):IPv4
3(0011):IPv6压缩头(包B的格式)
(f)ICMP错误报文
在第二IPv6网络8中,如果由于一些问题传送的IPv6包引起ICMPv6错误报文,则该错误被管理如下:
如果从中间路由器发送ICMPv6报文,则该路由器地址可能未登记。之后,网关11首先发送完整的包而不进行默认地址替换。
接着,如果该路由器的地址被登记到映射表并可执行地址替换,则执行IPv6中的地址替换。
进一步,在ICMPv6错误报文的有效负荷中包含原始包。因此,网关11可在ICMPv6的有效负荷中替换IPv6头。然而,由网关检查有效负荷的内容会导致网关的负荷增加,因此只有需要时才替换有效负荷中IPv6头中的地址。
在以上给出的描述中,地址大小为2八位位组,但是在限制使用的网络中地址大小还可以更小。相反,为保证更可扩缩性,也可以增大地址大小。
在以上给出的描述中,静态分配地址,但是也可以动态分配地址(临时地址)。在这种情况下,分配的地址规则需被发送到其他网关。
在以上给出的描述中,分配有效负荷类型值来指示包含了具有包B格式的包。然而,也可以将有效负荷类型中的IPv6值输入到内容头中并在该内容头中提供标记来指示地址被压缩。
图25是表示了这种新内容头格式的示意图。图25中的格式只在数据控制的字段方面不同于图6中的格式,因此只对数据控制的字段进行讨论。
-有效负荷类型:
是4比特值并指示了该有效负荷中所含数据的类型。
1(0001):IPv6
2(0010):IPv4
-分段标记:
指示了有效负荷中所含数据是否为分割的包。
0:包含未分割的包
1:包含分割的包
当值为1时,内容头包含分段补偿、更多标记和ID字段。当值为0时,内容头不包含这些字段。
-压缩标记:
指示了是否用2八位位组条目替换头的地址字段。
0:使用普通16八位位组地址。
1:使用压缩地址。
-保留的:
未分配。存储0。
因此,在本发明中,即使在很难铺设IPv6网络电缆的环境中,也可以以一定间隔放置多个ZigBee装置,以使得装置彼此互相通信,从而连接IPv6网络。
对于本领域技术人员来说显而易见的是可以在不超出本发明精神和范围的情况下对上述本发明的优选实施例做各种修改和变化。因此,本申请意在保护与所附权利要求及其等同物范围一致的本发明的全部修改和变化。
Claims (14)
1.一种网络通信系统,包括:
根据ZigBee网络层定义的Zi gBee网络;
根据IP(网际协议)定义的多个IP网络;和
对于所述ZigBee网络和所述IP网络的协议可用的多个网关,
其中,通过所述多个网关将所述多个IP网络连接到所述ZigBee网络,并且
在所述ZigBee网络中发送基于所述ZigBee网络层的Zi gBee帧,该ZigBee帧把基于IP的IP包存储在该ZigBee帧的一部分中。
2.根据权利要求1的网络通信系统,其中所述网关包括:
包分割部分,其用于将所述IP包分割成用于发送的多个分割的IP包,使得每一分割的IP包适合于所述ZigBee帧的有效负荷;和
包组合部分,其用于在接收时将分割的IP包组合。
3.根据权利要求1的网络通信系统,其中所述网关包括一个IPv6(网际协议版本6)路由表和一个指示了被转发网关的网关表。
4.根据权利要求3的网络通信系统,其中所述IPv6路由表至少包括所述IP包的目的地址、该目的地址的前缀长度数据和下一跳地址。
5.根据权利要求3的网络通信系统,其中所述网关表至少包括所述IP包的目的地址、该目的地址的前缀长度数据和被转发网关地址。
6.根据权利要求1的网络通信系统,其中所述IP包的头地址被压缩。
7.根据权利要求6的网络通信系统,其中所述的多个网关的每一个均将所述IP包的头地址压缩和解压缩。
8.根据权利要求6的网络通信系统,其中所述多个网关共享一个用于对所述IP包的头地址压缩和解压缩的共用数据库。
9.根据权利要求8的网络通信系统,其中所述共用数据库是一个映射表。
10.根据权利要求6的网络通信系统,其中所述网关设置所述IP包的头地址的压缩规则,并且将设置的压缩规则转发给另一网关。
11.根据权利要求6的网络通信系统,其中所述网关自动将临时地址分配给所述IP包的头地址来压缩该头地址,并且将该分配规则转发给另一网关。
12.根据权利要求1的网络通信系统,其中所述网关包括跳限制控制部分,其用于将通过所述网关的包的跳数减小,同时将所述ZigBee网络当作所述IP网络中的一跳。
13.根据权利要求1的网络通信系统,其中所述网关包括ICMP(网际控制报文协议)错误报文发送部分,其检测ICMP错误报文,并选择性地转发ICMP错误报文数据。
14.根据权利要求3的网络通信系统,其中所述IPv6路由表或网关表的至少一个是由所述网关动态产生的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005219212 | 2005-07-28 | ||
JP2005219212 | 2005-07-28 | ||
JP2005257489 | 2005-09-06 | ||
JP2005257490 | 2005-09-06 | ||
JP2005320920 | 2005-11-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1905527A true CN1905527A (zh) | 2007-01-31 |
Family
ID=37674658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100995621A Pending CN1905527A (zh) | 2005-07-28 | 2006-07-28 | 网络通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1905527A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010133038A1 (zh) * | 2009-05-22 | 2010-11-25 | 华为技术有限公司 | 信息推送的方法、装置和系统以及获取信息的方法和装置 |
CN103518352A (zh) * | 2011-05-19 | 2014-01-15 | 富士通株式会社 | 网关装置、网关装置的通信方法、节点装置、节点装置的通信方法以及通信系统 |
CN103686584A (zh) * | 2012-09-04 | 2014-03-26 | 上海贝尔股份有限公司 | 传感器网络中的端到端通信 |
CN103828477A (zh) * | 2011-09-15 | 2014-05-28 | 费希尔-罗斯蒙特系统公司 | 跨越使用不兼容网络路由协议的通信网络传送数据帧 |
CN106605396A (zh) * | 2014-08-28 | 2017-04-26 | 三星电子株式会社 | 电子装置和用于提供ip网络服务的方法 |
-
2006
- 2006-07-28 CN CNA2006100995621A patent/CN1905527A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102124764A (zh) * | 2009-05-22 | 2011-07-13 | 华为技术有限公司 | 信息推送的方法、装置和系统以及获取信息的方法和装置 |
WO2010133038A1 (zh) * | 2009-05-22 | 2010-11-25 | 华为技术有限公司 | 信息推送的方法、装置和系统以及获取信息的方法和装置 |
US8750197B2 (en) | 2009-05-22 | 2014-06-10 | Huawei Technologies Co., Ltd. | Method, apparatus and system for pushing information, and method and apparatus for obtaining information |
CN103518352B (zh) * | 2011-05-19 | 2017-07-04 | 富士通株式会社 | 网关装置、网关装置的通信方法、节点装置、节点装置的通信方法以及通信系统 |
CN103518352A (zh) * | 2011-05-19 | 2014-01-15 | 富士通株式会社 | 网关装置、网关装置的通信方法、节点装置、节点装置的通信方法以及通信系统 |
CN103828477A (zh) * | 2011-09-15 | 2014-05-28 | 费希尔-罗斯蒙特系统公司 | 跨越使用不兼容网络路由协议的通信网络传送数据帧 |
GB2510721B (en) * | 2011-09-15 | 2020-02-26 | Fisher Rosemount Systems Inc | Communicating data frames across communication networks that use incompatible network routing protocols |
CN103828477B (zh) * | 2011-09-15 | 2018-05-22 | 费希尔-罗斯蒙特系统公司 | 跨越使用不兼容网络路由协议的通信网络传送数据帧 |
CN103686584A (zh) * | 2012-09-04 | 2014-03-26 | 上海贝尔股份有限公司 | 传感器网络中的端到端通信 |
CN103686584B (zh) * | 2012-09-04 | 2016-12-14 | 上海贝尔股份有限公司 | 传感器网络中的端到端通信 |
CN106605396A (zh) * | 2014-08-28 | 2017-04-26 | 三星电子株式会社 | 电子装置和用于提供ip网络服务的方法 |
US10659549B2 (en) | 2014-08-28 | 2020-05-19 | Samsung Electronics Co., Ltd. | Electronic device and method for providing IP network service |
CN106605396B (zh) * | 2014-08-28 | 2021-02-02 | 三星电子株式会社 | 电子装置和用于提供ip网络服务的方法 |
US11089127B2 (en) | 2014-08-28 | 2021-08-10 | Samsung Electronics Co., Ltd. | Electronic device and method for providing IP network service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1279731C (zh) | 一种通信流模板分组过滤的装置和方法 | |
CN1262088C (zh) | 分组通信系统以及路径mtu发现方法 | |
CN1437421A (zh) | 在移动通信系统中重排业务流模板的装置和方法 | |
CN1242593C (zh) | 源地址选择系统、路由器装置、通信节点和源地址选择方法 | |
CN1839592A (zh) | 包中继装置 | |
CN1829195A (zh) | 分组转发装置 | |
CN101068226A (zh) | IPv4/IPv6混合环境下多媒体交互网关实现方法 | |
CN1817013A (zh) | 终端和通信系统 | |
CN1551583A (zh) | 数据包通信装置 | |
CN1578273A (zh) | 移动终端,控制设备,归属代理和分组通信方法 | |
CN1855825A (zh) | 计算机系统 | |
CN1496632A (zh) | 用在扩展局域网中的以优先级为基础的负载平衡方法和设备 | |
CN1319300A (zh) | 移动通信系统中按照无线电链路协议发送可变长度数据的装置和方法 | |
CN1486102A (zh) | 移动通信系统,路由器,移动节点和移动通信方法 | |
CN101043411A (zh) | 混合网络中实现移动vpn的方法及系统 | |
CN1324537A (zh) | 支持无线网络中服务质量的方法和系统 | |
CN1615635A (zh) | 移动节点,路由器,服务器和根据ip版本6(ipv6)协议的移动通信的方法 | |
CN101061672A (zh) | 通信系统、无线局域网基站控制装置和无线局域网基站装置 | |
CN1505429A (zh) | 移动终端设备及终端间包通信方法 | |
CN1423201A (zh) | 地址变换装置、消息处理方法及装置 | |
CN1674554A (zh) | 数据包传送装置 | |
CN1969528A (zh) | 用于点对多点传输系统的点对点修复响应机制 | |
CN1613066A (zh) | 网络处理器体系的路由和转寄表管理 | |
CN1799226A (zh) | 路由器选择方法及路由器装置 | |
CN1905527A (zh) | 网络通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070131 |