发明内容
有鉴于此,有必要提供一种网络装置,用于侦测其与另一网络装置的点到点连线的状态
此外,还需提供一种侦测点到点连线状态的方法,用于网络装置中侦测其与另一网络装置的点到点连线的状态。
本发明实施方式中的网络装置用于侦测其与另一网络装置的点到点连线的状态,所述网络装置包括记录模块、通信模块、封包判断模块及状态判断模块。记录模块用于记录网络装置与另一网络装置之间的通信封包数,其中网络装置在开始侦测连线状态时所接收到的通信封包的个数定义为第一通信封包。通信模块用于在连线侦测周期内发送侦测封包到另一网络装置,并从另一网络装置接收与侦测封包相对应的回应封包,其中,记录模块还用于记录无效封包数,无效封包数为网络装置未收到回应封包的侦测封包的个数。封包判断模块用于在连线侦测周期已经结束时判断无效封包数是否大于或等于预设封包数,其中记录模块还用于在无效封包数大于或等于预设封包数时记录第二通信封包数,第二通信封包数为无效封包数大于或等于预设封包数时通信模块从另一网络装置所接收到的通信封包的个数,且封包判断模块还用于判断第二通信封包数是否等于第一通信封包数。状态判断模块用于在第二通信封包数等于第一通信封包数时,判定网络装置与另一网络装置的点到点连线处于断线状态。
本发明实施方式中的连线状态侦测方法用于网络装置中侦测其与另一网络装置的点到点连线的状态,所述侦测点到点连线状态的方法包括:开始侦测连线状态并记录第一通信封包数,其中第一通信封包数为网络装置在开始侦测连线状态时所接收到的通信封包的个数;进入连线侦测周期并发送侦测封包到另一网络装置;从另一网络装置接收与侦测封包相对应的回应封包;记录无效封包数,其中无效封包数为网络装置未收到相对应的回应封包的侦测封包的个数;判断连线侦测周期是否结束;若连线侦测周期已经结束,则判断无效封包数是否大于或等于预设封包数;若所述无效封包数大于或等于预设封包数,则记录第二通信封包数,其中,第二通信封包数为无效封包数大于或等于预设封包数时从另一网络装置所接收到的通信封包的个数;判断第二通信封包数是否等于第一通信封包数;若第二通信封包数等于第一通信封包数,则网络装置与另一网络装置的点到点连线处于断线状态。
网络装置及其侦测点到点连线状态的方法,由于利用侦测封包、回应封包以及正常的通信封包的数目变化来判断网络装置之间的连线状态,从而可以减少误判断线,进而减少网络装置不必要的连线中断。
具体实施方式
请参阅图1,所示为本发明网络装置10一实施方式的应用环境及结构图。在本实施方式中,网络装置10与另一网络装置20利用点到点协议(Point to Point Protocol,PPP)连线发送通信封包来实现相互通信。例如,网络装置10可为服务器,另一网络装置20可为用户终端机,它们之间的PPP连线状态可用本发明实施方式中所揭示的内容来确定是否正常。
在本实施方式中,网络装置10包括记录模块110、通信模块120、封包判断模块130及状态判断模块140。
记录模块110用于记录网络装置10与另一网络装置20之间的通信封包数,其中网络装置在开始侦测连线状态时所接收到的通信封包的个数定义为第一通信封包。在本实施方式中,通信封包是网络装置10与另一网络装置20之间相互通信的正常的网络封包。
通信模块120用于在连线侦测周期内发送侦测封包到另一网络装置20,并从另一网络装置20接收与侦测封包相对应的回应封包,其中记录模块110还用于记录无效封包数,无效封包数为网络装置10未收到相对应回应封包的侦测封包的个数。在本实施方式中,侦测封包为链路控制协议应答请求(Link Control Protocol(LCP)echo request)封包,回应封包为链路控制协议应答回应(LCP echo reply)封包。
在本实施方式中,通信模块120还用于发送通信封包到另一网络装置20与其相互通信,同时通信模块120进入连线侦测周期并发送侦测封包给另一网络装置20,另一网络装置20收到侦测封包后会相应的发送回应封包给通信模块120。在具体应用中,通信模块120会因为网络通信质量不好而收不到回应封包或者是无法把侦测封包发到另一网络装置20。在本实施方式中,无效封包为通信模块120没有收到对应的回应封包的侦测封包。在本实施方式中,所述连线侦测周期为预设的时长,如3秒、6秒或9秒。
封包判断模块130用于在连线侦测周期已经结束时判断无效封包数是否大于或等于预设封包数,并在无效封包数大于或等于预设封包数时记录第二通信封包数,其中,第二通信封包数为确定无效封包数大于或等于预设封包数时记录模块110记录的通信模块120从另一网络装置20所接收到的通信封包的个数。其中封包判断模块130还用于在无效封包数大于或等于预设封包数时判断所述第二通信封包是否等于所述第一通信封包。在本实施方式中,预设封包数是为了及时侦测网络装置10与另一网络装置20之间的点到点连线状态而设定的一个参考值,例如预设封包数可设为3。在本实施方式中,封包判断模块130在无效封包数小于预设封包数时还用于判断无效封包数是否等于零,通信模块120还用于在无效封包数不等于零时继续进入连线侦测周期并发送侦测封包。
在本实施方式中,若连线侦测周期没有结束,通信模块120还继续侦测是否收到回应封包,记录模块110在通信模块120收到回应封包时减小无效封包数,并继续判断连线侦测周期是否结束,若通信模块120没有收到回应封包,则继续判断连线侦测周期是否结束。
状态判断模块140用于根据封包判断模块130的判断结果来判断网络装置10与另一网络装置20之间的点到点连线的状态。在本实施方式中,状态判断模块140在第二通信封包数等于第一通信封包数时判定网络装置10与另一网络装置20的点到点连线处于断线状态。若第二通信封包数不等于第一通信封包数或者无效封包数等于零,则状态判断模块140判定网络装置10与另一网络装置20的点到点连线处于正常状态。
在本发明中,即使侦测封包与回应封包在网络通信质量不好时有遗失,但是只要通信模块120所收到的正常的通信封包数有变化,则可以判定网络装置10与另一网络装置20之间的点到点连线处于正常状态,这样,网络装置10可以减少误判断线,提高了侦测效率。
请参阅图2,所示为本发明点到点连线状态的侦测方法一实施方式的流程图。在本实施方式中,网络装置10与另一网络装置20利用PPP连线发送通信封包来实现相互通信。在本实施方式中,网络装置10与另一网络装置20建立点到点连线,若需要判断所述点到点连线的连线状态,则执行所述点到点连线状态的侦测方法。
在步骤S210,网络装置10开始侦测其与另一网络装置20之间的连线状态,且记录模块110记录第一通信封包数,其中,第一通信封包数为网络装置10在开始侦测连线状态时通信模块120从另一网络装置20所接收到的通信封包的个数。在本实施方式中,通信封包为正常的网络封包。在本实施方式中,通信模块120每接收到一个通信封包,记录模块110通过计数器进行纪录,在开始侦测状态时,记录模块110中计数器所记录的值即为第一网络封包数。
在记录第一通信封包数的同时,进入步骤S211,网络装置10进入连线侦测周期,通信模块120发送一个侦测封包给另一网络装置20。在本实施方式中,通信模块120在所述连线侦测周期内发送侦测封包给另一网络装置20。根据LCP协议,通信模块120每发送一个侦测封包给另一网络装置20,另一网络装置20会自动回送一个与侦测封包对应的回应封包。在本实施方式中,侦测封包为LCP echo request封包,回应封包为LCP echo reply封包。
在步骤S212,通信模块120接收与侦测封包相对应的回应封包。在本实施方式中,通信模块120每发一个侦测封包,则通信模块120会相应的接收到一个另一网络装置20所发送的回应封包。在实际应用中,当网络通信质量不好时,通信模块120无法把侦测封包发送到另一网络装置20和/或收不到另一网络装置20所发送的回应封包。所述网络装置10未收到回应封包的侦测封包称为无效封包。
在步骤S213,记录模块110记录无效封包数,其中无效封包数为网络装置10未收到对应的回应封包的侦测封包数。
在步骤S214,网络装置10判断所述连线侦测周期是否结束。在本实施方式中,连线侦测周期为预设的时长,如3秒、6秒或9秒。
若所述连线侦测周期没有结束,则在步骤S215,通信模块120判断网络装置10是否收到回应封包。
若通信模块120收到回应封包,则在步骤S216,记录模块110减少无效封包数。在本实施方式中,网络装置10每发送一个侦测封包,记录模块110就把无效封包数加一,网络装置10每收到一个回应封包,记录模块110就把无效封包数减一。
在记录模块110就把无效封包数减一后,返回步骤S214,继续判断连线侦测周期是否结束。
若通信模块120没有收到回应封包,则继续判断所述连线侦测周期是否结束。
若所述连线侦测周期已经结束,则在步骤S217,封包判断模块130判断无效封包数是否大于或者等于预设封包数。在本实施方式中,所述预设封包数为三。
若无效封包数小于预设封包数,则在步骤S218,封包判断模块130判断无效封包数是否等于零。若无效封包数等于零,则表示所述网络装置10与另一网络装置20的点到点连线正常,返回步骤S210,网络装置10重新开始侦测连线状态,记录模块110重新记录第一通信封包数;若无效封包数不等于零,则返回步骤S211,进入另一连线侦测周期,且通信模块120继续发送侦测封包至另一网络装置20以继续侦测点到点连线的状态。
若在所述连线侦测周期结束时无效封包数大于或等于预设封包数,则在步骤S219中,记录模块110记录第二通信封包数,其中,第二通信封包数为确定所述无效封包数大于或等于预设封包数时记录模块110记录的通信模块120从另一网络装置20所接收到的通信封包的个数。
在步骤S220,封包判断模块130判断第二通信封包数是否等于第一通信封包数。
若第二通信封包数等于第一通信封包数,则在步骤S221,状态判断模块140判定网络装置10与另一网络装置20的点到点连线处于断线状态。
若第二通信封包数不等于第一通信封包数,则在步骤S222,状态判断模块140判定网络装置10与另一网络装置20的点到点连线处于正常状态,网络装置10把无效封包数重置为零,并重新开始侦测连线状态,记录模块110重新记录第一通信封包数。
本发明的网络装置10及其侦测点到点连线状态的方法通过记录模块110、通信模块120、封包判断模块130及状态判断模块140来先判断侦测周期是否结束,再判断网络装置10是否收到与侦测封包相应的回应封包,然后判断通信封包数是否有变化来实现侦测点到点连线的状态,可以减少误判断线,进而减少网络装置不必要的连线中断。