情況:第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)尚未修改報(bào)文的認(rèn)證;第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)亦已修改報(bào)文的認(rèn)證。兩種情況下,第一中間系統(tǒng)與第二中間系統(tǒng)的報(bào)文接收及驗(yàn)證情況具體如下所述:
在第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)尚未修改報(bào)文的認(rèn)證,第二中間系統(tǒng)接收第一中間系統(tǒng)的報(bào)文時(shí):
首先,在所述第一中間系統(tǒng)向第二中間系統(tǒng)發(fā)送的報(bào)文的認(rèn)證字段中添加修改前和修改后兩種報(bào)文認(rèn)證。
[0030]然后,所述第二中間系統(tǒng)接收所述報(bào)文,并對(duì)所述認(rèn)證字段進(jìn)行驗(yàn)證。若修改前或修改后任一報(bào)文驗(yàn)證通過驗(yàn)證,判斷為認(rèn)證通過。
[0031]此時(shí),第二 IS會(huì)發(fā)現(xiàn)第一 IS的報(bào)文認(rèn)證字段中包含修改前和修改后的兩種認(rèn)證。而只要一種認(rèn)證檢查通過,即認(rèn)為此報(bào)文認(rèn)證檢查通過。由于第二 IS是用第一 IS發(fā)送過來的報(bào)文中修改前的認(rèn)證,因此可以驗(yàn)證通過,第二 IS將繼續(xù)接收第一 IS的報(bào)文。
[0032]在第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)尚未修改報(bào)文的認(rèn)證,第一中間系統(tǒng)接收第二中間系統(tǒng)的報(bào)文時(shí):
所述第一中間系統(tǒng)使用修改前及修改后的報(bào)文認(rèn)證進(jìn)行驗(yàn)證。
[0033]然后,所述第一中間系統(tǒng)接收第二中間系統(tǒng)發(fā)送的報(bào)文,若第二中間系統(tǒng)發(fā)送的報(bào)文的認(rèn)證字段通過修改前或修改后的報(bào)文認(rèn)證的驗(yàn)證,判斷認(rèn)證通過。
[0034]此時(shí)由于第一 IS使用修改前和修改后的兩種認(rèn)證對(duì)第二 IS發(fā)送過來的報(bào)文進(jìn)行驗(yàn)證。而只要一種認(rèn)證檢查通過,即認(rèn)為此報(bào)文認(rèn)證檢查通過。亦即,第一 IS是使用第一IS修改前的認(rèn)證來對(duì)第二 IS發(fā)送過來的報(bào)文驗(yàn)證通過的。最終,第一 IS將繼續(xù)接收第二IS的報(bào)文。
[0035]在第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)亦已修改報(bào)文的認(rèn)證,第二中間系統(tǒng)接收第一中間系統(tǒng)的報(bào)文時(shí):
在第二 IS接收到第一 IS發(fā)送過來的報(bào)文時(shí),會(huì)發(fā)現(xiàn)第一 IS的報(bào)文認(rèn)證字段中包含修改前和修改后的兩種認(rèn)證。而只要一種認(rèn)證檢查通過,即認(rèn)為此報(bào)文認(rèn)證檢查通過,并繼續(xù)接收第一 IS的報(bào)文。亦即在此時(shí),第二 IS是用第一 IS發(fā)送過來的報(bào)文中修改后的認(rèn)證驗(yàn)證通過。
[0036]在第一中間系統(tǒng)已修改報(bào)文認(rèn)證,第二中間系統(tǒng)亦已修改報(bào)文的認(rèn)證,第一中間系統(tǒng)接收第二中間系統(tǒng)的報(bào)文時(shí):
如上所述,第一 IS的使用修改前和修改后的兩種認(rèn)證對(duì)第二 IS發(fā)送過來的報(bào)文進(jìn)行驗(yàn)證。而只要一種認(rèn)證檢查通過,即認(rèn)為此報(bào)文認(rèn)證檢查通過。顯然的,此時(shí)第一 IS是使用第一 IS修改后的認(rèn)證對(duì)第二 IS發(fā)送過來的報(bào)文驗(yàn)證通過。因此,第一 IS繼續(xù)接收第二IS的報(bào)文。
[0037]在本發(fā)明的具體實(shí)施例中,所述方法還包括:在所述預(yù)設(shè)的認(rèn)證延遲時(shí)間超時(shí)后,所述第一中間系統(tǒng)與第二中間系統(tǒng)僅使用修改后的報(bào)文認(rèn)證進(jìn)行驗(yàn)證。亦即在認(rèn)證延遲時(shí)間超時(shí)后,所述IS-1S協(xié)議報(bào)文認(rèn)證方法回復(fù)正常,重新使用修改后的報(bào)文認(rèn)證進(jìn)行報(bào)文的驗(yàn)證,從而決定是否接收?qǐng)?bào)文。
[0038]具體的,所述方法具體包括:在所述第一中間系統(tǒng)向第二中間系統(tǒng)發(fā)送的報(bào)文的認(rèn)證字段中僅添加修改后的報(bào)文認(rèn)證。然后,所述第二中間系統(tǒng)接收所述報(bào)文,并對(duì)所述認(rèn)證字段進(jìn)行驗(yàn)證。若通過驗(yàn)證,所述第二中間系統(tǒng)繼續(xù)接收所述第一中間系統(tǒng)發(fā)送的報(bào)文。
[0039]在此時(shí),由于第二 IS也修改報(bào)文認(rèn)證為與第一 IS所述修改后的認(rèn)證,第二 IS接收到第一 IS發(fā)送過來的報(bào)文,發(fā)現(xiàn)第一 IS的認(rèn)證字段中為所述修改后的認(rèn)證,必然能檢查通過,仍然繼續(xù)接受第一 IS發(fā)送過來的報(bào)文。
[0040]更具體的,在所述第一 IS接收第二 IS的報(bào)文時(shí),所述方法具體包括:所述第一中間系統(tǒng)接收第二中間系統(tǒng)發(fā)送的報(bào)文。然后,所述第一中間系統(tǒng)僅使用修改后的報(bào)文認(rèn)證進(jìn)行驗(yàn)證。最后,若判斷認(rèn)證通過,所述第一中間系統(tǒng)繼續(xù)接收所述第二中間系統(tǒng)發(fā)送的報(bào)文。
[0041]在此時(shí),由于第二 IS也修改報(bào)文認(rèn)證為與第一 IS所述修改后的認(rèn)證,第一 IS接收到第二 IS發(fā)送過來的報(bào)文,發(fā)現(xiàn)第二 IS的認(rèn)證字段中為所述修改后的認(rèn)證,必然能檢查通過,仍然繼續(xù)接受第二 IS發(fā)送過來的報(bào)文。
[0042]更具體的,所述報(bào)文認(rèn)證的修改具體可以為:認(rèn)證方式的修改、認(rèn)證密碼的修改或者兩者同時(shí)修改。
[0043]具體的,所述報(bào)文具體包括兩類報(bào)文,其中一類為hello報(bào)文,而另一類為L(zhǎng)SP、SNP報(bào)文。
[0044]本發(fā)明還提供了一種IS-1S協(xié)議報(bào)文認(rèn)證系統(tǒng)。所述系統(tǒng)包括:修改模塊100,用于修改第一中間系統(tǒng)的報(bào)文認(rèn)證;延遲時(shí)間配置模塊200,用于配置預(yù)設(shè)的認(rèn)證延遲時(shí)間;驗(yàn)證模塊300,用于在所述認(rèn)證延遲時(shí)間內(nèi),所述第一中間系統(tǒng)和與第一中間系統(tǒng)進(jìn)行報(bào)文發(fā)送或接收的第二中間系統(tǒng)之間使用修改前和修改后兩種報(bào)文認(rèn)證進(jìn)行驗(yàn)證;若修改前或修改后任一種報(bào)文認(rèn)證通過驗(yàn)證,判斷為認(rèn)證通過。具體如上所述。
[0045]實(shí)施例一:
如圖3所示為R1,R2構(gòu)成的網(wǎng)絡(luò)拓?fù)?,Rl和R2建立鄰居關(guān)系。Rl和R2均配置hello報(bào)文的認(rèn)證方式為text,認(rèn)證密碼為I。這時(shí)需要將hello報(bào)文的認(rèn)證方式修改為MD5,認(rèn)證密碼為2。
[0046]若按照原有方法,例如,先操作Rl (對(duì)Rl進(jìn)行報(bào)文認(rèn)證的修改),則修改前的認(rèn)證為:認(rèn)證方式text,認(rèn)證密碼I ;修改后的認(rèn)證方式為MD5,認(rèn)證密碼2。
[0047]這時(shí),R2的認(rèn)證仍然是:認(rèn)證方式text,認(rèn)證密碼1,因此,在收到Rl的hello報(bào)文后,hel1報(bào)文認(rèn)證方式是MD5、認(rèn)證密碼是I(Rl hel1報(bào)文中的認(rèn)證是修改后的認(rèn)證),而R2的認(rèn)證仍然是原來的認(rèn)證(認(rèn)證方式text,認(rèn)證密碼I)。從而,R2對(duì)Rl發(fā)送過來的hello報(bào)文認(rèn)證檢查失敗,丟棄Rl發(fā)送過來的hello報(bào)文并最終使得Rl和R2的鄰居發(fā)生斷鏈。
[0048]若采用本發(fā)明所述的方法,先操作R1,則修改前的認(rèn)證為:認(rèn)證方式text,認(rèn)證密碼I ;修改后的認(rèn)證方式為MD5,認(rèn)證密碼2,同時(shí)配置一段3000s的認(rèn)證延遲時(shí)間。
[0049]如上所述,Rl發(fā)送出來的hello報(bào)文中會(huì)包含兩種認(rèn)證:修改前的認(rèn)證:認(rèn)證方式text,認(rèn)證密碼I ;和修改后的認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2。這時(shí)R2的認(rèn)證為:認(rèn)證方式text,認(rèn)證密碼I。
[0050]因此,收到Rl的hello報(bào)文后,由于Rl hello報(bào)文中包含了修改前后兩種認(rèn)證,R2顯然對(duì)修改前的認(rèn)證:認(rèn)證方式是text與認(rèn)證密碼是I認(rèn)證成功。從而,能夠繼續(xù)接受R2發(fā)送過來的hello報(bào)文。
[0051]與上述類似,Rl接收到R2發(fā)送過來的hello報(bào)文,包含有認(rèn)證:認(rèn)證方式text,認(rèn)證密碼I。顯然,使用修改前的認(rèn)證:認(rèn)證方式text,認(rèn)證密碼I對(duì)R2的hello報(bào)文進(jìn)行認(rèn)證檢查是通過的,因此,Rl能夠繼續(xù)接受R2的hello報(bào)文。
[0052]其后,修改R2的hello報(bào)文的認(rèn)證為:認(rèn)證方式為MD5,認(rèn)證密碼2 (經(jīng)過一段時(shí)間后,網(wǎng)絡(luò)配置人員完成了對(duì)R2的修改)。
[0053]此時(shí),Rl發(fā)送出來的hello報(bào)文中包含兩種認(rèn)證:修改前的認(rèn)證:認(rèn)證方式text,認(rèn)證密碼I ;和修改后的認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2。
[0054]這時(shí)R2的認(rèn)證為:認(rèn)證方式為MD5,認(rèn)證密碼2。由于Rl hello報(bào)文中包含了修改前后兩種認(rèn)證。因此,R2顯然對(duì)修改后的認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2認(rèn)證成功。從而,繼續(xù)接受Rl發(fā)送過來的hello報(bào)文。
[0055]相類似的,Rl接收到R2發(fā)送過來的hello報(bào)文,包含有認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2。顯然,使用修改后的認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2對(duì)R2的hello報(bào)文進(jìn)行認(rèn)證檢查是通過的,繼續(xù)接受R2的hello報(bào)文,從而不會(huì)引起Rl和R2之間的鄰居斷鏈。
[0056]綜上所述,上述方法能夠避免Rl和R2之間的鄰居斷鏈。
[0057]等到Rl的認(rèn)證延遲時(shí)間到期后(超時(shí)后),Rl在hello報(bào)文中使用認(rèn)證:認(rèn)證方式為MD5,認(rèn)證密碼2。R2