DLDP技術白皮書

DLDP技術白皮書

 

Copyright © 2012 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,

並不得以任何形式傳播。本文檔中的信息可能變動,恕不另行通知。

H3C_彩色.emf

 



概述

1.1  產生背景

在實際組網中,有時會出現單通現象,即一條鏈路上的兩個接口,有且隻有一端可收到另一端發來的鏈路層報文,此鏈路便稱為單向鏈路。1以光纖連接為例,示意了兩種單通情形:一種是光纖交叉相連,另一種是一條光纖未連接或斷路。

圖1 光纖連接的兩種單通情形示意圖

 

物理層的檢測機製(如自動協商機製)負責進行物理信號和故障的檢測。而在單向鏈路中,由於物理層仍處於連通狀態,因此物理層檢測機製無法發現設備間的通信異常,從而會導致錯誤轉發、環路等問題。而DLDPDevice Link Detection Protocol,設備鏈路檢測協議)能夠通過在鏈路層監控光纖或網線的鏈路狀態,檢測鏈路連接是否正確、鏈路兩端可否正常交互報文。當發現單向鏈路時,DLDP會根據用戶配置自動關閉或由用戶手工關閉相關接口,以防止網絡問題的發生。

1.2  技術優點

作為鏈路層協議,DLDP可以在鏈路層進行對端設備識別、單向鏈路識別以及關閉單通接口等工作:

·              如果鏈路兩端在物理層都能獨立正常工作,DLDP會在鏈路層檢測該鏈路的連接是否正確、鏈路兩端可否正常交互報文,這種檢測不能通過自動協商機製實現。

·              DLDP還可與物理層的檢測機製協同工作以監控鏈路狀態。物理層的自動協商機製可以進行物理信號和故障的檢測,二者協同工作,便可以檢測並避免物理和邏輯的單向連接。

DLDP技術實現

2.1  概念介紹

2.1.1  DLDP鄰居狀態

假設接口AB同處一條鏈路上,若A能收到B發來的鏈路層報文,便將B稱為ADLDP鄰居,能夠互相收發報文的兩個接口互為鄰居。DLDP鄰居的狀態如1所示。

表1 DLDP鄰居狀態

狀態

說明

Confirmed(確定)

鏈路雙通時的DLDP鄰居狀態

Unconfirmed(未確定)

發現新鄰居但未確認鏈路雙通時的DLDP鄰居狀態

 

2.1.2  DLDP接口狀態

使能了DLDP功能的接口簡稱DLDP接口。DLDP接口可以有一或多個DLDP鄰居,其狀態與各DLDP鄰居的狀態相關,具體如2所示。

表2 DLDP接口狀態

狀態

說明

Initial(初始)

當接口已使能DLDP,但全局尚未使能DLDP時的接口狀態

Inactive(非活動)

當接口和全局均已使能DLDP,但鏈路物理down時的接口狀態

Bidirectional(雙通)

當接口和全局均已使能DLDP,且有至少一個處於確定狀態下的鄰居時的接口狀態

Unidirectional(單通)

當接口和全局均已使能DLDP,且沒有處於確定狀態下的鄰居時的接口狀態,處於此狀態的接口隻能收發DLDP報文

 

2.1.3  DLDP定時器

DLDP在工作過程中使用到的定時器如3所示。

表3 DLDP定時器

定時器

說明

Advertisement發送定時器

Advertisement報文的發送間隔(缺省為5秒,可配)

Probe發送定時器

Probe報文的發送間隔(固定為1秒)

Echo等待定時器

對鄰居進行探測時會啟動此定時器(固定為10秒)

鄰居老化定時器

每個新鄰居的加入都要建立鄰居表項,當鄰居處於確定狀態時啟動鄰居老化定時器,當收到鄰居的Advertisement報文時刷新鄰居表項的鄰居老化定時器。鄰居老化定時器的值是Advertisement發送定時器的值的3

加強探測定時器

若鄰居老化定時器超時,則啟動該鄰居的加強探測定時器(固定為1秒),同時啟動Echo等待定時器

DelayDown定時器

接口物理down時不會立即刪除所有鄰居,而是先啟動DelayDown定時器(缺省為1秒,可配),該定時器超時後再核對接口的物理狀態:若為down,則刪除DLDP鄰居信息;若為up,則不進行任何處理

恢複探測定時器

RecoverProbe報文的發送間隔(固定為2秒)。處於單通狀態的接口會定期發送RecoverProbe報文來檢測單向鏈路是否恢複

 

2.1.4  DLDP認證模式

進行DLDP認證,可以防止網絡攻擊和惡意探測,DLDP的認證模式如4所示。

表4 DLDP認證模式

認證模式

DLDP報文發送端的處理

DLDP報文接收端的處理

不認證

DLDP報文的認證字字段置為全0

將接收的DLDP報文的認證信息與本端配置進行比較,若一致則認證通過,否則丟棄該報文

明文認證

DLDP報文的認證字字段置為明文認證密碼

MD5認證

DLDP報文的認證字字段置為用MD5算法加密後的密碼摘要

 

2.2  工作機製

2.2.1  單鄰居檢測機製

當兩台設備通過光纖或網線直接相連時,可以在這兩台設備之間啟用DLDP來檢測單向鏈路,此時這兩台設備的接口互為DLDP鄰居,因此稱為單鄰居檢測。下麵分兩種情況分別介紹單鄰居的單向鏈路檢測過程。

1. DLDP使能前鏈路已出現單通

圖2 光纖交叉連接示意圖

 

2所示,在DLDP使能之前,Device ADevice B之間的光纖就已交叉連接。當DLDP使能後,處於up狀態的四個接口都進入單通狀態,並向外發送RecoverProbe報文。下麵以Port 1為例介紹單向鏈路的檢測過程:

·              Port 1收到Port 4發來的RecoverProbe報文回複RecoverEcho報文

·              由於Port 4無法收到Port 1發來RecoverEcho報文,因此不會與Port 1建立鄰居關係

·              Port 3雖能收到Port 1發來的RecoverEcho報文,由於該報文不是回複給Port 3因此Port 3也不會Port 1建立鄰居關係

其它三個接口上的檢測過程與Port 1類似,這四個接口將始終處於單通狀態。

2. DLDP使能後鏈路才出現單通

圖3 一條光纖斷路示意圖

 

3所示,Device ADevice B通過光纖相連。在DLDP使能之後,光纖連接起初是正常的,Port 1Port 2之間的雙通鄰居建立過程如下:

·              處於物理up狀態的Port 1進入單通狀態,向外發送RecoverProbe報文。

·              Port 2收到RecoverProbe報文後,回複RecoverEcho報文。

·              Port 1收到RecoverEcho報文後,發現該報文中攜帶的鄰居信息與本機的相同,於是與Port 2建立確定的鄰居關係,口狀態由單通變為雙通,啟動該鄰居的老化定時器並定期發送Advertisement報文。

·              Port 2收到Advertisement報文後Port 1建立確定的鄰居關係,為該鄰居啟動Echo等待定時器和Probe發送定時器,定期發送Probe報文。

·              Port 1收到Probe報文後回複Echo報文。

·              Port 2收到Echo報文後,發現該報文中攜帶的鄰居信息和本機保存的相同,於是將鄰居狀態由未確定切換為確定,接口狀態則由單通切換為雙通,啟動該鄰居的老化定時器並定期發送Advertisement報文。

至此,Port 1Port 2之間的雙通鄰居關係建立完畢。

此後,假設Port 2Rx端突發故障而無法接收信號,該接口將物理down並進入非活動狀態,但此時由於其Tx端尚能發送信號給Port 1,因此Port 1還處於up狀態。Port 1在鄰居老化定時器超時後,將啟用加強探測定時器和Echo等待定時器,並向鄰居Port 2發送Probe報文;而由於Port 1Tx端已斷路,Echo等待定時器超時後將收不到Port 2回複的Echo報文,於是Port 1進入單通狀態,並發送Disable報文通知對端。同時,Port 1刪除鄰居Port 2,並啟動恢複探測定時器以檢測鏈路是否恢複。在此過程中,Port 2將一直處於非活動狀態。

2.2.2  多鄰居檢測機製

當多台設備通過Hub相連時,也可以在這些設備之間啟用DLDP協議來檢測單向鏈路,此時每個接口都會檢測到一個以上的DLDP鄰居,因此稱為多鄰居檢測。在多鄰居組網環境中,為了能正確檢測出單向鏈路,要求在所有與Hub相連的接口上都啟用DLDP,接口一旦發現沒有確定的鄰居,便進入單通狀態。

圖4 多鄰居組網示意圖

 

4所示,Device ADevice D都通過一台Hub相連,各設備都支持DLDP。當Port 1Port 2Port 3發現與Port 4的連接出錯後,都將刪除該鄰居,但仍保持雙通狀態。

2.2.3  發現單向鏈路後的處理機製

DLDP檢測到單向鏈路時,可以采用以下兩種方式關閉單通接口:

·              自動模式:在此模式下,當DLDP檢測到單向鏈路時會自動關閉單通接口。

·              手動模式:在此模式下,當DLDP檢測到單向鏈路時不會直接關閉單通接口,而是需要用戶手工將其關閉;當單向鏈路恢複為雙向鏈路後,還需要用戶手工將其打開。當網絡性能較差、設備業務量較大或CPU利用率較高時,都容易造成DLDP對單通的誤判而自動關閉接口,手動模式就是為了避免這種誤判而采取的一種折中方案。

2.2.4  鏈路恢複後的處理機製

當單向鏈路恢複雙通後,可以通過以下兩種方式使接口恢複正常工作:

·              對於被網絡管理員手動關閉的接口,需要使用undo shutdown命令手工打開。

·              對於被係統自動設置為DLDP DOWN狀態的接口,鏈路自動恢複機製可自動檢測到DLDP鄰居恢複並重新打開該接口。

其中,鏈路自動恢複機製可使處於DLDP DOWN狀態的接口在鏈路恢複後自動從此狀態中恢複,具體過程如下:

(1)      處於DLDP DOWN狀態的接口每2秒向外發送一次RecoverProbe報文,該報文中隻攜帶本接口的信息。

(2)      對端接口如果收到該報文,則回複RecoverEcho報文作為應答。

(3)      本端接口收到RecoverEcho報文,檢查報文中攜帶的鄰居信息是否本接口信息相同。如果相同,便建立鄰居表項,設置鄰居狀態為Confirmed本端接口狀態從Unidirectional遷移到Bidirectional開始定期發送Advertisement報文。

2.3  應用限製

在應用DLDP時需要注意:

·              為了防止網絡攻擊和惡意探測,用戶可以對DLDP報文進行認證,認證方式分為明文認證和MD5認證。為確保檢測出單向鏈路,要保證兩端設備的認證方式和認證口令相同。

·              為確保檢測出單向鏈路,要保證兩端設備的DLDP處於使能狀態、Advertisement報文發送時間間隔相等。

·              為了使DLDP在不同的網絡環境下都能及時發現單向鏈路,需要合理調整Advertisement報文的時間間隔。如果設定的時間太長,DLDP協議不能及時關閉單向鏈路;如果設定的時間太短,會增加協議報文數量,並且在網絡環境不好的情況下,由丟失協議報文導致的誤檢測幾率會提高。

·              DLDP運行在聚合和STP之下,協議報文的收發不受聚合非選中以及STP阻塞的影響。

·              使能了DLDP功能的設備之間可以通過透傳設備(如Hub或未啟用DLDP的設備)相連。透傳設備將DLDP協議報文作為數據報文處理,此時聚合非選中以及STP阻塞會影響DLDP協議報文的轉發,進而可能會引起DLDP狀態機震蕩。

典型組網應用

典型的DLDP組網應用如5所示。Device ADevice B通過光纖相連,Port 2Rx端所在線路斷路,Port 2處於物理down狀態。但是,由於Port 1檢測不到這種情況,仍向Port 2發送數據報文,這樣就會造成數據報文的丟失。

為了檢測出此單通情況,可以在這兩台設備上都配置DLDP功能。當DLDP檢測出單向鏈路後,會自動斷開單向鏈路,就避免了數據報文的丟失。在網絡管理員修複鏈路之後,單向鏈路會自動恢複為正常狀態,繼續轉發報文。

圖5 DLDP典型應用組網圖

 

附件下載

聯係我們