CN104601462B - 传输数据包的方法及设备 - Google Patents
传输数据包的方法及设备 Download PDFInfo
- Publication number
- CN104601462B CN104601462B CN201410790101.3A CN201410790101A CN104601462B CN 104601462 B CN104601462 B CN 104601462B CN 201410790101 A CN201410790101 A CN 201410790101A CN 104601462 B CN104601462 B CN 104601462B
- Authority
- CN
- China
- Prior art keywords
- equipment
- magic number
- local terminal
- magic
- link detection
- 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)
- Communication Control (AREA)
Abstract
本发明公开了一种传输数据包的方法及设备,属于通信技术领域。该方法包括:接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字;如果第一设备魔术字与本端存储的第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,第二设备为与本端进行点对点协议PPP协商的设备;与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。本发明通过链路检测报文携带的魔术字确定本端的对端是否发生切换,从而避免了将数据包发送给错误的路由器。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种传输数据包的方法及设备。
背景技术
PPP(Point to Point Protocol,点对点协议)是两个设备之间传输数据包的链路层协议。两个设备可以基于PPP协议进行PPP协商,从而建立这两个设备之间的链路,并通过该链路相互传输数据包。
如图1所示的系统架构图,该系统架构包括四个路由器和至少一个传输设备,四个路由器分别为RTA、RTB、RTC和RTD,路由器RTA的对端为路由器RTB,路由器RTC的对端为路由器RTD,路由器RTA与路由器RTB进行PPP协商来建立第一链路,路由器RTC与路由器RTD进行PPP协商来建立第二链路,路由器RTA与路由器RTB通过第一链路相互传输数据包,路由器RTD与路由器RTC通过第二链路相互传输数据包。如果网络传输发生变化,需要将图1切换为图2所示的系统架构图,此时,路由器RTA的对端变为路由器RTD,路由器RTB的对端变为路由器RTC,并且当图1切换为图2的切换时间较短时,四个路由器不会产生震荡,进而使四个路由器均不会感知到对端的切换,从而不会重新进行PPP协商来重新建立链路,导致这四个路由器还是按照图1的链路传输数据包,从而导致数据包发送给错误的路由器。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种传输数据包的方法及设备。所述技术方案如下:
第一方面,提供了一种传输数据包的方法,所述方法包括:
接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字;
如果所述第一设备魔术字与本端存储的第二设备魔术字不同,则确定所述第一设备与第二设备不是同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备;
与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
结合第一方面,在上述第一方面的第一种可能的实现方式中,所述接收第一设备发送的链路检测报文之前,还包括:
在与第二设备进行PPP协商过程中,获取所述第二设备魔术字;
将所述第二设备魔术字存储在接口信息表包括的第一字段中。
第二方面,提供了一种传输数据包的方法,所述方法包括:
接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字;
根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备,所述第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
如果所述第一设备与所述第二设备为不同的设备,则与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
结合第二方面,在上述第二方面的第一种可能的实现方式中,所述根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,包括:
将所述第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将所述第一设备魔术字与所述本端存储的第三魔术字进行比较;
当所述第一设备魔术字与所述第二设备魔术字不同且所述第一设备魔术字与所述第三魔术字相同时,确定所述第一设备与所述第二设备为不同的设备,否则,确定所述第一设备与所述第二设备为同一设备。
结合第三方面,在上述第三方面的第二种可能的实现方式中,所述根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备之前,还包括:
从存储的接口信息表包括的第一字段中获取所述第二设备魔术字,以及从所述接口信息表包括的第二字段中获取所述第三魔术字,所述第一字段和所述第二字段为所述接口信息表中新增的字段。
结合第二方面、第二方面的第一种可能实现方式或者第二方面的第二种可能的实现方式,在上述第二方面的第三种可能的实现方式中,所述方法还包括:
如果所述第一设备魔术字与所述第三魔术字不同,则将接口信息表包括的第二字段中存储的所述第三魔术字替换为所述第一设备魔术字。
第三方面,提供了一种传输数据包的设备,所述设备包括:
接收模块,用于接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字;
确定模块,用于如果所述第一设备魔术字与本端存储的第二设备魔术字不同,则确定所述第一设备与第二设备不是同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备;
传输模块,用于与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
结合第三方面,在上述第三方面的第一种可能的实现方式中,所述设备还包括:
获取模块,用于在与第二设备进行PPP协商过程中,获取所述第二设备魔术字;
存储模块,用于将所述第二设备魔术字存储在接口信息表包括的第一字段中。
第四方面,提供了一种传输数据包的设备,所述设备包括:
接收模块,用于接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字;
判断模块,用于根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备,所述第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
传输模块,用于如果所述第一设备与所述第二设备为不同的设备,则与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
结合第四方面,在上述第四方面的第一种可能的实现方式中,所述判断模块包括:
比较单元,用于将所述第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将所述第一设备魔术字与所述本端存储的第三魔术字进行比较;
确定单元,用于当所述第一设备魔术字与所述第二设备魔术字不同且所述第一设备魔术字与所述第三魔术字相同时,确定所述第一设备与所述第二设备为不同的设备,否则,确定所述第一设备与所述第二设备为同一设备。
结合第四方面,在上述第四方面的第二种可能的实现方式中,所述设备还包括:
第一获取模块,用于从存储的接口信息表包括的第一字段中获取所述第二设备魔术字,以及从所述接口信息表包括的第二字段中获取所述第三魔术字,所述第一字段和所述第二字段为所述接口信息表中新增的字段。
结合第四方面、第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式,在上述第四方面的第三种可能的实现方式中,所述设备还包括:
替换模块,用于如果所述第一设备魔术字与所述第三魔术字不同,则将接口信息表包括的第二字段中存储的所述第三魔术字替换为所述第一设备魔术字。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,如果该链路检测报文携带的第一设备魔术字与第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,进而确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的一种传输数据包的系统架构图;
图2是现有技术提供的另一种传输数据包的系统架构图;
图3是本发明实施例提供的一种传输数据包的方法流程图;
图4是本发明实施例提供的另一种传输数据包的方法流程图;
图5是本发明实施例提供的又一种传输数据包的方法流程图;
图6是本发明实施例提供的再一种传输数据包的方法流程图;
图7是本发明实施例提供的一种传输数据包的设备结构示意图;
图8是本发明实施例提供的另一种传输数据包的设备结构示意图;
图9是本发明实施例提供的又一种传输数据包的设备结构示意图;
图10是本发明实施例提供的一种传输数据包的设备结构示意图;
图11是本发明实施例提供的另一种传输数据包的设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图3是本发明实施例提供的一种传输数据包的方法流程图。参见图3,该方法包括:
S301:接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字。
S302:如果第一设备魔术字与本端存储的第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,第二设备为与本端进行点对点协议PPP协商的设备。
S303:与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,如果该链路检测报文携带的第一设备魔术字与第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,进而确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。
可选地,接收第一设备发送的链路检测报文之前,还包括:
在与第二设备进行PPP协商过程中,获取第二设备魔术字;
将第二设备魔术字存储在接口信息表包括的第一字段中。
上述可选技术方案,可构成本发明的可选实施例,本发明实施例对此不再一一赘述。
图4是本发明实施例提供的一种传输数据包的方法流程图。参见图4,该方法包括:
S401:接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字。
S402:根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备,第二设备为与本端进行点对点协议PPP协商的设备,第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字。
S404:如果第一设备与第二设备为不同的设备,则与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,根据该链路检测报文携带的第一设备魔术字、第二设备魔术字和上次接收的链路检测报文携带的第三魔术字,判断第一设备与第二设备是否为同一设备,当第一设备与第二设备不是同一设备时,确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。
可选地,根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备,包括:
将第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将第一设备魔术字与本端存储的第三魔术字进行比较;
当第一设备魔术字与第二设备魔术字不同且第一设备魔术字与第三魔术字相同时,确定第一设备与第二设备为不同的设备,否则,确定第一设备与第二设备为同一设备。
可选地,根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备之前,还包括:
从存储的接口信息表包括的第一字段中获取第二设备魔术字,以及从接口信息表包括的第二字段中获取第三魔术字,第一字段和第二字段为接口信息表中新增的字段。
可选地,该方法还包括:
如果第一设备魔术字与第三魔术字不同,则将接口信息表包括的第二字段中存储的第三魔术字替换为第一设备魔术字。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例在此不再进行一一赘述。
图5是本发明实施例提供的一种传输数据包的方法流程图。参见图5,该方法包括:
S501:在本端与第二设备进行PPP协商过程中,获取第二设备魔术字,将第二设备魔术字存储在接口信息表包括的第一字段中,第一字段为接口信息表中新增的字段。
PPP协商可以包括LCP(Link Control Protocol,链路控制协议)协商和IPCP(IPControl Protocol,IP控制协议)协商,而第二设备魔术字是在LCP协商过程中进行获取,具体为:本端与第二设备进行LCP协商时,本端向第二设备发送第一LCP协商报文,第一LCP协商报文携带本端的魔术字,当第二设备接收到第一LCP协商报文时,向本端发送第一LCP响应报文,并存储本端的魔术字。之后,第二设备向本端发送第二LCP协商报文,第二LCP协商报文携带第二设备魔术字,当本端接收到第二LCP协商报文时,向第二设备发送第二LCP响应报文,本端获取第二LCP协商报文携带的第二设备魔术字,并将第二设备魔术字存储在接口信息表包括的第一字段中。比如,本端为图1中的路由器RTA,第二设备为图1中的路由器RTB,在路由器RTA与路由器RTB进行PPP协商过程中,路由器RTA获取路由器RTB的魔术字,并将路由器RTB的魔术字存储在接口信息表包括的第一字段中。
需要说明的是,LCP协商报文中不仅携带魔术字,还可以携带其他的协商参数,也即是,第一LCP协商报文不仅携带本端的魔术字,还可以携带其他的协商参数,第二LCP协商报文也不仅携带第二设备魔术字,还可以携带其他的协商参数。而第一LCP协商报文和第二LCP协商报文携带的其他的协商参数均可以包括MRU(Maximum Receive Unit,最大接收单元)标志、使用PAP(Password Authentication Protocol,密码认证协议)协商、使用CHAP(Challenge Handshake Authentication Protocol,握手认证协议)协商、CHAP的加密算法、自适应协商标志、异步转义字符标志、MRU值等,本发明实施例对此不做具体限定。
当本端与第二设备进行LCP协商之后,本端需要将第一LCP协商报文中携带的参数存储在接口信息表包括的参数字段中,另外,本端还需要存储第二设备魔术字,因此,可以事先在接口信息表中新增加第一字段,第一字段用于存储第二设备魔术字。
其中,当本端与第二设备进行LCP协商完成之后,本端与第二设备就建立了链路,而通过该链路传输数据包时,本端还需要与第二设备进行IPCP协商来获取第二设备的路由,以及第二设备获取本端的路由,具体为:本端向第二设备发送第一IPCP协商报文,第一IPCP协商报文携带本端的路由,当第二设备接收到第一IPCP协商报文时,向本端发送第一IPCP响应报文,并存储本端的路由。第二设备向本端发送第二IPCP协商报文,第二IPCP协商报文携带第二设备的路由,当本端接收到第二IPCP协商报文时,向第二设备发送第二IPCP响应报文,并存储第二设备的路由。之后,本端可以根据第二设备的路由向第二设备发送数据包,第二设备也可以根据本端的路由向本端发送数据包。
为了保证本端与第二设备之间的链路出现异常时,本端和第二设备能够及时获知,在本端与第二设备进行PPP协商完成后,需要本端和第二设备均启动链路定期检测,也即是,本端需要定期向第二设备发送链路检测报文,第二设备也需要定期向本端发送链路检测报文。而如果将第二设备切换为第一设备,且本端、第一设备和第二设备均没有产生震荡,此时,本端与第一设备不会重新进行PPP协商,且本端接收的链路检测报文是第一设备发送的。
S502:本端接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字。
链路检测报文可以为keepalive报文,且链路检测报文用于检测两个设备之间建立的链路是否存在异常,而该异常可以包括链路环路,目前,检测链路环路时,链路检测报文中需要携带发送端的魔术字,也即是,当第一设备向本端发送链路检测报文时,该链路检测报文中携带第一设备魔术字,当本端向第一设备发送链路检测报文时,该链路检测报文中携带本端的魔术字。而在本发明实施例中,并没有对链路检测报文进行改变,只是利用链路检测报文中携带的魔术字,判断本端的对端是否发生切换,提高了链路检测报文的利用率。
S503:本端从存储的接口信息表包括的第一字段中获取第二设备魔术字,并当第一设备魔术字与本端存储的第二设备魔术字不同时,确定第一设备与第二设备不是同一设备,第二设备为与本端进行PPP协商的设备。
当第一设备与第二设备为同一设备时,确定本端的对端没有发生切换,也即是,本端与第二设备之间的链路没有发生震荡,不需要本端与第一设备重新进行PPP协商。当第一设备与第二设备为不同的设备时,确定本端的对端发生切换,也即是,本端与第二设备之间的链路发生震荡,需要本端与第一设备重新进行PPP协商,比如,将图1中路由器RTA的对端路由器RTB切换为路由器RTD,如图2所示,此时,需要路由器RTA与路由器RTD重新进行PPP协商。
S504:本端与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
本端与第一设备重新进行PPP协商之后,本端存储第一设备的路由,第一设备存储本端的路由,这样,本端可以通过第一设备的路由向第一设备发送数据包,第一设备也可以通过本端的路由向本端发送数据包。
其中,本端与第一设备重新进行PPP协商的过程与上述步骤S501中的PPP协商的过程相同或者相似,本发明实施例对此不再进行赘述。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,根据该链路检测报文携带的第一设备魔术字和第二设备魔术字,判断第一设备与第二设备是否为同一设备。当第一设备与第二设备为不同设备时,确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。另外,由于现有的PPP协商过程中,本端接收到对端发送的协商报文中携带对端的魔术字,且PPP协商完成之后,本端接收对端发送的链路检测报文中也携带对端的魔术字,所以,本发明实施例并没有增加额外的配置,且本发明实施例是基于魔术字是否相同来进行判断,并不是基于是否接收到链路检测报文来进行判断,所以,一旦链路的质量较差,出现丢失链路检测报文的情况时,不会出现频繁震荡的现象以及频繁进行PPP协商的现象。
图6是本发明实施例提供的一种传输数据包的方法流程图。参见图6,该方法包括:
S601:在本端与第二设备进行PPP协商过程中,获取第二设备魔术字,将第二设备魔术字存储在接口信息表包括的第一字段中。
PPP协商可以包括LCP(Link Control Protocol,链路控制协议)协商和IPCP(IPControl Protocol,IP控制协议)协商,而第二设备魔术字是在LCP协商过程中进行获取,具体为:本端与第二设备进行LCP协商时,本端向第二设备发送第一LCP协商报文,第一LCP协商报文携带本端的魔术字,当第二设备接收到第一LCP协商报文时,向本端发送第一LCP响应报文,并存储本端的魔术字。之后,第二设备向本端发送第二LCP协商报文,第二LCP协商报文携带第二设备魔术字,当本端接收到第二LCP协商报文时,向第二设备发送第二LCP响应报文,本端获取第二LCP协商报文携带的第二设备魔术字,并将第二设备魔术字存储在接口信息表包括的第一字段中。比如,本端为图1中的路由器RTA,第二设备为图1中的路由器RTB,在路由器RTA与路由器RTB进行PPP协商过程中,路由器RTA获取路由器RTB的魔术字,并将路由器RTB的魔术字存储在接口信息表包括的第一字段中。
需要说明的是,LCP协商报文中不仅携带魔术字,还可以携带其他的协商参数,也即是,第一LCP协商报文不仅携带本端的魔术字,还可以携带其他的协商参数,第二LCP协商报文也不仅携带第二设备魔术字,还可以携带其他的协商参数。而第一LCP协商报文和第二LCP协商报文携带的其他的协商参数均可以包括MRU(Maximum Receive Unit,最大接收单元)标志、使用PAP(Password Authentication Protocol,密码认证协议)协商、使用CHAP(Challenge Handshake Authentication Protocol,握手认证协议)协商、CHAP的加密算法、自适应协商标志、异步转义字符标志、MRU值等,本发明实施例对此不做具体限定。
当本端与第二设备进行LCP协商之后,本端需要将第一LCP协商报文中携带的参数存储在接口信息表包括的参数字段中,另外,由于本发明的目的是避免频繁震荡的情况下检测本端的对端是否发生切换,所以,本端还需要存储第二设备魔术字,当然,后续还需要存储第三魔术字,所以,可以事先在接口信息表中新增加第一字段和第二字段,第一字段用于存储第二设备魔术字,第二字段用于存储第三魔术字。
其中,当本端与第二设备进行LCP协商完成之后,本端与第二设备就建立了链路,而通过该链路传输数据包时,本端还需要与第二设备进行IPCP协商来获取第二设备的路由,以及第二设备获取本端的路由,具体为:本端向第二设备发送第一IPCP协商报文,第一IPCP协商报文携带本端的路由,当第二设备接收到第一IPCP协商报文时,向本端发送第一IPCP响应报文,并存储本端的路由。第二设备向本端发送第二IPCP协商报文,第二IPCP协商报文携带第二设备的路由,当本端接收到第二IPCP协商报文时,向第二设备发送第二IPCP响应报文,并存储第二设备的路由。之后,本端可以根据第二设备的路由向第二设备发送数据包,第二设备也可以根据本端的路由向本端发送数据包。
为了保证本端与第二设备之间的链路出现异常时,本端和第二设备能够及时获知,在本端与第二设备进行PPP协商完成后,需要本端和第二设备均启动链路定期检测,也即是,本端需要定期向第二设备发送链路检测报文,第二设备也需要定期向本端发送链路检测报文。而如果将第二设备切换为第一设备,且本端、第一设备和第二设备均没有产生震荡,此时,本端与第一设备不会重新进行PPP协商,且本端接收的链路检测报文是第一设备发送的。
S602:本端接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字。
链路检测报文可以为keepalive报文,且链路检测报文用于检测两个设备之间建立的链路是否存在异常,而该异常可以包括链路环路,目前,检测链路环路时,链路检测报文中需要携带发送端的魔术字,也即是,当第一设备向本端发送链路检测报文时,该链路检测报文中携带第一设备魔术字,当本端向第一设备发送链路检测报文时,该链路检测报文中携带本端的魔术字。而在本发明实施例中,并没有对链路检测报文进行改变,只是利用链路检测报文中携带的魔术字,判断本端的对端是否发生切换,提高了链路检测报文的利用率。
S603:本端从存储的接口信息表包括的第一字段中获取第二设备魔术字,以及从接口信息表包括的第二字段中获取第三魔术字,第一字段和第二字段为接口信息表中新增的字段,第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字。
由于第二设备魔术字是本端与第二设备进行PPP协商时进行获取的,而第三魔术字需要本端与第二设备进行PPP协商完成之后,从接收的链路检测报文中进行获取,所以,本端与第二设备进行PPP协商完成且未接收到第二设备发送的链路检测报文时,接口信息表中只会存储第二设备魔术字,还没有存储第三魔术字。因此,当本端第一次接收到链路检测报文中,本端可以根据第二设备魔术字和该链路检测报文携带的魔术字判断本端的对端是否发生切换,当第二设备魔术字与该链路检测报文携带的魔术字相同时,确定本端的对端没有发生切换,当然,本端也可以不进行判断,本发明实施例对此不做具体限定。
需要说明的是,一般情况下,本端第一次接收到的链路检测报文都是第二设备发送的,当然,也有特殊情况,即,本端第一次接收到链路检测报文之前就已经将本端的对端进行切换,所以,为了避免频繁震荡以及频繁进行PPP协商的现象,当本端第一次接收到链路检测报文时,如果第二设备魔术字与该链路检测报文携带的魔术字不同时,不重新进行PPP协商,可以等第二次接收到链路检测报文时再确定是否重新进行PPP协商。
S604:根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备。
具体地,将第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将第一设备魔术字与本端存储的第三魔术字进行比较;当第一设备魔术字与第二设备魔术字不同且第一设备魔术字与第三魔术字相同时,确定连续两次接收的链路检测报文为同一设备发送的,即第一设备,并且第一设备与第二设备为不同的设备,否则,确定第一设备与第二设备为同一设备。
当第一设备与第二设备为同一设备时,确定不需要本端与第一设备重新进行PPP协商。当第一设备与第二设备为不同的设备时,确定本端的对端发生切换,也即是,本端与第二设备之间的链路发生震荡,需要本端与第一设备重新进行PPP协商,比如,将图1中路由器RTA的对端路由器RTB切换为路由器RTD,如图2所示,此时,需要路由器RTA与路由器RTD重新进行PPP协商。
其中,在本发明实施例中,为了确保判断结果的准确性,可以基于连续两次接收到的链路检测报文中携带的魔术字进行判断,更进一步避免出现频繁震荡的现象以及频繁进行PPP协商的现象。
S605:如果第一设备与第二设备为不同设备,则确定本端与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
本端与第一设备重新进行PPP协商之后,本端存储第一设备的路由,第一设备存储本端的路由,这样,本端可以通过第一设备的路由向第一设备发送数据包,第一设备也可以通过本端的路由向本端发送数据包。
其中,本端与第一设备重新进行PPP协商的过程与上述步骤S601中的PPP协商的过程相同或者相似,本发明实施例对此不再进行赘述。
进一步地,当第一设备魔术字与第三魔术字不同时,本端将接口信息表包括的第二字段中存储的第三魔术字替换为第一设备魔术字。
将接口信息表包括的第二字段中存储的第三魔术字替换为第一设备魔术字之后,当再次接收到第一设备发送的链路检测报文时,可以按照上述的步骤继续判断本端的对端是否发生切换。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,根据该链路检测报文携带的第一设备魔术字、第二设备魔术字和上次接收的链路检测报文携带的第三魔术字,判断第一设备与第二设备是否为同一设备,进而判断本端对应的对端是否发生切换,以决定是否需要重新进行PPP协商,避免将数据包发送给错误的路由器。另外,由于现有的PPP协商过程中,本端接收到对端发送的协商报文中携带对端的魔术字,且PPP协商完成之后,本端接收对端发送的链路检测报文中也携带对端的魔术字,所以,本发明实施例并没有增加额外的配置,且本发明实施例是基于魔术字是否相同来进行判断,并不是基于是否接收到链路检测报文来进行判断,所以,一旦链路的质量较差,出现丢失链路检测报文的情况时,不会出现频繁震荡的现象以及频繁进行PPP协商的现象。
图7是本发明实施例提供的一种传输数据包的设备结构示意图。参见图7,该设备包括:接收模块701、确定模块702和传输模块703;
接收模块701,用于接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字;
确定模块702,用于如果第一设备魔术字与本端存储的第二设备魔术字不同,确定第一设备与第二设备不是同一设备,第二设备为与本端进行点对点协议PPP协商的设备;
传输模块703,用于与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
可选地,该设备还包括:
获取模块,用于在与第二设备进行PPP协商过程中,获取第二设备魔术字;
存储模块,用于将第二设备魔术字存储在接口信息表包括的第一字段中。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,如果该链路检测报文携带的第一设备魔术字与第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,进而确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。
图8是本发明实施例提供的一种传输数据包的设备结构示意图。参见图8,该设备包括:接收模块801、判断模块802和传输模块803。
接收模块801,用于接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字;
判断模块802,用于根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备,第二设备为与本端进行点对点协议PPP协商的设备,第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
传输模块803,用于如果第一设备与第二设备为不同的设备,则与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
可选地,判断模块802包括:
比较单元,用于将所述第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将所述第一设备魔术字与本端存储的第三魔术字进行比较;
确定单元,用于当所述第一设备魔术字与所述第二设备魔术字不同且所述第一设备魔术字与所述第三魔术字相同时,确定所述第一设备与所述第二设备为不同的设备,否则,确定所述第一设备与所述第二设备为同一设备。
可选地,如图9所示,该设备还包括:
第一获取模块804,用于从存储的接口信息表包括的第一字段中获取第二设备魔术字,以及从接口信息表包括的第二字段中获取第三魔术字,第一字段和第二字段为接口信息表中新增的字段。
可选地,该设备还包括:
替换模块,用于如果第一设备魔术字与第三魔术字不同,则将接口信息表包括的第二字段中存储的第三魔术字替换为第一设备魔术字。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,根据该链路检测报文携带的第一设备魔术字、第二设备魔术字和上次接收的链路检测报文携带的第三魔术字,判断第一设备与第二设备是否为同一设备,进而判断本端对应的对端是否发生切换,以决定是否需要重新进行PPP协商,避免了将数据包发送给错误的路由器。
需要说明的是:上述实施例提供的传输数据包的设备在传输数据包时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输数据包的设备与传输数据包的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本发明实施例提供的一种传输数据包的设备结构示意图。参见图10,该设备包括:接收机1001、处理器1002、存储器1003和发射机1004,用于执行如下所述一种传输数据包的方法。
接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字;
如果第一设备魔术字与本端存储的第二设备魔术字不同,确定第一设备与第二设备不是同一设备,第二设备为与本端进行点对点协议PPP协商的设备;
与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
可选地,接收第一设备发送的链路检测报文之前,还包括:
在与第二设备进行PPP协商过程中,获取第二设备魔术字;
将第二设备魔术字存储在接口信息表包括的第一字段中。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,如果该链路检测报文携带的第一设备魔术字与第二设备魔术字不同,则确定第一设备与第二设备不是同一设备,进而确定本端对应的对端已发生切换,之后,本端与第一设备之间重新进行PPP协商,避免了数据包发送给错误的路由器。
图11是本发明实施例提供的一种传输数据包的设备结构示意图。参见图11,该设备包括:接收机1101、处理器1102、存储器1103和发射机1104,用于执行如下所述一种传输数据包的方法。
接收第一设备发送的链路检测报文,该链路检测报文中携带第一设备魔术字;
根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备,第二设备为与本端进行点对点协议PPP协商的设备,第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
如果第一设备与第二设备为不同的设备,则与第一设备重新进行PPP协商,通过协商后获得的路由向第一设备传输数据包。
可选地,根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备,包括:
将第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将第一设备魔术字与本端存储的第三魔术字进行比较;
当第一设备魔术字与第二设备魔术字不同且第一设备魔术字与第三魔术字相同时,确定第一设备与第二设备为不同的设备,否则,确定第一设备与第二设备为同一设备。
可选地,根据第一设备魔术字、本端存储的第二设备魔术字和本端存储的第三魔术字,判断第一设备与第二设备是否为同一设备之前,还包括:
从存储的接口信息表包括的第一字段中获取第二设备魔术字,以及从接口信息表包括的第二字段中获取第三魔术字,第一字段和第二字段为接口信息表中新增的字段。
可选地,该方法还包括:
如果第一设备魔术字与第三魔术字不同,则将接口信息表包括的第二字段中存储的第三魔术字替换为第一设备魔术字。
在本发明实施例中,本端只需与第二设备进行PPP协商时,记录第二设备魔术字,并当接收到第一设备发送的链路检测报文时,根据该链路检测报文携带的第一设备魔术字、第二设备魔术字和上次接收的链路检测报文携带的第三魔术字,判断第一设备与第二设备是否为同一设备,进而判断本端对应的对端是否发生切换,以决定是否需要重新进行PPP协商,避免了将数据包发送给错误的路由器。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种传输数据包的方法,其特征在于,所述方法包括:
接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字,所述链路检测报文为所述第一设备在建立链路之后向所述第一设备的对端发送的用于判断对端是否发生切换的报文;
如果所述第一设备魔术字与本端存储的第二设备魔术字不同,则确定所述第一设备与第二设备不是同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备;
与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
2.如权利要求1所述的方法,其特征在于,所述接收第一设备发送的链路检测报文之前,还包括:
在与第二设备进行PPP协商过程中,获取所述第二设备魔术字;
将所述第二设备魔术字存储在接口信息表包括的第一字段中。
3.一种传输数据包的方法,其特征在于,所述方法包括:
接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字,所述链路检测报文为所述第一设备在建立链路之后向所述第一设备的对端发送的用于判断对端是否发生切换的报文;
根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备,所述第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
如果所述第一设备与所述第二设备为不同的设备,则与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
4.如权利要求3所述的方法,其特征在于,所述根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,包括:
将所述第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将所述第一设备魔术字与所述本端存储的第三魔术字进行比较;
当所述第一设备魔术字与所述第二设备魔术字不同且所述第一设备魔术字与所述第三魔术字相同时,确定所述第一设备与所述第二设备为不同的设备,否则,确定所述第一设备与所述第二设备为同一设备。
5.如权利要求3所述的方法,其特征在于,所述根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备之前,还包括:
从存储的接口信息表包括的第一字段中获取所述第二设备魔术字,以及从所述接口信息表包括的第二字段中获取所述第三魔术字,所述第一字段和所述第二字段为所述接口信息表中新增的字段。
6.如权利要求3-5任一权利要求所述的方法,其特征在于,所述方法还包括:
如果所述第一设备魔术字与所述第三魔术字不同,则将接口信息表包括的第二字段中存储的所述第三魔术字替换为所述第一设备魔术字。
7.一种传输数据包的设备,其特征在于,所述设备包括:
接收模块,用于接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字,所述链路检测报文为所述第一设备在建立链路之后向所述第一设备的对端发送的用于判断对端是否发生切换的报文;
确定模块,用于如果所述第一设备魔术字与本端存储的第二设备魔术字不同,则确定所述第一设备与第二设备不是同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备;
传输模块,用于与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
8.如权利要求7所述的设备,其特征在于,所述设备还包括:
获取模块,用于在与第二设备进行PPP协商过程中,获取所述第二设备魔术字;
存储模块,用于将所述第二设备魔术字存储在接口信息表包括的第一字段中。
9.一种传输数据包的设备,其特征在于,所述设备包括:
接收模块,用于接收第一设备发送的链路检测报文,所述链路检测报文中携带第一设备魔术字,所述链路检测报文为所述第一设备在建立链路之后向所述第一设备的对端发送的用于判断对端是否发生切换的报文;
判断模块,用于根据所述第一设备魔术字、本端存储的第二设备魔术字和所述本端存储的第三魔术字,判断所述第一设备与第二设备是否为同一设备,所述第二设备为与所述本端进行点对点协议PPP协商的设备,所述第三魔术字为当前时间之前且离当前时间最近一次接收的链路检测报文中携带的魔术字;
传输模块,用于如果所述第一设备与所述第二设备为不同的设备,则与所述第一设备重新进行PPP协商,通过协商后获得的路由向所述第一设备传输数据包。
10.如权利要求9所述的设备,其特征在于,所述判断模块包括:
比较单元,用于将所述第一设备魔术字与本端存储的第二设备魔术字进行比较,以及将所述第一设备魔术字与所述本端存储的第三魔术字进行比较;
确定单元,用于当所述第一设备魔术字与所述第二设备魔术字不同且所述第一设备魔术字与所述第三魔术字相同时,确定所述第一设备与所述第二设备为不同的设备,否则,确定所述第一设备与所述第二设备为同一设备。
11.如权利要求9所述的设备,其特征在于,所述设备还包括:
第一获取模块,用于从存储的接口信息表包括的第一字段中获取所述第二设备魔术字,以及从所述接口信息表包括的第二字段中获取所述第三魔术字,所述第一字段和所述第二字段为所述接口信息表中新增的字段。
12.如权利要求9-11任一权利要求所述的设备,其特征在于,所述设备还包括:
替换模块,用于如果所述第一设备魔术字与所述第三魔术字不同,则将接口信息表包括的第二字段中存储的所述第三魔术字替换为所述第一设备魔术字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410790101.3A CN104601462B (zh) | 2014-12-18 | 2014-12-18 | 传输数据包的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410790101.3A CN104601462B (zh) | 2014-12-18 | 2014-12-18 | 传输数据包的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601462A CN104601462A (zh) | 2015-05-06 |
CN104601462B true CN104601462B (zh) | 2018-01-16 |
Family
ID=53126980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410790101.3A Active CN104601462B (zh) | 2014-12-18 | 2014-12-18 | 传输数据包的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601462B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954438A (zh) * | 2015-05-08 | 2015-09-30 | 北京华为数字技术有限公司 | 基于padt报文的会话处理方法和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848114A (zh) * | 2010-04-15 | 2010-09-29 | 华为技术有限公司 | 故障检测方法和装置 |
CN102457548A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 一种获取IPv6接口标识的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100193A1 (en) * | 2007-10-16 | 2009-04-16 | Cisco Technology, Inc. | Synchronization of state information to reduce APS switchover time |
-
2014
- 2014-12-18 CN CN201410790101.3A patent/CN104601462B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848114A (zh) * | 2010-04-15 | 2010-09-29 | 华为技术有限公司 | 故障检测方法和装置 |
CN102457548A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 一种获取IPv6接口标识的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104601462A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10462229B2 (en) | Method and apparatus for initiating and maintaining sessions between endpoints | |
KR101937004B1 (ko) | 다중-경로 tcp의 사용을 제어하기 위한 방법, 네트워크 노드, 시스템 및 컴퓨터 프로그램 제품 | |
US9515995B2 (en) | Method and apparatus for network address translation and firewall traversal | |
EP2954713B1 (en) | Method and apparatus for reconfiguring a virtual home gateway | |
EP3163799B1 (en) | Network device and method for sending bgp information | |
CN113411260B (zh) | 一种IPv6网络中数据报文的发送方法及装置 | |
US9668160B2 (en) | Topology discovery based on SCTP/X2 snooping | |
EP3099111B1 (en) | Data processing method, device and system | |
US20170180210A1 (en) | Shifting network traffic from a network device | |
US9548930B1 (en) | Method for improving link selection at the borders of SDN and traditional networks | |
US10819623B2 (en) | Method and device for transmitting data | |
US9294986B2 (en) | Topology discovery based on explicit signaling | |
CN107078946A (zh) | 业务流处理策略的处理方法、装置和系统 | |
WO2016173269A1 (zh) | 一种在PPPoE认证过程中的报文处理方法及相关设备 | |
CN104601462B (zh) | 传输数据包的方法及设备 | |
CN102769552A (zh) | 一种通过bfd检测lsp时传输bfd报文的方法和设备 | |
US20110113145A1 (en) | Stateless Transmission Control Protocol Rendezvous Solution For Border Gateway Function | |
WO2015153450A1 (en) | Method for adjacency status synchronization in label distribution protocol | |
CN107086958B (zh) | 一种数据传输方法、wap网关及系统 | |
CN105519049A (zh) | 一种报文传输方法、装置及系统 | |
KR101410510B1 (ko) | Sctp를 이용한 데이터 전송 방법 및 장치 | |
US10129089B1 (en) | Shifting network traffic | |
US11394785B2 (en) | Method and system to transmit and receive data packets through at least one end-to-end connection | |
CN102104540B (zh) | As号更新的方法及bgp发言者 | |
Fressancourt et al. | A dynamic offer/answer mechanism encompassing TCP variants in heterogeneous environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |