亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

BGP鄰居連接中斷方法及裝置與流程

文檔序號(hào):11590436閱讀:1824來(lái)源:國(guó)知局
BGP鄰居連接中斷方法及裝置與流程

本公開(kāi)涉及通信技術(shù)領(lǐng)域,尤其涉及一種bgp鄰居連接中斷方法及裝置。



背景技術(shù):

bgp(bordergatewayprotocol,邊界網(wǎng)關(guān)協(xié)議)是一種既可以用于不同as(autonomoussystem,自治系統(tǒng))之間,又可以用于同一as內(nèi)部的動(dòng)態(tài)路由協(xié)議。

根據(jù)rfc4271中的規(guī)定,在建立bgp鄰居后,設(shè)備需要周期性地向bgp鄰居發(fā)送?;顖?bào)文,以維持鄰居關(guān)系,這個(gè)發(fā)送周期由定時(shí)器keepalivetimer控制;如果bgp鄰居在一定時(shí)長(zhǎng)內(nèi)未收到設(shè)備發(fā)送的?;顖?bào)文,則認(rèn)為與bgp鄰居的連接超時(shí),該一定時(shí)長(zhǎng)可以稱為保持時(shí)間,由定時(shí)器holdtimer控制。

在應(yīng)用中,holdtimer控制的bgp鄰居的保持時(shí)間可以由用戶根據(jù)需求進(jìn)行配置,holdtimer對(duì)應(yīng)的時(shí)長(zhǎng)也意味著用戶希望設(shè)備之間的bgp鄰居關(guān)系能夠保持相應(yīng)的時(shí)長(zhǎng)。而當(dāng)前主流的解決方案中,當(dāng)設(shè)備從bgp鄰居收到一個(gè)?;顖?bào)文之后,就將該bgp鄰居對(duì)應(yīng)的holdtimer重置,這種處理方式容易導(dǎo)致holdtimer對(duì)應(yīng)的保持時(shí)間和實(shí)際的保持時(shí)間不匹配,例如,實(shí)際的bgp鄰居的保持時(shí)間小于holdtimer對(duì)應(yīng)的保持時(shí)間,即與用戶預(yù)期相比bgp鄰居過(guò)早的斷開(kāi),這樣會(huì)引發(fā)網(wǎng)絡(luò)震蕩。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本公開(kāi)提出了一種鄰居連接中斷方法及裝置,保證設(shè)備之間實(shí)際的bgp鄰居的保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(holdtime)的值。

根據(jù)本公開(kāi)的一方面,提供了一種bgp鄰居連接中斷方法,包括:在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)加1;若所述計(jì)數(shù)大于中斷閾值,則斷開(kāi)與所述鄰居設(shè)備的bgp連接,其中,所述中斷閾值為所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第一定時(shí)器的時(shí)長(zhǎng)與所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器的時(shí)長(zhǎng)的比值,所述第一定時(shí)器的時(shí)長(zhǎng)為所述bgp連接的保持時(shí)間,所述第二定時(shí)器的時(shí)長(zhǎng)為所述?;顖?bào)文發(fā)送周期。

根據(jù)本公開(kāi)的另一方面,提供了一種bgp鄰居連接中斷裝置,包括:計(jì)數(shù)模塊,用于在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)加1;斷開(kāi)連接模塊,用于若所述計(jì)數(shù)大于中斷閾值,則斷開(kāi)與所述鄰居設(shè)備的bgp連接,其中,所述中斷閾值為所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第一定時(shí)器的時(shí)長(zhǎng)與所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器的時(shí)長(zhǎng)的比值,所述第一定時(shí)器的時(shí)長(zhǎng)為所述bgp連接的保持時(shí)間,所述第二定時(shí)器的時(shí)長(zhǎng)為所述?;顖?bào)文發(fā)送周期。

通過(guò)記錄最近一次接收到鄰居設(shè)備發(fā)送保活報(bào)文之后開(kāi)始所經(jīng)過(guò)的?;顖?bào)文發(fā)送周期的個(gè)數(shù),統(tǒng)計(jì)本設(shè)備連續(xù)未接收到?;顖?bào)文的個(gè)數(shù),當(dāng)所述個(gè)數(shù)大于中斷閾值時(shí),也就是說(shuō)連續(xù)未接收到保活報(bào)文的個(gè)數(shù)大于中斷閾值時(shí),斷開(kāi)與所述鄰居設(shè)備的bgp連接。根據(jù)本公開(kāi)的bgp鄰居連接中斷方法及裝置,能夠保證本設(shè)備與所述鄰居設(shè)備之間實(shí)際的bgp鄰居的保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(holdtime)的值,從而解決bgp鄰居連接過(guò)早斷開(kāi)從而引發(fā)的網(wǎng)絡(luò)震蕩問(wèn)題,還能夠使用戶在設(shè)置保持時(shí)間時(shí)更易于用戶理解等。

根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本公開(kāi)的其它特征及方面將變得清楚。

附圖說(shuō)明

包含在說(shuō)明書中并且構(gòu)成說(shuō)明書的一部分的附圖與說(shuō)明書一起示出了本公開(kāi)的示例性實(shí)施例、特征和方面,并且用于解釋本公開(kāi)的原理。

圖1示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖。

圖2示出根據(jù)本公開(kāi)一實(shí)施例的設(shè)備建立bgp鄰居連接的示意圖。

圖3示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖。

圖4示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖。

圖5示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的示意圖。

圖6示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的時(shí)序圖。

圖7示出相關(guān)技術(shù)中的bgp鄰居連接中斷方法的時(shí)序圖。

圖8示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷裝置的框圖。

圖9示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷裝置的框圖。

圖10示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷裝置的框圖。

具體實(shí)施方式

以下將參考附圖詳細(xì)說(shuō)明本公開(kāi)的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。

在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例性”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。

另外,為了更好的說(shuō)明本公開(kāi),在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有某些具體細(xì)節(jié),本公開(kāi)同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開(kāi)的主旨。

實(shí)施例1

圖1示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖,該方法可以應(yīng)用于網(wǎng)絡(luò)設(shè)備,例如可以應(yīng)用于路由器、交換機(jī),也可以應(yīng)用于其他運(yùn)行bgp協(xié)議的主機(jī)等。如圖1所示,該方法包括:

步驟s11,在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)加1;

步驟s12,若所述計(jì)數(shù)大于中斷閾值時(shí),則斷開(kāi)與所述鄰居設(shè)備的bgp連接。

其中,所述中斷閾值為所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第一定時(shí)器的時(shí)長(zhǎng)與所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器的時(shí)長(zhǎng)的比值,

所述第一定時(shí)器的時(shí)長(zhǎng)為所述bgp連接的保持時(shí)間,

所述第二定時(shí)器的時(shí)長(zhǎng)為所述?;顖?bào)文發(fā)送周期。

通過(guò)記錄最近一次接收到鄰居設(shè)備發(fā)送保活報(bào)文之后開(kāi)始所經(jīng)過(guò)的?;顖?bào)文發(fā)送周期的個(gè)數(shù),統(tǒng)計(jì)設(shè)備連續(xù)未接收到?;顖?bào)文的個(gè)數(shù),當(dāng)所述個(gè)數(shù)大于中斷閾值時(shí),設(shè)備斷開(kāi)與所述鄰居設(shè)備的bgp連接。根據(jù)本公開(kāi)上述實(shí)施方式的bgp鄰居連接中斷方法,能夠保證本設(shè)備與所述鄰居設(shè)備之間實(shí)際的bgp鄰居保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(holdtime)的值,從而解決bgp鄰居連接過(guò)早斷開(kāi)引發(fā)的網(wǎng)絡(luò)震蕩問(wèn)題,還能夠使用戶在設(shè)置保持時(shí)間時(shí)更易于理解等。

舉例來(lái)說(shuō),圖2示出根據(jù)本公開(kāi)一實(shí)施例的設(shè)備建立bgp鄰居連接的示意圖,如圖2所示,設(shè)備rta和設(shè)備rtb都可以是運(yùn)行bgp協(xié)議的設(shè)備,例如可以是位于不同as之間或者同一as內(nèi)的路由器,設(shè)備rta和設(shè)備rtb之間建立了基于bgp協(xié)議的鄰居連接。

設(shè)備rta和設(shè)備rtb之間建立基于bgp協(xié)議的鄰居連接的過(guò)程可以是:首先,在要建立bgp會(huì)話的設(shè)備rta和設(shè)備rtb之間建立tcp(傳輸管理協(xié)議)會(huì)話連接,然后在openconfirm狀態(tài)下通過(guò)交換open報(bào)文來(lái)確定(協(xié)商)連接參數(shù),例如運(yùn)行版本、holdtime、keepalivetime等。設(shè)備rta和設(shè)備rtb內(nèi)都設(shè)置有定時(shí)器holdtimer(第一定時(shí)器)和定時(shí)器keepalivetimer(第二定時(shí)器),根據(jù)協(xié)商的holdtime、keepalivetime設(shè)置相應(yīng)定時(shí)器時(shí)長(zhǎng),由定時(shí)器keepalivetimer控制?;顖?bào)文發(fā)生周期,由定時(shí)器holdtimer控制保持時(shí)間。

在established狀態(tài)下,以鄰居設(shè)備rtb發(fā)送?;顖?bào)文為例,鄰居設(shè)備rtb會(huì)根據(jù)?;顖?bào)文發(fā)送周期向設(shè)備rta周期性發(fā)送?;顖?bào)文,保持設(shè)備間的鄰居關(guān)系,例如,在鄰居設(shè)備rtb定時(shí)器keepalivetimer超時(shí)時(shí)(在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí))向設(shè)備rta發(fā)送保活報(bào)文。

在一種可能的實(shí)施方式中,設(shè)備rta可以設(shè)置計(jì)數(shù)器記錄未接收到鄰居設(shè)備rtb發(fā)送的?;顖?bào)文的個(gè)數(shù),在鄰居設(shè)備rtb的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若設(shè)備rta未接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,則設(shè)備rta可以將計(jì)數(shù)器的計(jì)數(shù)加1。然后判斷計(jì)數(shù)值與中斷閾值的關(guān)系,當(dāng)所述計(jì)數(shù)大于中斷閾值時(shí),也就是說(shuō)設(shè)備rta連續(xù)未接收到?;顖?bào)文的個(gè)數(shù)大于中斷閾值時(shí),此時(shí)設(shè)備rta可以斷開(kāi)與鄰居設(shè)備rtb的bgp連接。

設(shè)備rta未接收到鄰居設(shè)備rtb發(fā)送的保活報(bào)文的原因可能是設(shè)備rta和設(shè)備rtb之間的物理鏈路斷開(kāi)造成的,也可能是由于tcp連接或者bgp連接斷開(kāi)造成的,或者是設(shè)備rta或設(shè)備rtb本身故障導(dǎo)致的沒(méi)有發(fā)送、無(wú)法接收等原因造成的,本公開(kāi)對(duì)導(dǎo)致未接收到?;顖?bào)文的具體原因不作限定。

在一種可能的實(shí)施方式中,所述方法還可以包括:根據(jù)所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的定時(shí)器holdtimer(第一定時(shí)器)和定時(shí)器keepalivetimer(第二定時(shí)器)確定中斷閾值。例如,可以在確定保持時(shí)間以及?;顖?bào)文發(fā)送周期等參數(shù)之后,將所述鄰居設(shè)備rtb在本設(shè)備rta上對(duì)應(yīng)的定時(shí)器holdtimer和定時(shí)器keepalivetimer的比值作為所述中斷閾值。

舉例來(lái)說(shuō),如果?;顖?bào)文發(fā)送周期為30s、保持時(shí)間為90s,則所述中斷閾值為3。也就是說(shuō),設(shè)備rta連續(xù)未接收到鄰居設(shè)備rtb發(fā)送的的?;顖?bào)文的個(gè)數(shù)大于3(3*30s=90s)時(shí),設(shè)備rta斷開(kāi)與鄰居設(shè)備rtb的連接,可以保證實(shí)際的bgp鄰居的保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(90s)的值。

在一種可能的實(shí)施方式中,所述中斷閾值為3以上的整數(shù)。

圖3示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖,如圖3所示,所述方法還可以包括:

步驟s13,在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值。

在鄰居設(shè)備rtb的?;顖?bào)文發(fā)送周期到達(dá)時(shí),設(shè)備rta若接收到來(lái)自鄰居設(shè)備rtb的?;顖?bào)文,可以將所述計(jì)數(shù)器置為初始值,重新開(kāi)始計(jì)數(shù)。其中,所述計(jì)數(shù)器的初始值可以是0。

圖4示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的流程圖,如圖4所示,所述方法還包括:

步驟s14,啟動(dòng)所述鄰居設(shè)備對(duì)應(yīng)的第三定時(shí)器;

所述第三定時(shí)器和所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器同步,且時(shí)長(zhǎng)相同。

例如,可以在設(shè)備rta內(nèi)設(shè)置和所述鄰居設(shè)備rtb在設(shè)備rta上對(duì)應(yīng)的第二定時(shí)器(keepalivetimer)同步的第三定時(shí)器counttimer,所述第三定時(shí)器的時(shí)長(zhǎng)與第二定時(shí)器相同。

在一種可能的實(shí)施方式中,步驟s11,在鄰居設(shè)備的保活報(bào)文發(fā)送周期到達(dá)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的保活報(bào)文,則將相應(yīng)的計(jì)數(shù)加1,可以為:

所述第三定時(shí)器到時(shí)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的保活報(bào)文,則將相應(yīng)的計(jì)數(shù)加1。

步驟s13,所述在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若接收到來(lái)自所述鄰居設(shè)備的保活報(bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值,可以為:

所述第三定時(shí)器到時(shí)時(shí),若接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值。

舉例來(lái)說(shuō),可以在設(shè)備rta內(nèi)設(shè)置第三定時(shí)器counttimer,與設(shè)備rta上對(duì)應(yīng)的第二定時(shí)器(keepalivetimer)同步。建立bgp鄰居連接后,設(shè)備rta啟動(dòng)所述第三定時(shí)器counttimer。第三定時(shí)器counttimer到時(shí)時(shí),若未接收到來(lái)自所述鄰居設(shè)備rtb的保活報(bào)文,則將相應(yīng)的計(jì)數(shù)加1;第三定時(shí)器counttimer到時(shí)時(shí),若接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值。

圖5示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的示意圖,圖6示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷方法的時(shí)序圖。結(jié)合圖2、圖5和圖6對(duì)本公開(kāi)的bgp鄰居連接中斷方法進(jìn)行說(shuō)明。

如圖2所示,設(shè)備rta和設(shè)備rtb之間建立了基于bgp協(xié)議的鄰居連接,確定了運(yùn)行版本、保持時(shí)間、保活報(bào)文發(fā)送周期等參數(shù)。例如,保持時(shí)間為90s,相應(yīng)地,保活報(bào)文發(fā)送周期為30s。設(shè)備rta和設(shè)備rtb內(nèi)都設(shè)置有定時(shí)器holdtimer和定時(shí)器keepalivetimer,根據(jù)協(xié)商的holdtime、keepalivetime設(shè)置相應(yīng)定時(shí)器時(shí)長(zhǎng)。設(shè)備rta可以根據(jù)定時(shí)器holdtimer和定時(shí)器keepalivetimer的值確定中斷閾值(保持時(shí)間/?;顖?bào)文發(fā)送周期),例如中斷閾值為n,則n=90s/30s=3。設(shè)備rta還可以設(shè)置計(jì)數(shù)器count和第三定時(shí)器counttimer,并初始化計(jì)數(shù)器count和第三定時(shí)器counttimer。其中,第三定時(shí)器counttimer的定時(shí)周期與定時(shí)器keepalivetimer的定時(shí)周期相同,都為30s;計(jì)數(shù)器count的初始值為0。以上過(guò)程完成了建立連接和初始化的過(guò)程,啟動(dòng)設(shè)備rta的第三定時(shí)器counttimer和鄰居設(shè)備rtb的定時(shí)器keepalivetimer。

如圖6所示,當(dāng)鄰居設(shè)備rtb的定時(shí)器keepalivetimer超時(shí)時(shí),鄰居設(shè)備rtb向設(shè)備rta發(fā)送保活報(bào)文。設(shè)備rta監(jiān)聽(tīng)第三定時(shí)器counttimer是否超時(shí)以及是否接收到來(lái)自鄰居設(shè)備rtb的?;顖?bào)文。如圖5所示,當(dāng)定時(shí)器counttimer超時(shí)時(shí),若設(shè)備rta未接收到來(lái)自所述鄰居設(shè)備rtb的保活報(bào)文,則將計(jì)數(shù)器count的計(jì)數(shù)加1,此時(shí)判斷計(jì)數(shù)器count的值是否大于n(例如,n可以為3),如果大于n,表示設(shè)備rta已經(jīng)連續(xù)未接收到鄰居設(shè)備rtb發(fā)送的最少n個(gè)?;顖?bào)文,設(shè)備rta將斷開(kāi)與鄰居設(shè)備rtb的bgp連接;如果小于或等于n,不作處理,設(shè)備rta繼續(xù)監(jiān)聽(tīng)第三定時(shí)器counttimer是否超時(shí)以及是否接收到來(lái)自鄰居設(shè)備rtb的?;顖?bào)文。

