CN104683210B - 一种自动建立隧道的方法和装置 - Google Patents
一种自动建立隧道的方法和装置 Download PDFInfo
- Publication number
- CN104683210B CN104683210B CN201510103162.2A CN201510103162A CN104683210B CN 104683210 B CN104683210 B CN 104683210B CN 201510103162 A CN201510103162 A CN 201510103162A CN 104683210 B CN104683210 B CN 104683210B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- node
- destination address
- message
- source address
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种自动建立隧道的方法和装置。该方法包括:本端节点查询路由表,得到下一跳为隧道的路由表项;本端节点发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址;所述本端节点接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为本端节点的隧道的目的地址。应用本发明实施例能够实现自动建立隧道,减小配置工作量。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种自动建立隧道的方法和装置。
背景技术
隧道技术是一种通过互联网络基础设施在网络之间传递数据的方式。使用隧道传递的数据可以是不同协议的数据帧或包,隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由,一旦到达网络终点,数据将被解包并转发到最终目的地。整个传递过程中,被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。
通用路由封装(Generic Routing Encapsulation,GRE)协议是一种典型的隧道协议,用来对任意一种网络层协议(例如IPv6协议)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络(如IPv4网络)中传输。封装前后数据报文的网络层协议可以相同,也可以不同。封装后的数据报文在网络中传输的路径,称为GRE隧道。GRE隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报文进行封装及解封装。
在通过隧道在互联网中传输数据之前,首先要在进行数据传输的本端节点和对端节点之间建立隧道,目前,一般通过手工配置的方式,在节点之间建立隧道,因此,当组网中需要建立大量隧道,或者需要创建点到多点的隧道时,将导致建立隧道所需的配置工作越发复杂,工作量过大。
发明内容
有鉴于此,本发明提出了一种自动建立隧道的方法和装置,能够实现自动建立隧道,减小建立隧道所需的配置工作量。
本发明提出的技术方案是:
一种自动建立隧道的方法,该方法包括:
本端节点查询路由表,得到下一跳为隧道的路由表项;
所述本端节点发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址;
所述本端节点接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
一种自动建立隧道的方法,该方法包括:
本端节点接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址;
所述本端节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
一种自动建立隧道的装置,该装置包括探测模块和建立模块,所述装置位于本端节点中;
所述探测模块,用于查询路由表,得到下一跳为隧道的路由表项,发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址;
所述建立模块,用于接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
一种自动建立隧道的装置,该装置包括接收模块和探测响应模块,所述装置位于本端节点中;
所述接收模块,用于接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址;
所述探测响应模块,用于在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
由上述技术方案可见,本发明实施例通过发送和响应隧道探测报文来自动建立隧道,其中发送隧道探测报文的节点可以称为探测节点,响应隧道探测报文的节点可以称为被探测节点。
通过发送和响应隧道探测报文,可以使得探测节点能够探测出被探测节点是否能够到达下一跳为隧道的路由表项中的目的地址、以及被探测节点中是否已配置所述隧道,换言之,探测节点能够探测出在到达所述路由表项中的目的地址的各条路径上、与探测节点配置有相同隧道的被探测节点,所述被探测节点将自身已配置的隧道的源地址作为探测响应报文的源地址,能够将自身的已配置的隧道的源地址告知探测节点,探测节点将该被探测节点已配置的隧道的源地址记录为本端的隧道的目的地址,从而实现根据探测响应报文自动建立隧道。
可见,本发明实施例中,在节点之间建立隧道时,能够由各个节点自动获取隧道的目的地址,从而实现自动建立隧道,由于不需要手工配置各个节点的隧道目的地址,因此减小了建立隧道所需的配置工作量,而且,本发明实施例也不需要将节点区分为分支设备、中心设备、或者设立专门的服务器设备,各个节点之间地位对等,因此组网也更加简单。
附图说明
图1是本发明实施例提供的自动建立隧道的方法中探测节点的处理流程图。
图2是本发明实施例提供的自动建立隧道的方法中被探测节点的处理流程图。
图3是本发明实施例提供的自动建立隧道的应用实例示意图。
图4是GRE报文头部的格式示意图。
图5是本发明实施例提供的GRE隧道探测报文的结构示意图。
图6是本发明实施例提供的节点设备的硬件结构连接图。
图7是本发明实施例提供的自动建立隧道的装置的第一结构示意图。
图8是本发明实施例提供的自动建立隧道的装置的第二结构示意图。
具体实施方式
目前,通过手工配置的方式在节点之间建立隧道时,首先在各个节点上配置隧道的源地址,当源地址配置完成后,网络配置人员配置隧道的目的地址,因此,当网络中需要建立大量隧道、或者需要创建点到多点的隧道时,采用手工配置的方式配置隧道的目的地址时,网络配置人员需要进行大量而复杂的配置操作。
实现自动建立隧道的一种方式是,预先确定网络中的分支设备和中心设备,由分支设备首先向中心设备发送隧道流量,中心设备接收所述隧道流量,记录所述隧道流量携带的隧道信息,从而生成加封装表,即通过中心设备建立各个分支设备之间的隧道,这种方式需要明确设备的角色是分支设备还是中心设备,并且必须由分支设备发起隧道流量。
实现自动建立隧道的另一种方式是,通过自动发现虚拟专用网(Auto DiscoveryVirtual Private Network,ADVPN)组网实现自动建立隧道,在ADVPN组网中,需要在网络中明确一台或多台服务器(Server)设备,所有隧道设备向server设备注册自身的隧道源地址,然后由server统一管理各个隧道设备的源地址,各个隧道设备向Server查询对端节点的隧道源地址,根据查询结果建立到对端节点的隧道。
可见,上述两种实现自动建立隧道的方法,或者需要明确各个设备的角色是分支设备还是中心设备,不适用于未区分分支设备和中心设备的组网,或者需要在网络中设置服务器设备,导致组网较为复杂。
基于上述分析,本发明实施例提供了一种自动建立隧道的方法和装置,能够实现自动建立隧道,减小建立隧道所需的配置工作量,并且,不需要明确各个设备的角色是分支设备还是中心设备,也不需要在网络中设置服务器设备,因此组网更简单。
下面分别从隧道探测报文的发送节点和响应节点的角度,即分别从探测节点和被探测节点的角度,对本发明实施例提供的自动建立隧道的方法进行说明,具体请参见图1和图2。
图1是本发明实施例提供的自动建立隧道的方法中探测节点的处理流程图。其中,图1所示流程的本端节点为探测节点。
如图1所示,该流程包括:
步骤101,本端节点查询路由表,得到下一跳为隧道的路由表项。
步骤102,所述本端节点发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址。
其中,通过将所述隧道探测报文的目的地址设置为所述路由表项的目的地址、源地址设置为所述隧道的源地址,使得接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址。
其中,所述本端节点通过所述隧道的源地址对应的接口、即所述隧道绑定的源接口发送所述隧道探测报文。
步骤103,所述本端节点接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
图2是本发明实施例提供的自动建立隧道的方法中被探测节点的处理流程图。其中,图2所示流程的本端节点为被探测节点。
如图2所示,该流程包括:
步骤201,本端节点接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址。
步骤202,所述本端节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
具体地,在确定目的地址是否可达时,若本端节点的路由表中存在目的地址为隧道探测报文的目的地址的路由表项或本端节点的地址为该目的地址,则确定该目的地址可达;若本端节点的路由表中不存在目的地址为隧道探测报文的目的地址的路由表项且本端节点的地址不为该目的地址,则确定该目的地址不可达。
另外,本端节点在确定自身已配置隧道且隧道探测报文的目的地址可达时,如果目的地址不为本端节点的地址,本端节点还需要继续转发该隧道探测报文,以使得隧道探测报文到达目的地址对应的节点。具体地,本端节点根据确定隧道探测报文的目的地址可达时查找到的路由表项转发隧道探测报文。
在本发明的一个实施例中,若本端节点确定隧道探测报文的目的地址不可达时,丢弃该隧道探测报文。若本端节点在确定自身未配置隧道且隧道探测报文的目的地址可达时,如果目的地址为本端节点的地址,则本端节点丢弃该隧道探测报文,如果目的地址不为本端节点的地址,则本端节点继续转发该隧道探测报文,以使得隧道探测报文到达目的地址对应的节点。具体地,本端节点根据确定隧道探测报文的目的地址可达时查找到的路由表项转发隧道探测报文。
其中,关于隧道探测报文的发送时机,本发明实施例提出:可以在节点设备初始化时发送隧道探测报文,从而在初始化阶段就能够建立节点之间的隧道;在节点设备开始处理数据报文以后,也可以发送隧道探测报文,从而能够针对在数据处理开始以后新增的隧道、初始化建立隧道时建立失败或遗漏的隧道等情况,实现隧道的自动建立。
具体地,在节点设备的初始化阶段自动建立节点间的隧道时,可以由节点设备在隧道源地址配置完成后,扫描节点设备中的路由表,得到下一跳为隧道的路由表项,封装并发送隧道探测报文,所述隧道探测报文的目的地址是所述路由表项的目的地址,源地址为所述隧道的源地址。
如果在开始处理数据报文以后,有某些隧道未能成功建立、或者新增了隧道,而接收的数据报文恰恰需要通过这些尚不存在目的地址的隧道来传输,则针对这种情况,本发明实施例提出,节点设备接收数据报文,查询路由表得到所述数据报文的下一跳为隧道,在确定出所述节点设备中不存在所述隧道的目的地址时,封装并发送所述隧道探测报文。
具体地,当本端节点查询到所述数据报文的下一跳为隧道、且该隧道的目的地址不存在时,可以将所述数据报文丢弃,然后根据该数据报文的路由表项中的目的地址、以及所述本端节点中该隧道的源地址,封装并发送隧道探测报文,以使得接收到所述隧道探测报文的节点在确定自身已配置所述隧道且所述目的地址可达时,将所述隧道探测报文的源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文携带所述接收到所述隧道探测报文的节点已配置的隧道的源地址,所述本端节点接收所述隧道探测响应报文,将所述隧道探测响应报文已配置的隧道的源地址记录为所述本端节点的隧道的目的地址。
下面举一个具体的实例,对本发明实施例的自动建立隧道的方法进行示例性说明,具体请参见图3。
图3是本发明实施例提供的自动建立隧道的应用实例示意图。
如图3所示,网络中存在6个节点,分别为DUT1、DUT2.......DUT6,其中,在DUT2中配置了隧道Tun1的源地址1.1.1.1,在DUT2的路由表中存在一条路由表项ROUTE:20.1.1.2next hop Tun1,该条路由表项显示,下一跳为隧道Tun1,该条路由表项的目的地址是20.1.1.2,在DUT5中也配置了隧道Tun1的源地址,且DUT5中隧道Tun1的源地址为3.1.1.2,在DUT5的路由表中中存在一条路由表项ROUTE:20.1.1.2 direct,该条路由表项显示,从DUT5可以直达目的地址是20.1.1.2。其中,20.1.1.2为DUT6的地址,DUT1、DUT3和DUT4未配置隧道Tun1。
其中,针对隧道Tun1,DUT2在为隧道Tun1配置了源地址1.1.1.1以后,查询路由表,得到路由表项ROUTE:20.1.1.2 next hop Tun1,该条路由表项显示,下一跳为隧道Tun1,该条路由表项的目的地址是20.1.1.2,因此,DUT2封装隧道探测报文,所述隧道探测报文的源地址是隧道Tun1在DUT2中的源地址1.1.1.1,目的地址是所述路由表项ROUTE:20.1.1.2next hop Tun1中的目的地址20.1.1.2,DUT2通过隧道Tun1绑定的接口发送所述隧道探测报文。
其他节点在接收到DUT2发送的所述隧道探测报文以后,判断自身是否配置了隧道Tun1的源地址、以及所述隧道探测报文的目的地址是否可达,如果是,则将所述隧道探测报文的源地址记录为隧道Tun1的目的地址,并反馈隧道探测响应报文,否则,不反馈隧道探测响应报文,继续转发所述隧道探测报文。
其中,隧道探测响应报文的源地址为发送隧道探测响应报文的节点自身针对隧道Tun1配置的源地址,以便DUT2将该节点针对隧道Tun1配置的源地址记录为隧道Tun1在该DUT2中的目的地址。
比如,DUT3在接收到DUT2发送的隧道探测报文以后,判断自身是否已配置隧道Tun1、路由表中是否存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项、以及目的地址20.1.1.2是否为DUT3的地址,判断结果为DUT3未配置隧道Tun1、路由表中存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项(即目的地址20.1.1.2可达)、目的地址20.1.1.2不为DUT3的地址,则DUT3按照目的地址为20.1.1.2的路由表项转发该隧道探测报文。
DUT4在接收到DUT2发送的隧道探测报文以后,判断自身是否已配置隧道Tun1、路由表中是否存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项、以及目的地址20.1.1.2是否为DUT4的地址,判断结果为DUT4未配置隧道Tun1、路由表中存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项(即目的地址20.1.1.2可达)、目的地址20.1.1.2不为DUT4的地址,则DUT4按照目的地址为20.1.1.2的路由表项转发该隧道探测报文。
DUT5在接收到DUT2发送的隧道探测报文以后,判断自身是否已配置隧道Tun1、路由表中是否存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项、以及目的地址20.1.1.2是否为DUT5的地址,判断结果为DUT5已配置了隧道Tun1、路由表中存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项(即目的地址20.1.1.2可达)、目的地址20.1.1.2不为DUT5的地址,则DUT5将隧道探测报文的源地址1.1.1.1记录为隧道Tun1的目的地址,反馈隧道探测响应报文,该隧道探测响应报文的源地址为隧道Tun1在DUT5中的源地址3.1.1.2,并从DUT5中的隧道Tun1绑定的接口发送该隧道探测响应报文,DUT2接收到DUT5反馈的隧道探测响应报文以后,将该隧道探测响应报文的源地址3.1.1.2记录为隧道Tun1在DUT2中的隧道目的地址。DUT5还可以按照目的地址为20.1.1.2的路由表项转发该隧道探测报文。
DUT6在接收到在接收到DUT2发送的隧道探测报文以后,判断自身是否已配置隧道Tun1、路由表中是否存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项、以及目的地址20.1.1.2是否为DUT6的地址,判断结果为DUT6未配置隧道Tun1、路由表中不存在目的地址为隧道探测报文的目的地址20.1.1.2的路由表项、目的地址20.1.1.2为DUT6的地址(即目的地址20.1.1.2可达),则DUT6丢弃该隧道探测报文。
关于本发明实施例所述的隧道探测报文和隧道探测响应报文,可以根据隧道协议的规定,通过修改报文头中的特定字段或比特的取值等方式,约定隧道探测报文的格式,因此,在不同的隧道协议中,隧道探测报文可以有不同的格式。
例如,在GRE隧道协议中,规定了GRE报文头部的格式,图4是GRE报文头部的格式示意图。
如图4所示,GRE报文头的开始依次是3个已被占用的字段C、K、S,然后是保留字段0(Reserved0),之后的各个字段依次是字段Ver、协议类型(Protocol Type)字段、校验和(checksum)字段、保留字段1(Reserved1)、关键字(Key)字段、序列号(Sequence Number)字段和负载(Payload)字段,其中,校验和(checksum)字段、保留字段1(Reserved1)、关键字(Key)字段和序列号(Sequence Number)字段都是可选字段。
本发明实施例中,当所述隧道为GRE隧道时,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
图5是本发明实施例提供的GRE隧道探测报文的结构示意图。
如图5所示,作为示例性地,可以设置保留字段0中的前两个比特位为H字段,该H字段的取值为1时标记报文为隧道探测报文,该H字段的取值为2时标记报文为隧道探测响应报文,该H字段的取值为0时标记报文为现有技术中的GRE报文。
可见,本发明实施例提供的自动建立隧道的方法中,通过发送和响应隧道探测报文,实现隧道目的地址的自动探测和获取。
具体地,本发明实施例通过发送隧道探测报文,将隧道探测报文的目的地址填写为下一跳为隧道的路由表项中的目的地址,可以对节点进行探测,其中,被探测节点只有在所述路由表项中的目的地址可达、且被探测节点中也配置有隧道的源地址时,才回复源地址为被探测节点的隧道源地址的隧道探测响应报文,以使得所述探测节点通过解析所述隧道探测响应报文获得被探测节点的隧道的源地址,从而将该被探测节点的隧道的源地址记录为隧道在探测节点本端的隧道目的地址。
可见,通过上述发送隧道探测报文和反馈隧道探测响应报文的方法,使得探测节点能够探测出被探测节点是否能够到达所述路由表项中的目的地址、以及被探测节点中是否配置有待建立的隧道,换言之,探测节点能够探测出在到达所述路由表项中的目的地址的各条路径上、与探测节点配置有相同隧道的被探测节点,所述被探测节点通过将自身已配置的隧道的源地址作为探测响应报文的源地址,能够将自身的隧道的源地址告知探测节点,探测节点将被探测节点的隧道的源地址记录为本端的隧道目的地址,从而实现根据所述探测响应报文自动建立隧道。
本发明实施例中,隧道探测报文的封装方式与一般的通过隧道转发私网数据报文的封装方式不同、封装的作用也不同:
一般通过隧道转发私网数据报文在进行封装时,数据报文的源地址是隧道源地址,数据报文的目的地址是隧道目的地址,封装的作用仅在于将私网数据报文封装成公网数据报文,从而使得私网数据报文能够在公网中传输。
而隧道探测报文的封装方式为:以隧道源地址为源地址,以下一跳为隧道的路由表项的目的地址为目的地址,换言之,隧道探测报文的源地址是本端节点中的隧道源地址、目的地址是下一跳为隧道的路由表项的目的地址。
由于封装隧道探测报文所采用的目的地址是下一跳为隧道的路由表项的目的地址,因此,对隧道探测报文进行封装的作用在于,使得探测节点可以到达所述路由表项中的目的地址的各条路径上的各个节点进行探测,筛选出存在隧道且目的地址可达的被探测节点,并得到这些被探测节点上隧道的源地址,以便探测节点能够将被探测节点中的源地址记录为所述探测节点本端的隧道目的地址,实现隧道的自动建立。
采用本发明实施例,无需配置隧道的目的地址,就能够自动生成隧道,从而解决大量设备之间建立隧道时,需要大量手工配置的问题。
针对上述方法,本发明实施例还公开了一种节点设备,该节点设备中包括自动建立隧道的装置,能够实现隧道的自动建立。
图6是本发明实施例提供的节点设备的硬件结构连接图。
如图6所示,该主机包括处理器、网络接口、内存和非易失性存储器,且上述各硬件通过总线连接,其中:
非易失性存储器,用于存储指令代码;所述指令代码被处理器执行时完成的操作主要为内存中的自动建立隧道的装置完成的功能。
处理器,用于与非易失性存储器通信,读取和执行非易失性存储器中存储的所述指令代码,完成上述自动建立隧道的装置完成的功能。
内存,当非易失性存储器中的所述指令代码被执行时完成的操作主要为内存中的自动建立隧道的装置完成的功能。
从软件层面而言,应用于节点设备的自动建立隧道的装置如图7和图8所示。
图7是本发明实施例提供的自动建立隧道的装置的第一结构示意图。图7中所示装置位于充当探测节点的本端节点中。
如图7所示,该装置包括探测模块701和建立模块702。
探测模块701,用于查询路由表,得到下一跳为隧道的路由表项,发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址。
建立模块702,用于接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
其中,探测模块701可以用于接收数据报文,查询路由表得到所述数据报文对应的路由表项,所述路由表项的下一跳为隧道、且所述本端节点不存在所述隧道的目的地址。
其中,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
图8是本发明实施例提供的自动建立隧道的装置的第二结构示意图。图8中所示装置位于充当被探测节点的本端节点中。
如图8所示,该装置包括接收模块801和探测响应模块802。
接收模块801,用于接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址。
探测响应模块802,用于在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
其中,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种自动建立隧道的方法,其特征在于,该方法包括:
本端节点查询路由表,得到下一跳为隧道的路由表项;
所述本端节点发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址;
所述本端节点接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
2.根据权利要求1所述的方法,其特征在于,本端节点查询路由表,得到下一跳为隧道的路由表项包括:
本端节点接收数据报文,查询路由表得到所述数据报文对应的路由表项,所述路由表项的下一跳为隧道、且所述本端节点不存在隧道的目的地址。
3.根据权利要求1所述的方法,其特征在于,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
4.一种自动建立隧道的方法,其特征在于,该方法包括:
本端节点接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址;
所述本端节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
5.根据权利要求4所述的方法,其特征在于,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
6.一种自动建立隧道的装置,其特征在于,该装置包括探测模块和建立模块,所述装置位于本端节点中;
所述探测模块,用于查询路由表,得到下一跳为隧道的路由表项,发送隧道探测报文,所述隧道探测报文的目的地址为所述路由表项的目的地址,源地址为所述隧道的源地址,以使接收到所述隧道探测报文的节点在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,向所述本端节点发送隧道探测响应报文,所述隧道探测响应报文的源地址为所述接收到所述隧道探测报文的节点已配置的隧道的源地址;
所述建立模块,用于接收所述隧道探测响应报文,将所述隧道探测响应报文的源地址记录为所述本端节点的隧道的目的地址。
7.根据权利要求6所述的装置,其特征在于,
所述探测模块,用于接收数据报文,查询路由表得到所述数据报文对应的路由表项,所述路由表项的下一跳为隧道、且所述本端节点不存在隧道的目的地址。
8.根据权利要求6所述的装置,其特征在于,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
9.一种自动建立隧道的装置,其特征在于,该装置包括接收模块和探测响应模块,所述装置位于本端节点中;
所述接收模块,用于接收隧道探测报文,所述隧道探测报文的目的地址是发送所述隧道探测报文的节点中下一跳为隧道的路由表项的目的地址,源地址是发送所述隧道探测报文的节点为隧道配置的源地址;
所述探测响应模块,用于在确定自身已配置隧道且所述目的地址可达时,将所述源地址记录为该已配置的隧道的目的地址,返回隧道探测响应报文,所述隧道探测响应报文的源地址为所述本端节点已配置的隧道的源地址,以使得发送所述隧道探测报文的节点将所述本端节点已配置的隧道的源地址记录为隧道的目的地址。
10.根据权利要求9所述的装置,其特征在于,所述隧道为通用路由封装GRE隧道,所述隧道探测报文是将GRE头部保留字段中的预设比特位设置为第一值的GRE报文,所述隧道探测响应报文是将GRE头部保留字段中的预设比特位设置为第二值的GRE报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103162.2A CN104683210B (zh) | 2015-03-10 | 2015-03-10 | 一种自动建立隧道的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103162.2A CN104683210B (zh) | 2015-03-10 | 2015-03-10 | 一种自动建立隧道的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683210A CN104683210A (zh) | 2015-06-03 |
CN104683210B true CN104683210B (zh) | 2018-10-09 |
Family
ID=53317831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510103162.2A Active CN104683210B (zh) | 2015-03-10 | 2015-03-10 | 一种自动建立隧道的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683210B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591982B (zh) * | 2015-07-24 | 2018-12-25 | 新华三技术有限公司 | 一种报文传输的方法和装置 |
EP3375139B1 (en) * | 2015-11-12 | 2021-03-10 | Telefonaktiebolaget LM Ericsson (publ) | Method and system for general packet radio service tunneling protocol (gtp) probing |
CN107431968B (zh) * | 2015-12-30 | 2020-10-09 | 华为技术有限公司 | 一种建立路由表的方法、电子设备及网络 |
CN106936795B (zh) * | 2015-12-31 | 2019-12-24 | 华为技术有限公司 | 建立互联网协议安全性隧道的方法和网关设备 |
CN106878165B (zh) * | 2017-01-22 | 2020-02-11 | 新华三技术有限公司 | 一种数据传输方法和装置 |
CN106878184B (zh) * | 2017-02-28 | 2020-02-11 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN108696428B (zh) * | 2018-05-17 | 2020-10-27 | 北京大米科技有限公司 | 基于隧道技术的路由探测方法、路由节点和中心服务器 |
CN109600293B (zh) * | 2018-12-24 | 2021-06-04 | 青岛海信电子设备股份有限公司 | 一种gre隧道建立方法及系统 |
CN113691418A (zh) * | 2021-08-23 | 2021-11-23 | 北京天融信网络安全技术有限公司 | 一种隧道探测方法、装置、存储介质及电子设备 |
CN113794643A (zh) * | 2021-08-31 | 2021-12-14 | 新华三信息安全技术有限公司 | 一种流量的转发方法和节点设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488902A (zh) * | 2009-02-25 | 2009-07-22 | 杭州华三通信技术有限公司 | 一种gre隧道的动态建立方法和设备 |
CN101572664A (zh) * | 2009-05-27 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种通用路由封装隧道的配置方法及路由器 |
CN101815106A (zh) * | 2010-04-16 | 2010-08-25 | 杭州华三通信技术有限公司 | 动态gre隧道建立的方法和设备 |
CN103259736A (zh) * | 2013-05-24 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种隧道建立方法和网络设备 |
CN103973555A (zh) * | 2013-01-29 | 2014-08-06 | 华为技术有限公司 | 通用路由封装协议隧道建立方法、通信设备及通信系统 |
CN104022936A (zh) * | 2014-06-20 | 2014-09-03 | 杭州华三通信技术有限公司 | 一种隧道建立方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738401B2 (en) * | 2005-10-20 | 2010-06-15 | At&T Intellectual Property I, L.P. | System and method for overlaying a hierarchical network design on a full mesh network |
-
2015
- 2015-03-10 CN CN201510103162.2A patent/CN104683210B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488902A (zh) * | 2009-02-25 | 2009-07-22 | 杭州华三通信技术有限公司 | 一种gre隧道的动态建立方法和设备 |
CN101572664A (zh) * | 2009-05-27 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种通用路由封装隧道的配置方法及路由器 |
CN101815106A (zh) * | 2010-04-16 | 2010-08-25 | 杭州华三通信技术有限公司 | 动态gre隧道建立的方法和设备 |
CN103973555A (zh) * | 2013-01-29 | 2014-08-06 | 华为技术有限公司 | 通用路由封装协议隧道建立方法、通信设备及通信系统 |
CN103259736A (zh) * | 2013-05-24 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种隧道建立方法和网络设备 |
CN104022936A (zh) * | 2014-06-20 | 2014-09-03 | 杭州华三通信技术有限公司 | 一种隧道建立方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104683210A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683210B (zh) | 一种自动建立隧道的方法和装置 | |
US9819511B2 (en) | Bidirectional forwarding detection over a virtual extensible local area network | |
CN110034971B (zh) | 检测业务链的方法及装置 | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
US9294302B2 (en) | Non-fragmented IP packet tunneling in a network | |
US11196589B2 (en) | Forwarding entry generation | |
CN101465844B (zh) | 一种防火墙穿越方法、系统和设备 | |
CN110535768B (zh) | 组播数据传输方法及相关设备 | |
US9769011B2 (en) | Bidirectional forwarding detection over network virtualization using generic routing encapsulation | |
CN109412927B (zh) | 一种多vpn数据传输方法、装置及网络设备 | |
CN103973574A (zh) | 位置与身份分离协议网络中的数据报文转发方法及装置 | |
CN104426737B (zh) | 一种实现动态虚拟专用网络链路层通信的方法和装置 | |
CN102694738A (zh) | 在虚拟专用网网关转发报文的方法以及虚拟专用网网关 | |
WO2022042503A1 (zh) | 一种报文传输方法、装置及系统 | |
CN107547340A (zh) | 一种报文转发方法和装置 | |
US20200336401A1 (en) | Round-trip performance measurement in a packet-switched communication network | |
CN103152254A (zh) | 通用路由封装隧道报文转发方法及系统 | |
JP6812549B2 (ja) | パケット転送方法及びネットワーク機器 | |
CN109547350A (zh) | 一种路由学习方法及网关设备 | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN102523312B (zh) | 一种4over6场景下的最优隧道选择方法 | |
CN103986637B (zh) | 一种差错报文处理方法及隧道设备 | |
CN102238084B (zh) | 一种跨域报文的转发方法、装置、路由设备和客户端 | |
CN112565044B (zh) | 报文处理方法及装置 | |
CN108471374A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |