一种gre隧道的动态建立方法和设备的制作方法

文档序号:7945156阅读:284来源:国知局

专利名称::一种gre隧道的动态建立方法和设备的制作方法
技术领域
:本发明涉及网络
技术领域
,特别涉及一种GRE隧道的动态建立方法和设备。
背景技术
:GRE(GenericRoutingEncapsulation,通用3各由封装协议)协议是对某些网络层协议如IP/IPX等的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议如IP中传输。GRE协议实质上一种封装协议,它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。异种"R文传输的通道称为Tunnel(隧道)。Tunnel是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。GRE采用了Tunnel技术,是VPN的第三层隧道协议。GRE隧道不能配置二层信息,但可以配置IP;也址。GRE利用为隧道指定的实际物理接口完成转发,下面以图l所示的网络场景为例。Netl中所有发送到Net2的原始报文,首先被发送到隧道源端,隧道源端根据报文头中的目的地址域来确定如何路由此包;报文的目的地址为Net2网段地址,要经过Tunnel接口,则设备将此报文发给相应的Tunnel接口。原始报文在隧道源端进行GRE封装,填写隧道建立时确定的隧道源地址和目的地址,然后再通过公共IP网络转发到远端VPN网络。现有技术中建立GRE建立隧道时必须知道对端设备的IP地址。这样GRE隧道连接建立依赖于固定的IP地址,一旦隧道两端有一端设备IP地址更换就必须手动更改隧道另一端的GRETunnel配置。另外,传统的GRE隧道建立必须知道对方的IP地址,这样就使得使用动态IP地址的设备无法正常建立GRE隧道。
发明内容本发明提供一种GRE隧道的动态建立方法和设备,用于在GRE隧道两端IP地址动态变化的情况下,在GRE两端的设备之间动态建立GRE隧道。为达到上述目的,本发明提供一种GRE隧道的动态建立方法,包括需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道。其中,所述需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去包括需要建立GRE隧道的端设备向预先设置的组播组地址发送发现报文,所述发现报文中携带自身用于建立GRE隧道的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;加入到所述组播组的其他设备接收到所述发现报文。其中,所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道包括所述端设备接收对端设备通过组播方式发送的发现报文;所述端设备获取所述发现报文中携带的所述对端设备的GRE隧道信息所包括的关键字Key;当所述对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述ii对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道;所述端设备向所述对端设备发送所述端设备的隧道源IP地址。其中,所述与所述对端设备建立GRE隧道后,还包括所述端设备接收所述对端设备发送的更新4艮文;所述端设备获取所述更新报文中GRE隧道信息所包括的所述对端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址;所述端设备才艮据所述对端设备的变化后的隧道源IP地址,更新与所述对端设备建立的所述GRE隧道,并向所述对端设备发送响应。其中,所述与所述对端设备建立GRE隧道后,还包括所述端设备建立GRE隧道所使用的隧道源IP地址发生变化时,向所述GRE隧道的对端设备发送更新报文,所述更新报文中的GRE隧道信息包括所述端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址;所述对端设备根据所述更新报文,更新与所述端设备建立的所述GRE隧道。其中,还包括所述端设备向预先设置的组播组地址发送发现报文后,在预先设置的时间内未接收到响应时,重新发送所述发现报文;重新发送所述发现报文的次数超过预设的门限时,所述端设备进入休眠,直至配置发生变化或接收到对端设备发送的发现报文;休眠期间内所述端设备不发送报文;和/或所述端设备向所述GRE隧道的对端设备发送更新报文后,在预先设置的时间内未接收到响应时,重新发送所述更新报文;重新发送所述更新报文的次数超过预设的门限时,所述端设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内所述端设备不发送报文。其中,所述需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去包括需要建立GRE隧道的端设备向网络中的GRE服务器发送注册报文,所述注册报文的GRE隧道信息中包括隧道关键字Key、隧道接口IP地址和隧道源IP地址。其中,所述需要建立GRE隧道的端设备向网络中的GRE服务器发送注册报文后还包括所述GRE服务器根据所述注册报文存储关于所述端设备的GRE隧道信息的表项;所述GRE服务器查询本地已存储的其他设备的GRE隧道信息的表项中,是否存在与所述端设备具有相同隧道关键字Key的表项;所述GRE服务器将具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告报文中并发送给所述端设备。其中,所述GRE服务器将具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告4艮文中并发送给所述端设备后,还包括所述GRE服务器将所述端设备的GRE隧道信息添加在通告报文中,向与所述端设备具有相同隧道关键字Key的表项所对应的设备发送。其中,所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道包括所述端设备接收网络中GRE服务器发送的通告报文;所述端设备获取所述通告报文中携带的对端设备的GRE隧道信息所包括的关键字Key;当所述对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道。其中,所述与所述对端设备建立GRE隧道后,还包括所述端设备在隧道源IP地址发生变化时,向所述GRE服务器发送通告报文,所述通告才艮文中携带隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP;也址;13其中,所述与所述对端设备建立GRE隧道后,还包括所述端设备接收所述GRE服务器发送的通告才艮文,所述通告才艮文中携带所述对端设备的隧道关键字Key、隧道接口IP地址和隧道源IP地址;所述端设备检测到所述对端设备建立GRE隧道的隧道源IP地址发生变化时,更新与所述对端i殳备建立的所述GRE隧道。其中,所述端设备接收所述GRE服务器发送的通告报文包括所述端设备接收所述GRE服务器在检测到所述对端设备建立GRE隧道所使用的隧道源IP地址发生变化时发送的通告报文;或所述端设备接收所述GRE服务器通过组播方式向本端设备发送的通告报文,所述通告报文中携带所述GRE服务器中已存储的所有表项。本发明还提供一种网络设备,用于GRE隧道的动态建立,包括隧道信息发送单元,用于将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;隧道建立单元,用于根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道。其中,所述隧道信息发送单元包括第一隧道信息发送子单元,用于向预先设置的组播组地址发送发现报文,所述发现报文中携带自身用于建立GRE隧道的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址,使得加入到所述组播组的其他设备接收到所述发现报文。其中,所述隧道建立单元包括第一隧道信息获取子单元,用于接收所述对端设备通过组播方式发送的发现报文时,获取所述发现报文中携带的所述对端设备的GRE隧道信息所包括的关键字Key;第一隧道建立子单元,用于当所述第一隧道信息获取子单元获取的对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道;隧道信息通知子单元,用于向所述对端设备发送所述端设备的隧道源IP地址。其中,还包括第一隧道更新单元,用于接收所述对端设备发送的更新报文时,获取所述更新报文中GRE隧道信息所包括的所述对端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址;根据所述第一隧道更新信息获取子单元获取的对端i殳备的变化后的隧道源IP地址,更新与所述对端设备建立的所述GRE隧道,并向所述对端设备发送响应;第一隧道更新信息发送单元,用于在建立GRE隧道所使用的隧道源IP地址发生变化时,向所述GRE隧道的对端设备发送更新报文,所述更新报文中的GRE隧道信息包括所述端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址,触发所述对端设备更新已建立的GRE隧道;休眠控制单元,用于所述隧道信息发送单元向预先设置的组播组地址发送发现报文后,在预先设置的时间内未接收到响应时,重新发送所述发现报文;重新发送所述发现报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内自身设备不发送报文;和/或所述第一隧道更新信息发送单元向.所述GRE隧道的对端设备发送更新报文后,在预先设置的时间内未接收到响应时,重新发送所述更新报文;重新发送所述更新报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内自身设备不发送报文。其中,所述隧道信息发送单元包括第二隧道信息发送子单元,用于向网络中的GRE服务器发送注册报文,所述注册报文的GRE隧道信息中包括隧道关4建字Key、隧道4妄口IP地址和隧道源IP地址。其中,所述隧道建立单元包括第二隧道信息获取子单元,用于接收到网络中GRE服务器发送的通告报文时,获取所述通告报文中携带的对端设备的GRE隧道信息所包括的关键字Key;第二隧道建立子单元,用于当所述第二隧道信息获取子单元获取的对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道。其中,还包括第二隧道更新信息发送单元,用于在自身设备的隧道源IP地址发生变化时,向所述GRE服务器发送通告报文,所述通告报文的GRE隧道信息中携带隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;第二隧道更新单元,用于接收所述GRE服务器发送的通告报文,所述通告报文的GRE隧道信息中携带所述对端设备的隧道关键字Key、隧道接口IP地址和隧道源IP地址;当4企测到所述对端设备建立GRE隧道的隧道源IP地址发生变化时,更新与所述对端设备建立的所述GRE隧道。本发明还提供一种GRE服务器,包括通告报文生成单元,用于生成通告报文,所述通告报文中携带GRE隧道目的端设备的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;通告报文发送单元,用于将所述通告报文向所述GRE隧道的源端设备发送。其中,还包括注册报文接收单元,用于接收网络设备发送的注册报文,所述注册报文中携带网络设备的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;表项存储单元,用于根据所述注册报文存储关于所述网络设备的GRE隧道信息的表项;表项更新单元,用于在接收到关于GRE隧道一端的网络设备在建立GRE隧道所使用的隧道源IP地址发生变化的通告报文时,根据所述通告报文更新已存储的所述网络设备的GRE隧道信息的表项。其中,所述通告4艮文生成单元包括表项查询子单元,用于查询本地已存储的网络设备的GRE隧道信息的表项中,是否存在与GRE隧道的源端设备具有相同隧道关键字Key的表项;通告报文生成子单元,用于根据所述表项查询子单元查询到的表项,将查找到的具有相同隧道关4建字Key的表项中的GRE隧道信息添加在通告报文中,并通过所述通告报文发送单元向所述GRE隧道的源端设备发送;还用于将所述源端设备的GRE隧道信息添加在通告报文中,并通过所述通告报文发送单元向与所述源端设备所述具有相同隧道关键字Key的表项所对应的设备发送。其中,所述通告报文发送单元包括第一通告报文发送子单元,用于在检测到GRE隧道一端的设备建立GRE隧道所使用的IP地址发生变化时,向所述GRE另隧道一端的设备发送通告才艮文;或第二通告报文发送子单元,用于定期向GRE隧道两端的设备发送通告报文;或第三通告报文发送子单元,用于通过组播方式向GRE隧道两端的设备发送通告报文,所述通告报文中携带所述表项存储单元中已存储的所有表项。与现有技术相比,本发明具有以下优点通过使用本发明,通过报文中携带的GRE隧道信息,在GRE隧道两端IP地址动态变化的情况下,在GRE两端的设备之间建立GRE隧道,使得GRE隧道的建立和更新更加灵活,可以实时4全测调整GRE隧道状态,提高GRE隧道数据传输有效性和网络带宽的有效利用率。另外,实现了通过组播方式和在网络中部署GRE服务器的方法,在网络中建立GRE隧道的设备间传递17GRE隧道信息。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中部署了GRE隧道的网络示意图;图2是本发明GRE隧道的动态建立方法流程图;图3是本发明中一应用场景的网络结构示意图;图4是本发明中GRE隧道的发现阶段的流程图;图5是本发明中GRE隧道的更新阶段的流程图;图6是本发明中另一应用场景的网络结构示意图;图7是本发明中GRE隧道的动态建立方法流程图;图8是本发明中网络设备的结构示意图;图9是本发明中网络设备的另一结构示意图;图IO是本发明中网络设备的再一结构示意图;图ll是本发明中GRE服务器的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供一种GRE隧道的动态建立方法,如图2所示,包括步骤s201、需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP;l也址。18步骤s202、端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与对端设备建立GRE隧道。本发明中通过报文中携带的GRE隧道信息,可以在GRE隧道两端IP地址动态变化的情况下,在GRE两端的设备之间建立GRE隧道,使得GRE隧道的建立和更新更加灵活。具体的,本发明采用两种方式实现动态GRE隧道的建立和维护。一是采用组播方式传递GRE隧道信息;另一种方式采用GREServer收集并传递GRE隧道信息,从而维护及时更新GRE隧道两端动态IP地址的方式实现动态GRE隧道。以下分别对这两种GRE隧道的建立方式进行描述。(一)采用组^"方式实现GRE隧道的动态建立和维护采用组播方式实现动态GRE隧道时,需要在GRE隧道两端的路由器上配置能唯一标识此GRE隧道的关键字Key,使用关键字Key以及组播方式实现GRE隧道建立和维护的流程主要分为三个阶段发现阶段、更新阶段、休眠阶段。发现阶段主要是GRE隧道源端发现GRE隧道目的端并建立GRE隧道的过程;更新阶段为GRE隧道建立后,GRE隧道两端IP地址变化时对GRE隧道的IP进行更新的过程;休眠阶段是指由于网络故障或配置错误等原因导致GRE隧道建立失败时,GRE隧道源端和目的端进入休眠阶段。以下以图3所示的应用场景为例,描述本发明中采用组播方式实现GRE隧道动态建立的方法。图3中所示的路由器A、路由器B和路由器C位于同一网段。以需要在路由器A和路由器B之间建立GRE隧道TunnelO、路由器A和路由器C之间建立GRE隧道Tunnell为例,则预先在路由器A、路由器B和路由器C上分别配置GRE隧道的关键字Key,假设路由器A上配置的关键字Key为{0001,0002},路由器B上配置的关键字Key为(0001),路由器C上配置的关键字Key为(0002〉。则GRE隧道的发现阶段如图4所示,包括以下流程步骤s401、路由器A获取到建立TunnelO所需的源IP地址后,以特定的组播19地址向网络发送发现(Discovery)报文,传递自身的GRE隧道信息,GRE隧道信息包括路由器A的隧道关键字Key、隧道接口IP地址以及所获取的GRE隧道源IP地址,对于路由器A,假设Tunnel0对应的关键字Key为0001,隧道接口IP地址为1.1丄1,GRE隧道源IP地址为lO.l丄l,则发现报文中传递的GRE隧道信息包括(0001,l丄l.l,10.1.1.1)。网络中需要建立GRE隧道的各路由器加入到该组播组,可以接收到路由器A通过组播方式发送的发现报文。步骤s402、加入到该组播组的路由器B收到发现报文后,判断发现报文中的关键字Key与本设备上配置的关键字Key相同,且根据发现报文中携带的隧道接口IP地址判断与路由器A位于同一网段,则将该发现报文中携带的GRE隧道源IP地址写入本设备隧道目的IP地址。若路由器C也收到了路由器A发送的发现报文,由于发现报文中的关键字Key与本设备上配置的关键字Key不同,因此路由器C不会对该发现报文进行任何响应。步骤s403、路由器B以单播方式向路由器A回应本设备建立GRE隧道所使用的隧道源IP地址信息,路由器A获得路由器B的隧道源IP地址信息后,路由器B与路由器A之间建立GRE隧道。同理可知,如需要在路由器A和路由器C之间建立GRE隧道,则路由器A获取到Tunnell的源IP地址后(假设为20.1丄1),以特定的组播地址向网络发送发现报文,发现报文中传递的GRE隧道信息包括(0002,1.1.2.1,20.1.1.1),则路由器C收到该发现报文后所进行的处理与上述步骤s401~s403中路由器B所执行的流程相似,最终将在路由器C与路由器A之间建立GRE隧道,对此流程在此不进行重复描述。基于相似的流程,路由器B和路由器C也通过特定的组播地址向网络发送发现(Discovery)报文,传递自身的GRE隧道信息。路由器A获取到路由器B和路由器C的GRE隧道信息后,会通过单播方式分别向路由器B和路由器C回应本设备建立GRE隧道所使用的隧道源IP地址,从而在路由器B与路由器A之间、路由器C与路由器A之间分别建立GRE隧道。该过程与上述步骤s401~s403中所描述的流程相似,对此流程在此不进行重复描述。另外,如果路由器A在一定时间内没有收到任何响应,则认为网络出现了异常情况导致发现报文被丟弃或GRE隧道目的端配置失败,则重新发送发现报文。连续发送多个周期没有收到响应,则认为GRE隧道建立失败,路由器A进入休眠阶段,直至路由器A上的配置发生变化或接收到对端设备发送的发现报文;休眠期间内路由器A不发送报文。以路由器A建立隧道TunnelO所使用的IP地址发生变化为例,GRE隧道的更新阶段如图5所示,包括以下流程步骤s501、路由器A通过单播方式向作为GRE隧道目的端的路由器B发送更新(Update)4艮文,更新报文中传递的GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及所获取的GRE隧道源IP地址。假设路由器A建立隧道TunnelO所使用的GRE隧道源IP地址变为10.1.1.2,则更新4艮文中传递的GRE隧道信息包括(OOOl,1.1.1.1,10.1.1.2)步骤s502、路由器B收到此更新报文,则更新对应GRE隧道的目的IP地址信息,并回应确认消息给路由器A。基于相似的流程,路由器B在建立隧道所使用的源IP地址发生变化时,同样可以通过单播方式向路由器A发送更新报文,使得路由器A根据该更新报文更新GRE隧道的IP地址,,人而实现GRE隧道的更新。该流程与上述图5所示的流程相似,在此不进行重复描述。另夕卜,一种特殊情况是GRE隧道两端IP同时变化,则由于GRE隧道目的端路由器B的IP地址变化,路由器A发出的更新报文不能到达路由器B。或者由于网络原因导致路由器B没有收到更新报文,路由器A在一定时间内没有收到确认消息时,重新发送更新报文。如连续发送三到四个周期后仍然没有收到回应报文,则路由器A判断GRE隧道的更新失败,进入发现阶段。建立GRE隧道的设备在休眠阶段中对各种异常情况进行处理。建立GRE隧道的设备处于休眠阶段时,标识GRE隧道处于故障状态,此时GRE隧道两端不转发GRE报文,以免造成网络带宽的浪费。此时,如出现GRE隧道配置更改,或收到GRE隧道另一端发送的发现报文,GRE隧道两端的设备自动进入发现阶段发现并建立GRE隧道。否则,GRE隧道两端的设备定期发送发现报文监测GRE隧道状态。上述实施例的描述中均主要以路由器A为例说明GRE隧道建立和维护的发现阶段、更新阶段和休眠阶段,可以理解的是该应用于路由器A上的流程同样可以应用于路由器B、路由器C以及网络中的其他路由器上,例如将路由器B和路由器A的角色对调,通过向网络通过组播方式发送发现报文、向已建立GRE隧道的对端设备发送更新报文、接收对端设备对发现报文的响应报文以及对端设备在建立GRE隧道的地址发生变化时的更新I艮文的方式,实现基于组播方式的GRE隧道的动态建立和维护。(二)采用GREServer方式实现GRE隧道的动态建立和维护传递建立和更新隧道所需的信息,同时,也可以将信息集中传递给第三方设备如GREServer的方式实现GRE隧道的动态建立,在这种情况下,隧道两端均将携带建立隧道所需信息的报文传递给GREServer,同时,在GRE隧道两端配置指定GREServer的IP地址,以及能唯一标识一条GRE隧道的关4建字Key,同一隧道两端配置相同的关键字Key。GREServer用于GRE隧道的管理,为网络中GRE隧道两端均可达的设备,可以由网络中已有的路由器充当GREServer,也可由接入网络的其他设备如PC充当。GRE隧道源端和目的端均需要在GREServer设备上进行注册,注册成功后由GREServer监控GRE隧道两端动态IP变化情况,从而维持GRE隧道。GREServer与GRE隧道两端处于一种弱管理关系,二者之间的交互简单,从而不会对网络负载造成较大负担。GREServer中通过建立和维护更新GRE表项,实现对GRE隧道两端的管理。本发明中,GREServeri殳备维护的GRE隧道表项中包括GRE隧道信息,其结构可以如下表l所示表lGRE隧道表项结构<table>tableseeoriginaldocumentpage22</column></row><table>以下以图6所示的应用场景为例,描述本发明中GRE隧道的动态建立方法。图3中所述的路由器A、路由器B和路由器C位于同一网段。以需要在路由器A和路由器B之间建立GRE隧道TunnelO、路由器A和路由器C之间建立GRE隧道Tunnell为例,则预先在路由器A、路由器B和路由器C上分别配置GRE隧道的关键字Key,假设路由器A上配置的关键字Key为{0001,0002},路由器B上配置的关键字Key为(0001),路由器C上配置的关键字Key为{0002}。另夕卜,网络中还存在GREServer,路由器A、路由器B和路由器C上均配置有GREServer的地址。GREServer也可以位于路由器A、路由器B或路由器C上。该应用场景中,以GREServer对路由器A发送的报文的处理为例,则GRE隧道的动态建立方法如图7所示,包括步骤s701、网络中需要建立GRE隧道的路由器A以单播方式向GREServer发送注册报文,在GREServer上进行注册。注册报文中携带的GRE隧道信息包括路由器A的隧道关键字Key、隧道接口IP地址和所获取的GRE隧道源IP地址。步骤s702、GREServer收到路由器A发送的注册报文后,根据注册报文中携带的关键字Key,查询本地是否存在包括此关键字Key的GRE隧道表项,不存在时则进行步骤s703,存在时则进行步骤s704。步骤s703、GREServer新建GRE隧道表项,记录注册报文中携带的关键字GREServer向路由器A返回响应报文。此时响应报文中携带的GRE隧道目的IPi也址可以为0.0.0.0。步骤s704、GREServerl斤建GRE隧道表项,记录注册报文中携带的关键字Key、路由器A上隧道接口的IP地址和路由器A获取的GRE隧道源IP地址。之后GREServer向路由器A返回响应报文。此时响应报文中携带的GRE隧道信息,为GREServer上已经保存的与路由器A要建立的GRE隧道相符的GRE隧道信息。例如,GREServer曾经收到路由器B发送的注册报文,则GREServer的本地表项中已存在路由器B的隧道关键字Key、隧道接口I的P地址和路由器B获取的GRE隧道源IP地址。此时GREServer收到路由器A发送的注册报文后,同样新建GRE表项,记录注册报文中携带的关键字Key、路由器A上隧道接口的IP23地址和路由器A获取的GRE隧道源IP地址。之后由于关于路由器B的表项和关于路由器A的表项具有相同的Key,则GREServer根据本地已经建立的关于路由器B的表项,向路由器A端发送回应报文,回应报文中携带路由器B的GRE隧道信息,即表项中已存在的I路由器B的关键字Key、隧道接口IP地址和隧道源IP地址。同时GREServer会向路由器B发送GRE通告报文,将路由器A的GRE隧道信息通告路由器B,路由器B收到发现报文后,判断发现报文中的关键字Key与本设备上配置的关键字Key相同,且根据发现报文中携带的隧道接口IP地址判断与路由器A位于同一网段,则将该报文中携带的隧道源IP地址作为待建立GRE隧道的目的IP地址。这样隧道两端均知道GRE隧道的源端IP和目的端IP,GRE隧道建立。以GREServer向路由器B发送携带路由器A的GRE隧道信息的GRE通告报文为例,该才艮文在传输过程中可能经过待建立GRE隧道的路由器C,则路由器C在转发该GRE通告报文时,发现其中携带的GRE隧道信息中的关键字Key与自身配置的Key不同,则不会处理该4艮文,只会将该GRE通告报文向目的地址即路由器B进行转发。基于相似的流程,路由器A和路由器C之间也可以通过与GREServer的交互获取到对方的隧道接口IP地址和源IP地址,从而在路由器A和路由器C之间建立GRE隧道,该过程与上述路由器A与路由器B之间建立GRE隧道的过程相似,在此不进行重复描述。使用上述流程建立GRE隧道后,当GRE隧道任一端的隧道源IP地址发生改变时,IP地址发生变化的设备向GREServer主动发送隧道源IP地址变化的通告(Update)报文。GREServer收到此通告报文后根据报文携带的Tunnel接口IP地址检索到相应表项后更新设备表项中该设备的GRE隧道信息,并向同一网段的其他设备通告这一变化,触发其他设备根据更新后的隧道源IP地址进行GRE隧道的更新。例如,对于路由器A与路由器B之间建立的GRE隧道,当路由器A建立隧道使用的隧道源IP地址发生变化时,主动向GREServer发送通告报文,报文中携带路由器A的GRE隧道信息,GREServer根据该通告报文更新本地存储的关于路由器A的GRE隧道信息的表项,并将更新后的路由器A的GRE隧道信息发送给路由器B,触发路由器B根据路由器A中变化后的隧道源IP地址更新已建立的GRE隧道。GRE隧道任一端如配置取消隧道,主动以单播方式向GREServer发送隧道撤消报文。GREServer收到报文后即清空此GRE表项,并向GRE隧道另一端发送隧道撤销报文。另外,上述GRE隧道的建立和更新流程均由GRE隧道两端主动发起。为避免由于网络问题导致GRE隧道两端GRE配置失效或GREServer端GRE表项过时,GREServer还可以定期向GRE隧道两端发送IP通告报文。GRE隧道Client端收到此报文后与自身配置进行比较,如发现不同则更新GRE隧道目的IP地址,并发送确认消息给GREServer。GREServer如连续三个或多个周期均没有收到相应的确认消息,则在设备上清空此GRE表项。另夕卜,如果网络规模较小且GRE隧道配置相对稳定时,GREServer也可采GRE隧道源端或目的端根据表项中的关键字和Tunnel接口检索更新GRE隧道的目的IP地址,而且不需发送确认消息给GREServer。上述实施例的描述中均主要以路由器A为例说明GRE隧道建立和维护的发现阶段、更新阶段和休眠阶段,可以理解的是该应用于路由器A上的流程同样可以应用于路由器B以及网络中的其他路由器上,例如将路由器B和路由器A的角色对调,通过以单播方式向GREServer发送注册才艮文、在建立隧道的IP地址发生变化时向GREServer主动发送通告纟艮文、接收GREServer根据注册才艮文返回的响应报文以及接收GREServer在对端建立隧道的IP地址发生变化时发送的通告纟艮文的方式,实现基于GREServer方式的GRE隧道的动态建立和维护。通过使用本发明提供的方法,在GRE隧道两端IP地址动态变化的情况下,在GRE两端的i殳备之间动态建立和维护GRE隧道,使得GRE隧道的建立和更新更加灵活,可以实时检测调整GRE隧道状态,提高GRE隧道数据传输有效性和网络带宽的有效利用率。另夕卜,实现了通过组播方式和在网络中部署GRE服务器的方法,在网络中建立GRE隧道的设备间传递GRE隧道信息。本发明中还提供一种网络设备,用于GRE隧道的动态建立,如图8所示,25包括隧道信息发送单元10,用于将自身用于建立GRE隧道的GRE隧道信息传递出去,GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;隧道建立单元20,用于根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与对端设备建立GRE隧道。本发明提供的上述网络设备中,可以通过组播方式实现GRE隧道信息的传递。使用该方式时,网络设备的结构如图9所示具体的,隧道信息发送单元IO可以包括第一隧道信息发送子单元11,用于向预先设置的组播组地址发送发现报文,发现报文中携带自身用于建立GRE隧道的GRE隧道信息,GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址,使得加入到组播组的其他设备接收到发现报文。隧道建立单元20可以进一步包括第一隧道信息获取子单元21,用于接收对端设备通过组播方式发送的发现报文时,获取发现报文中携带的对端设备的GRE隧道信息所包括的关键字Key;第一隧道建立子单元22,用于当第一隧道信息获取子单元21获取的对端设备的隧道关键字Key与端设备上预先配置的隧道关键字Key相同、且对端设备的隧道接口IP地址与端设备的隧道接口IP地址处于同一网段时,将对端设备的隧道源IP地址作为对端设备建立GRE隧道所使用的IP地址,与对端设备建立GRE隧道;隧道信息通知子单元23,用于向对端设备发送端i殳备的隧道源IP地址。另外,该网络设备还可以包括第一隧道更新单元30,用于接收对端设备发送的更新报文时,获取更新报文中GRE隧道信息所包括的对端设备的隧道关键字Key、隧道接口IP地址26和变化后的隧道源IP地址;根据第一隧道更新信息获取子单元获取的对端设备的变化后的隧道源IP地址,更新与对端设备建立的GRE隧道,并向对端设备发送响应。第一隧道更新信息发送单元40,用于在建立GRE隧道所使用的隧道源IP地址发生变化时,向GRE隧道的对端设备发送更新报文,更新报文中的GRE隧道信息包括端设备的隧道关4建字Key、隧道接口IP地址和变化后的隧道源IP地址,触发对端设备更新已建立的GRE隧道。休眠控制单元50,用于隧道信息发送单元10向预先设置的组播组地址发送发现报文后,在预先设置的时间内未接收到响应时,重新发送发现报文;重新发送发现报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到对端设备发送的发现报文;休眠期间内自身设备不发送报文;和/或第一隧道更新信息发送单元40向GRE隧道的对端设备发送更新报文后,在预先设置的时间内未接收到响应时,重新发送更新报文;重新发送更新报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到对端设备发送的发现报文;休眠期间内自身设备不发送报文。本发明提供的上述网络设备中,还可以通过在网络中部署GRE服务器的方式实现GRE隧道信息的传递。使用该方式时,网络设备的结构如图10所示二具体的,隧道信息发送单元IO可以包括第二隧道信息发送子单元12,用于向网络中的GRE服务器发送注册报文,注册报文的GRE隧道信息中包括隧道关4建字Key、隧道接口IP地址和隧道源IP地址。隧道建立单元20可以进一步包括第二隧道信息获取子单元25,用于接收到网络中GRE服务器发送的通告报文时,获取通告报文中携带的对端设备的GRE隧道信息所包括的关键字Key;第二隧道建立子单元26,用于当第二隧道信息获取子单元21获取的对端设备的隧道关键字Key与端设备上预先配置的隧道关键字Key相同、且对端设备的隧道接口IP地址与端设备的隧道接口IP地址处于同一网段时,端设备将对端设备的隧道源IP地址作为对端设备建立GRE隧道所使用的IP地址,与对端设备建立GRE隧道。另外,该网络i殳备还可以包括第二隧道更新信息发送单元60,用于在自身设备的隧道源IP地址发生变化时,向GRE服务器发送通告报文,通告报文的GRE隧道信息中携带隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址。第二隧道更新单元70,用于接收GRE服务器发送的通告报文,通告报文的GRE隧道信息中携带对端设备的隧道关键字Key、隧道接口IP地址和隧道源IP地址;当4企测到对端设备建立GRE隧道的隧道源IP地址发生变化时,更新与对端设备建立的GRE隧道。本发明中还提供一种GRE服务器,用于在网络中通过部署GRE服务器的方式实现GRE隧道信息的传递,如图ll所示,该GRE服务器包括通告报文生成单元91,用于生成通告报文,通告才艮文中携带GRE隧道目的端设备的GRE隧道信息,GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;通告报文发送单元92,用于将通告报文生成单元91生成的通告报文向GRE隧道的源端设备发送。另外,该GRE服务器中还可以包括注册报文接收单元93,用于接收网络设备发送的注册报文,注册报文中携带网络设备的GRE隧道信息,GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;表项存储单元94,用于根据注册报文接收单元93接收的注册报文存储关于网络设备的GRE隧道信息的表项。表项更新单元95,用于在接收到关于GRE隧道一端的网络设备在建立GRE隧道所使用的隧道源IP地址发生变化的通告报文时,根据通告报文更新已存储的网络设备的GRE隧道信息的表项。28具体的,通告^JL生成单元91可以包括表项查询子单元911,用于查询本地已存储的网络设备的GRE隧道信息的表项中,是否存在与GRE隧道的源端设备具有相同隧道关键字Key的表项;通告报文生成子单元912,用于根据表项查询子单元911查询到的表项,将查找到的具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告才艮文中,并通过通告报文发送单元92向GRE隧道的源端设备发送;另外,还可以用于,将源端设备的GRE隧道信息添加在通告报文中,并通过通告报文发送单元92向与源端设备具有相同隧道关键字Key的表项所对应的设备发送。具体的,通告报文发送单元92可以包括第一通告报文发送子单元921,用于在4全测到GRE隧道一端的设备建立GRE隧道所〗吏用的IP地址发生变化时,向GRE另隧道一端的设备发送的通告报文;或第二通告报文发送子单元922,用于向GRE隧道两端的设备发送的通告报文;或第三通告报文发送子单元923,用于通过组播方式向GRE隧道两端的设备发送通告报文,通告报文中携带表项存储单元中已存储的所有表项。通过使用本发明提供的设备,可以在GRE隧道两端IP地址动态变化的情况下,在GRE两端的设备之间动态建立和维护GRE隧道,使得GRE隧道的建立和更新更加灵活,可以实时检测调整GRE隧道状态,提高GRE隧道数据传输有效性和网络带宽的有效利用率。另外,实现了通过组播方式和在网络中部署GRE服务器的方法,在网络中建立GRE隧道的设备间传递GRE隧道信息。上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软29件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种GRE隧道的动态建立方法,其特征在于,包括需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道。2、如权利要求1所述的方法,其特征在于,所述需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去包括需要建立GRE隧道的端设备向预先设置的组播组地址发送发现报文,所述发现报文中携带自身用于建立GRE隧道的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;加入到所述组播组的其他设备接收到所述发现报文。3、如权利要求2所迷的方法,其特征在于,所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道包括所述端设备接收对端设备通过组播方式发送的发现报文;所述端设备获取所述发现报文中携带的所述对端设备的GRE隧道信息所包括的关键字Key;当所述对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道;所述端设备向所述对端设备发送所述端设备的隧道源IP地址。4、如权利要求2所述的方法,其特征在于,所述与所述对端设备建立GRE隧道后,还包括所述端设备接收所述对端设备发送的更新报文;所述端设备获取所述更新报文中GRE隧道信息所包括的所述对端设备的隧道关4建字Key、隧道4妄口IP地址和变化后的隧道源IP;也址;所述端设备根据所述对端设备的变化后的隧道源IP地址,更新与所述对端设备建立的所述GRE隧道,并向所述对端设备发送响应。5、如权利要求2所述的方法,其特征在于,所述与所述对端设备建立GRE隧道后,还包括所述端设备建立GRE隧道所使用的隧道源IP地址发生变化时,向所述GRE隧道的对端设备发送更新报文,所述更新报文中的GRE隧道信息包括所述端设备的隧道关4建字Key、隧道接口IP地址和变化后的隧道源IP地址;所述对端设备根据所述更新报文,更新与所述端设备建立的所述GRE隧道。6、如权利要求2或5所述的方法,其特征在于,还包括所述端设备向预先设置的组播组地址发送发现报文后,在预先设置的时间内未接收到响应时,重新发送所述发现报文;重新发送所述发现报文的次数超过预设的门限时,所述端设备进入休眠,直至配置发生变化或接收到对端设备发送的发现报文;休眠期间内所述端设备不发送报文;和/或所述端设备向所述GRE隧道的对端设备发送更新报文后,在预先设置的时间内未接收到响应时,重新发送所述更新报文;重新发送所述更新报文的次数超过预设的门限时,所述端设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内所述端设备不发送报文。7、如权利要求1所述的方法,其特征在于,所述需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去包括需要建立GRE隧道的端设备向网络中的GRE服务器发送注册报文,所述注册报文的GRE隧道信息中包括隧道关键字Key、隧道接口IP地址和隧道源IP地址。8、如权利要求7所述的方法,其特征在于,所述需要建立GRE隧道的端设备向网络中的GRE服务器发送注册报文后还包括所述GRE服务器根据所述注册报文存储关于所述端设备的GRE隧道信息的表项;所述GRE服务器查询本地已存储的其他设备的GRE隧道信息的表项中,是否存在与所述端设备具有相同隧道关键字Key的表项;所述GRE服务器将具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告报文中并发送给所述端设备。9、如权利要求8所述的方法,其特征在于,所述GRE服务器将具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告报文中并发送给所述端设备后,还包括所述GRE服务器将所述端设备的GRE隧道信息添加在通告报文中,向与所述端设备具有相同隧道关键字Key的表项所对应的设备发送。10、如权利要求7或8或9所述的方法,其特征在于,所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道4妄口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道包括所述端设备接收网络中GRE服务器发送的通告报文;所述端设备获取所述通告报文中携带的对端设备的GRE隧道信息所包括的关键字Key;当所述对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道接口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道。11、如权利要求IO所述的方法,其特征在于,所述与所述对端设备建立GRE隧道后,还包括所述端设备在隧道源IP地址发生变化时,向所述GRE服务器发送通告报文,所述通告报文中携带隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;12、如权利要求IO所述的方法,其特征在于,所述与所述对端设备建立GRE隧道后,还包括所述端设备接收所述GRE服务器发送的通告报文,所述通告报文中携带所述对端设备的隧道关4建字Key、隧道接口IP地址和隧道源IP地址;所述端设备4企测到所述对端设备建立GRE隧道的隧道源IP地址发生变化时,更新与所述对端设备建立的所述GRE隧道。13、如权利要求11所述的方法,其特征在于,所述端设备接收所述GRE服务器发送的通告报文包括所述端设备接收所述GRE服务器在检测到所述对端设备建立GRE隧道所使用的隧道源IP地址发生变化时发送的通告报文;或所述端设备接收所述GRE服务器定期向本端设备发送的通告报文;或所述端设备接收所述GRE服务器通过组播方式向本端设备发送的通告报文,所述通告报文中携带所述GRE服务器中已存储的所有表项。14、一种网络设备,用于GRE隧道的动态建立,其特征在于,包括隧道信息发送单元,用于将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关4定字Key、隧道4妻口IP地址和隧道源IP地址;隧道建立单元,用于根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道。15、如权利要求14所述的网络设备,其特征在于,所述隧道信息发送单元包括第一隧道信息发送子单元,用于向预先设置的组播组地址发送发现报文,所述发现报文中携带自身用于建立GRE隧道的GRE隧道信息,所述GRE隧道信息包括隧道关4建字Key、隧道接口IP地址和隧道源IP地址,使得加入到所述组播组的其他设备接收到所述发现报文。16、如权利要求15所述的网络设备,其特征在于,所述隧道建立单元包括第一隧道信息获取子单元,用于接收所述对端设备通过组播方式发送的发现报文时,获取所述发现报文中携带的所述对端设备的GRE隧道信息所包括的关键字Key;第一隧道建立子单元,用于当所述第一隧道信息获取子单元获取的对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道接口IP地址与所述端设备的隧道4妄口IP地址处于同一网段时,将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道;隧道信息通知子单元,用于向所述对端设备发送所述端设备的隧道源IP地址。17、如权利要求15所述的网络设备,其特征在于,还包括第一隧道更新单元,用于接收所述对端设备发送的更新报文时,获取所述更新报文中GRE隧道信息所包括的所述对端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址;根据所述第一隧道更新信息获取子单元获取的对端设备的变化后的隧道源IP地址,更新与所述对端设备建立的所述GRE隧道,并向所述对端设备发送响应;第一隧道更新信息发送单元,用于在建立GRE隧道所使用的隧道源IP地址发生变化时,向所述GRE隧道的对端设备发送更新^艮文,所述更新报文中的GRE隧道信息包括所述端设备的隧道关键字Key、隧道接口IP地址和变化后的隧道源IP地址,触发所述对端设备更新已建立的GRE隧道;休眠控制单元,用于所述隧道信息发送单元向预先设置的组播组地址发送发现报文后,在预先设置的时间内未接收到响应时,重新发送所述发现报文;重新发送所述发现报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内自身设备不发送报文;和/或所述第一隧道更新信息发送单元向所述GRE隧道的对端设备发送更新报文后,在预先设置的时间内未接收到响应时,重新发送所述更新报文;重新发送所述更新报文的次数超过预设的门限时,控制自身设备进入休眠,直至配置发生变化或接收到所述对端设备发送的发现报文;休眠期间内自身设备不发送报文。18、如权利要求14所述的网络设备,其特征在于,所述隧道信息发送单元包括第二隧道信息发送子单元,用于向网络中的GRE服务器发送注册报文,所述注册才艮文的GRE隧道信息中包括隧道关4建字Key、隧道接口IP地址和隧道源IP;也址。19、如权利要求18所述的网络设备,其特征在于,所述隧道建立单元包括第二隧道信息获取子单元,用于接收到网络中GRE服务器发送的通告报文时,获取所述通告报文中携带的对端设备的GRE隧道信息所包括的关键字Key;第二隧道建立子单元,用于当所述第二隧道信息获取子单元获取的对端设备的隧道关键字Key与所述端设备上预先配置的隧道关键字Key相同、且所述对端设备的隧道4妄口IP地址与所述端设备的隧道4妄口IP地址处于同一网段时,所述端设备将所述对端设备的隧道源IP地址作为所述对端设备建立GRE隧道所使用的IP地址,与所述对端设备建立GRE隧道。20、如权利要求18或19所述的网络设备,其特征在于,还包括第二隧道更新信息发送单元,用于在自身设备的隧道源IP地址发生变化时,向所述GRE服务器发送通告报文,所述通告报文的GRE隧道信息中携带隧道关4建字Key、隧道接口IP地址以及变化后的隧道源IP地址;第二隧道更新单元,用于接收所述GRE服务器发送的通告报文,所述通告报文的GRE隧道信息中携带所述对端设备的隧道关键字Key、隧道接口IP地址和隧道源IP地址;当检测到所述对端设备建立GRE隧道的隧道源IP地址发生变化时,更新与所述对端设备建立的所述GRE隧道。21、一种GRE服务器,其特征在于,包括通告报文生成单元,用于生成通告报文,所述通告报文中携带GRE隧道目的端设备的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;通告才艮文发送单元,用于将所述通告报文向所述GRE隧道的源端设备发送。22、如权利要求21所述的GRE服务器,其特征在于,还包括注册报文接收单元,用于接收网络设备发送的注册报文,所述注册报文中携带网络设备的GRE隧道信息,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址以及变化后的隧道源IP地址;表项存储单元,用于根据所述注册报文存储关于所述网络设备的GRE隧道信息的表项。表项更新单元,用于在接收到关于GRE隧道一端的网络设备在建立GRE隧道所使用的隧道源IP地址发生变化的通告报文时,根据所述通告报文更新已存储的所述网络设备的GRE隧道信息的表项。23、如权利要求22所述的GRE服务器,其特征在于,所述通告报文生成单元包括表项查询子单元,用于查询本地已存储的网络设备的GRE隧道信息的表项中,是否存在与GRE隧道的源端设备具有相同隧道关键字Key的表项;通告报文生成子单元,用于根据所述表项查询子单元查询到的表项,将查找到的具有相同隧道关键字Key的表项中的GRE隧道信息添加在通告报文中,并通过所述通告报文发送单元向所述GRE隧道的源端设备发送;还用于将所述源端设备的GRE隧道信息添加在通告报文中,并通过所述通告报文发送单元向与所述源端设备所述具有相同隧道关键字Key的表项所对应的设备发送。24、如权利要求21所述的GRE服务器,其特征在于,所述通告报文发送单元包括第一通告报文发送子单元,用于在检测到GRE隧道一端的设备建立GRE隧道所使用的IP地址发生变化时,向所述GRE另隧道一端的设备发送通告报文;或第二通告报文发送子单元,用于定期向GRE隧道两端的设备发送通告报文;或第三通告报文发送子单元,用于通过组播方式向GRE隧道两端的设备发送通告报文,所述通告报文中携带所述表项存储单元中已存储的所有表项。全文摘要本发明公开了一种GRE隧道的动态建立方法和设备。该方法包括需要建立GRE隧道的端设备将自身用于建立GRE隧道的GRE隧道信息传递出去,所述GRE隧道信息包括隧道关键字Key、隧道接口IP地址和隧道源IP地址;所述端设备根据收到的其他端设备发送的报文中GRE隧道信息所包括的关键字Key,判断所述GRE隧道信息是否属于自己需要建立的隧道,如果是,则根据所述GRE隧道信息包括的对端设备隧道接口IP地址和隧道源IP地址,并结合自身的隧道信息与所述对端设备建立GRE隧道。通过使用本发明,可以在GRE隧道两端IP地址动态变化的情况下,在GRE两端的设备之间动态建立和维护GRE隧道并实时检测调整GRE隧道状态,使得GRE隧道的建立和维护更加灵活。文档编号H04L12/46GK101488902SQ20091000946公开日2009年7月22日申请日期2009年2月25日优先权日2009年2月25日发明者迪周,蒋益群申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1