從上述計(jì)算方法中可知,一個(gè)設(shè)備如果要達(dá)到超時(shí)條件,最少需要(n*keepalivetimer)的時(shí)間,該值一定大于或者等于定時(shí)器holdtimer的值,從而保證了設(shè)備之間實(shí)際的bgp鄰居的保持時(shí)間不小于設(shè)置的定時(shí)器holdtimer的值。

如圖6所示,具體的過(guò)程可以如下。

假設(shè)在時(shí)刻第0秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第一次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)?;顖?bào)文。

在時(shí)刻第0秒,設(shè)備rta收到了鄰居設(shè)備rtb發(fā)送的保活報(bào)文,設(shè)備rta復(fù)位計(jì)數(shù)器count,例如將計(jì)數(shù)器count置為0;

假設(shè)在時(shí)刻第29秒,設(shè)備rta和鄰居設(shè)備rtb之間的連接鏈路(例如,物理鏈路、tcp連接等)中斷,無(wú)法發(fā)送報(bào)文,但是bgp協(xié)議不會(huì)去感知該鏈路狀態(tài),因此設(shè)備rta仍然繼續(xù)和對(duì)方通信;

在時(shí)刻第30秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第二次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)保活報(bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第30秒,設(shè)備rta上的定時(shí)器counttimer超時(shí),未接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,將計(jì)數(shù)器count加1,并判斷count是否大于n,如果大于n進(jìn)行處理(斷開(kāi)與鄰居設(shè)備rtb的bgp連接),此時(shí)計(jì)數(shù)器count為1,不用進(jìn)行處理;

在時(shí)刻第60秒,鄰居設(shè)備rtb上定時(shí)器keepalivetimer第三次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)保活報(bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第60秒,設(shè)備rta上定時(shí)器counttimer超時(shí),未接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,將計(jì)數(shù)器count加1,并判斷count是否大于n,如果大于n進(jìn)行處理(斷開(kāi)與鄰居設(shè)備rtb的bgp連接),此時(shí)計(jì)數(shù)器count為2,不用進(jìn)行處理;

在時(shí)刻第90秒,鄰居設(shè)備rtb上定時(shí)器keepalivetimer第四次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)?;顖?bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第90秒,設(shè)備rta上定時(shí)器counttimer超時(shí),未接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,將計(jì)數(shù)器count加1,并判斷count是否大于n,如果大于n進(jìn)行處理(斷開(kāi)與鄰居設(shè)備rtb的bgp連接),此時(shí)計(jì)數(shù)器count為3,不用進(jìn)行處理;

在時(shí)刻第120秒,鄰居設(shè)備rtb上定時(shí)器keepalivetimer第五次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)保活報(bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第120秒,設(shè)備rta上定時(shí)器counttimer超時(shí),未接收到來(lái)自所述鄰居設(shè)備rtb的?;顖?bào)文,將計(jì)數(shù)器count加1,并判斷count是否大于n,如果大于n進(jìn)行處理(斷開(kāi)與鄰居設(shè)備rtb的bgp連接),此時(shí)計(jì)數(shù)器count為4,已經(jīng)大于n,設(shè)備rta上認(rèn)為鄰居連接超時(shí),斷開(kāi)與鄰居設(shè)備rtb的bgp連接。

從上述的交互過(guò)程中可見(jiàn),鏈路斷開(kāi)的時(shí)間為第29秒到第120秒,一共有91秒,大于保持時(shí)間90秒。

圖7示出相關(guān)技術(shù)中的bgp鄰居連接中斷方法的時(shí)序圖。結(jié)合圖2和圖7對(duì)相關(guān)技術(shù)中的鄰居連接中斷方法進(jìn)行說(shuō)明。

如圖2所示,鄰居設(shè)備rta和鄰居設(shè)備rtb之間建立了基于bgp協(xié)議的鄰居連接,確定了運(yùn)行版本、保持時(shí)間holdtime、保活報(bào)文發(fā)送周期keepalivetime等參數(shù)。例如,保持時(shí)間為90s,相應(yīng)地,?;顖?bào)文發(fā)送周期為30s。設(shè)備rta和設(shè)備rtb內(nèi)可以設(shè)置保持時(shí)間定時(shí)器holdtimer和定時(shí)器keepalivetimer,定時(shí)器keepalivetimer的周期為?;顖?bào)文發(fā)送周期,當(dāng)定時(shí)器keepalivetimer超時(shí)時(shí),鄰居設(shè)備rtb向設(shè)備rta發(fā)送保活報(bào)文。

如圖7所示,假設(shè)在時(shí)刻第0秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第一次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)?;顖?bào)文;

在時(shí)刻第0秒,設(shè)備rta收到了鄰居設(shè)備rtb發(fā)送的保活報(bào)文,設(shè)備rta復(fù)位定時(shí)器holdtimer,例如,將定時(shí)器holdtimer置為0;

假設(shè)在時(shí)刻第29秒,設(shè)備rta和鄰居設(shè)備rtb之間的連接鏈路中斷,無(wú)法相互發(fā)送報(bào)文,但是bgp協(xié)議不會(huì)去感知該鏈路狀態(tài),因此設(shè)備rta仍然繼續(xù)和對(duì)方通信;

在時(shí)刻第30秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第二次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)keepalive報(bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第60秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第三次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)?;顖?bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第90秒,鄰居設(shè)備rtb上的定時(shí)器keepalivetimer第四次超時(shí),鄰居設(shè)備rtb發(fā)送了一個(gè)?;顖?bào)文,該報(bào)文無(wú)法送達(dá)設(shè)備rta;

在時(shí)刻第90秒,設(shè)備rta一直無(wú)法收到?;顖?bào)文,定時(shí)器holdtimer超時(shí),設(shè)備rta上認(rèn)為鄰居連接超時(shí),斷開(kāi)與鄰居設(shè)備rtb的連接。

從上述的交互過(guò)程中可見(jiàn),鏈路斷開(kāi)的時(shí)間為第29秒到第90秒,一共只有61秒,但是卻會(huì)導(dǎo)致鄰居設(shè)備rta上90秒的定時(shí)器holdtimer發(fā)生超時(shí)。正是由于定時(shí)器holdtimer的值和設(shè)備真正能保護(hù)的保持時(shí)間段的值的巨大差距,使得在實(shí)際的組網(wǎng)應(yīng)用中容易產(chǎn)生錯(cuò)誤的配置,引發(fā)各種各樣的問(wèn)題。

因此,通過(guò)以上過(guò)程的比較可知,通過(guò)記錄最近一次接收到鄰居設(shè)備發(fā)送?;顖?bào)文之后開(kāi)始所經(jīng)過(guò)的?;顖?bào)文發(fā)送周期的個(gè)數(shù),統(tǒng)計(jì)設(shè)備連續(xù)未接收到?;顖?bào)文的個(gè)數(shù),當(dāng)所述個(gè)數(shù)大于中斷閾值時(shí),斷開(kāi)本設(shè)備與所述鄰居設(shè)備的bgp連接。根據(jù)本公開(kāi)上述實(shí)施方式的bgp鄰居連接中斷方法,能夠保證設(shè)備rta和設(shè)備rtb之間實(shí)際的bgp鄰居的保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(holdtime)的值,從而解決bgp鄰居連接過(guò)早斷開(kāi)引發(fā)的網(wǎng)絡(luò)震蕩問(wèn)題,還能夠使用戶在設(shè)置保持時(shí)間時(shí)更易于理解等。

實(shí)施例2

圖8示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷裝置的框圖,該裝置可以應(yīng)用于網(wǎng)絡(luò)設(shè)備,例如可以應(yīng)用于路由器、交換機(jī),也可以應(yīng)用于其他運(yùn)行bgp協(xié)議的主機(jī)等。

如圖8所示,該裝置包括:計(jì)數(shù)模塊71和斷開(kāi)連接模塊72。

計(jì)數(shù)模塊71,用于在鄰居設(shè)備的保活報(bào)文發(fā)送周期到達(dá)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的保活報(bào)文,則將相應(yīng)的計(jì)數(shù)加1;

斷開(kāi)連接模塊72,用于若所述計(jì)數(shù)大于中斷閾值,則斷開(kāi)與所述鄰居設(shè)備的bgp連接,

其中,所述中斷閾值為所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第一定時(shí)器的時(shí)長(zhǎng)與所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器的時(shí)長(zhǎng)的比值,

所述第一定時(shí)器的時(shí)長(zhǎng)為所述bgp連接的保持時(shí)間,

所述第二定時(shí)器的時(shí)長(zhǎng)為所述?;顖?bào)文發(fā)送周期。

通過(guò)記錄最近一次接收到鄰居設(shè)備發(fā)送?;顖?bào)文之后開(kāi)始所經(jīng)過(guò)的?;顖?bào)文發(fā)送周期的個(gè)數(shù),統(tǒng)計(jì)設(shè)備連續(xù)未接收到?;顖?bào)文的個(gè)數(shù),當(dāng)所述個(gè)數(shù)大于中斷閾值時(shí),設(shè)備斷開(kāi)與所述鄰居設(shè)備的bgp連接。根據(jù)本公開(kāi)上述實(shí)施方式的bgp鄰居連接中斷裝置,能夠保證本設(shè)備與所述鄰居設(shè)備之間實(shí)際的bgp鄰居保持時(shí)間不小于設(shè)置的holdtimer對(duì)應(yīng)的保持時(shí)間(holdtime)的值,從而解決bgp鄰居連接過(guò)早斷開(kāi)引發(fā)的網(wǎng)絡(luò)震蕩問(wèn)題,還能夠使用戶在設(shè)置保持時(shí)間時(shí)更易于理解等。

圖9示出根據(jù)本公開(kāi)一實(shí)施例的bgp鄰居連接中斷裝置的框圖,如圖9所示,所述裝置還包括:計(jì)數(shù)復(fù)位模塊73。

計(jì)數(shù)復(fù)位模塊73,用于在鄰居設(shè)備的?;顖?bào)文發(fā)送周期到達(dá)時(shí),若接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值。

在一種可能的實(shí)施方式中,所述裝置還包括:

啟動(dòng)模塊74,用于啟動(dòng)所述鄰居設(shè)備對(duì)應(yīng)的第三定時(shí)器;

所述第三定時(shí)器和所述鄰居設(shè)備在本設(shè)備上對(duì)應(yīng)的第二定時(shí)器同步,且時(shí)長(zhǎng)相同。

在一種可能的實(shí)施方式中,所述計(jì)數(shù)模塊71還用于在所述第三定時(shí)器到時(shí)時(shí),若未接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)加1;

所述計(jì)數(shù)復(fù)位模塊73還用于在所述第三定時(shí)器到時(shí)時(shí),若接收到來(lái)自所述鄰居設(shè)備的?;顖?bào)文,則將相應(yīng)的計(jì)數(shù)置為初始值。

在一種可能的實(shí)施方式中,所述中斷閾值為3以上的整數(shù)。

實(shí)施例3

圖10是根據(jù)一示例性實(shí)施例示出的一種鄰居連接中斷裝置1900的框圖。例如,裝置1900可以被提供為一可以運(yùn)行bgp協(xié)議的網(wǎng)絡(luò)設(shè)備,參照?qǐng)D10,裝置1900包括處理組件1922,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器1932所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件1922的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器1932中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述方法。

裝置1900還可以包括一個(gè)電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口1958。裝置1900可以操作基于存儲(chǔ)在存儲(chǔ)器1932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。

在示例性實(shí)施例中,還提供了一種包括指令的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器1932,上述指令可由裝置1900的處理組件1922執(zhí)行以完成上述方法。

本公開(kāi)可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本公開(kāi)的各個(gè)方面的計(jì)算機(jī)可讀程序指令。

計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、便攜式壓縮盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。

這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。

用于執(zhí)行本公開(kāi)操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如smalltalk、c++等,以及常規(guī)的過(guò)程式編程語(yǔ)言—諸如“c”語(yǔ)言或類似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本公開(kāi)的各個(gè)方面。

這里參照根據(jù)本公開(kāi)實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本公開(kāi)的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。

這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。

也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。

附圖中的流程圖和框圖顯示了根據(jù)本公開(kāi)的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。

以上已經(jīng)描述了本公開(kāi)的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1