理解並取證:以太通道的動態協商機制的工作原理
取自博主《思科CCNP交換技術詳解與實驗指南》試讀版
3.1理解以太通道的理論部分
3.1.1提出以太通道的原因、以太通道的作用和功能
3.1.2建立以太通道的方式(靜態、PagP、LACP)
3.1.3理解並取證:以太通道的動態協商機制的工作原理
3.1理解以太通道的理論部分
本小節將描述思科提出以太通道的原因、以太通道的作用和功能、以太通道的特點、建立以太通道的方式(靜態、PagP、LACP)、以及PagP和LACP的協商模式、理解並取證以太通道的動態協商機制的工作原理。
3.1.1思科提出以太通道的原因、以太通道的作用和功能
在交換網絡中發生鏈路聚合時,如圖所示,可能有N條接入鏈路需要匯聚成一條鏈路,連接到匯聚層交換機,此時就可能發生網絡擁塞,此時可能會想到兩個方案:案1就不斷的加大S2連接S1的上連單一鏈路的帶寬,顯然這種方案是不具備擴展性的;方案2在S1和S2之間增加新的鏈路如圖中虛線所示。看上去方案2似乎比方案1具備更高的擴展性,但是請大家不要忘記一個問題:那就是當S2與S1之間增加更多的新鏈路後,交換機S1和S2就會成環,那麼生成樹STP就會運行,會在S1和S2之間阻塞到多餘的鏈路端口,在同一時刻只有仍然只有一條鏈路來轉發數據。其實這就是多鏈路(multiple links)面對的挑戰。但是以太通道就能解決這個問題。那麼什麼是以太通道。
以太通道(EtherChannel):
簡單的講以太通道就是將交換機之間的多條物理鏈路,捆綁成一條邏輯通道,如圖所示,去提供更多的帶寬、負載均衡和冗餘、同時避免上述關於生成樹在交換機多條物理鏈路連接時所引發的問題,因爲此時交換機之間的多條物理鏈路被當作一條鏈路處理。比如此時圖所示的4條1000MB的物理鏈路,實現以太通道後,就可以看成是一條鏈路,並且在全雙工的模式下該以太通道的帶寬可達8G。
以太通道的特點:
ü 提供更多的帶寬。
ü 將具備相同屬性的鏈路進行邏輯匯聚。
ü 此時以太通道看上去就是一條鏈路避免生成樹問題。
ü 提供負載均衡和冗餘。
ü 既可以支持二層也可以支持三層。
3.1.2建立以太通道的方式(靜態、PagP、LACP)
實施以太通道技術有兩種形式:靜態和動態。所謂靜態就是管理員不依賴於任何協議採取手工的方式將其多物理鏈路捆綁成以太通道;動態配置就是依賴於Pagp和LCAP兩個協議在交換機端口上動態的協商是否成爲以太通道。注意Page(Port Aggregation Protocol)是思科私有的用於以太通協商的協議,它無法與別的廠商的以太通道進行協商;而LCAP(LinkAggregation control Protocol)是IEEE802.3ad所定義的工業標準,所以廠商都會支持LCAP。
注意:如果靜態配置以太通道是不需要在端口上運行Pagp和LCAP協議!
關於PagP(Port Aggregation Protocol)協商時的工作模式:
On:不使用協議來進行協商,也叫非協商模式,直接靜態將相關的端口配置爲以太通道。
Desirable:主動企望成爲通道,如果對方能成通道,那就形成通道。
Auto:被動等待對方的要求,如果對方要求我成通道,我就形成通道,但自己並不主動要求。
Off:關閉以太道道功能,不允許在配置off的端口上使用以太通道。
關於上面描述使用Pagp來完成以太通道協商時不同模式組合所產生結果的示意如圖所示,值得注意的是:如果兩邊都是Auto那麼將永遠無法形成通道;Off和任何一種模式組合也是永遠都無法形成通道;然後Auto和on組合在一起也無法形成能道,因爲Auto是被動的,On雖然是能成通道,但是靜態的形成通道,在處於On模式下不會產生任何協商數據幀,在掌握這部分知道易錯的也是上述三種組合的結果。
關於LCAP(Link Aggregation control Protocol)協商時的工作模式:
On:不使用協議來進行協商,也叫非協商模式,直接靜態將相關的端口配置爲以太通道。
Active:主動企望成爲通道,如果對方能成通道,那就形成通道。等同於PagP協議的Desirable
Passive:被動等待對方的要求,如果對方要求我成通道,我就形成通道,但自己並不主動要求。等同於PagP協議的Auto。
Off:關閉以太道道功能,不允許在配置off的端口上使用以太通道。
配置端口上以太通道的協商模式:
可以通過在某個需要被加入到以太通道的物理接口上通過執行channel-group 1 mode的指令來選擇具體的協商模式,具體如圖所示。需要注意的是思科在此不會預設任何協議(PagP或者LACP)作爲默認的協商協議,那麼該端口到底是使用PagP還是LACP?這完全由用戶在channel-group 1 mode後面所跟的參數所決定,簡單的講:如果跟上active或者passive,那麼該接口就使用LACP;相反如果是跟上desirable或者auto那麼該接口就使用PagP;如果是跟上on,那麼該接口將不使用任何動態協商。
當然用戶可以通過使用channel-protocol指令來申明是使用LACP還是PagP,如圖所示,但是這裏需要注意一點:如果用戶在channel-group1 mode後面跟的是LACP的參數(active或者passive),但是在channel-protocol申明協議中使用了PagP,與模式參數相沖突,此時系統會報告,該接口已經有一個不同的協議被使用,如圖所示。
提示:事實上,如果大家用到了以太通道技術,那麼靜態配置以太通道是首選,如果要動態協商,一般使用LCAP協議;如果你希望使用Pagp協議,除非你的工作環境是“清一色”的Cisco System!所以立於CCNP的階段,我們需要進一步的來取證LCAP動態協商的工作過程,它爲什麼能動態協商,它是怎樣完成動態協商的,關鍵的工作狀態是怎樣的。
3.1.3理解並取證:以太通道的動態協商機制的工作原理
如圖所示的取證環境中,當前的S1和S2使用LACP動態的完成以太通道協商,S1處於Active模式,S2處於Passive模式;爲了方便理解,筆者將LACP的工作過程進行了步驟化描述,每在這個過程中,需要重點理解LACP的Actor state(行爲狀態機);其中包括:Activity(主動狀態)、Aggregation(聚合能力狀態)、synchronization(同步狀態)、collecting(偵聽收集狀態)、Distributing(分發狀態)。每個過程如下所示:
第一步:S1發送LCAP數據幀的協商數據幀,具體如圖所示:在該數據幀中,可以看到LACP Activity(主動狀態):Yes(1),表示S1正被配置爲LACP的Active模式,同時還可看到Aggregation(聚合能力狀態)=1,表示該端口是一個可聚合的端口,如果該字段爲0表示該端口是一個不具備聚合能力的獨立端口。目前的S2處於完全靜默狀態,所以全部狀態位字段都是0。
關於Passive模式下“靜默”行爲的取證說明:
當前的S2是處於Passive模式,注意在S2沒有收到S1發來的LACP協商數據幀時,S2將不會發送任何與LACP有關的數據幀,因爲S2處於Passive模式時它Activity狀態永遠都將是0。但是一旦S2收到了S1發來的LACP數據幀,S2就將結束這種靜默狀態而轉向協商過程。如果讀者希望取證到S2的靜默狀態,那麼請在執行LACP以太通道協商時,首先配置S2爲Passive,然後在沒有配置S1爲Activity之前使用協議分析器取證S2的端口,會發現S2的靜默行爲,它(S2)不會發送任何關於LACP的數據幀,直到S1被配置爲Activity。有相反的取證手段實施在S1被配置爲Activity模下,會發現,S1正積極的發送LACP的數據幀,只是當S2沒回應時,S1的LACP數據幀會被置爲短超時。
第二步:S2的相關接口被啓動,並被配置爲Passive模式時,當S2接收到S1發來的數據幀後,立即結束靜默,並轉向LACP的協商過程,它(S2)會做迴應S1如圖所示,S2將LACP消息中的Aggregation(聚合能力狀態)=1,表示該端口是一個可聚合的端口;並且進入synchronization(同步狀態)=1,表示該端口已經被成功的分配到聚合組(通道接口的種邏輯表達式),如果synchronization(同步狀態)=0則表示該端口不能選擇正確的聚合組。
第三步:此時S1送Activity=1、Aggregation=1、synchronization=1、collecting=1、Distributing=1的LACP數據幀,如圖所示,在這個階段主要關注collecting=1和Distributing=1,它表示加入到以太通道的端口已經可以成功的收包和發包,collecting=1表示可成功收包,0則表示收包失敗;Distributing=1表示可以成功的發包,0則表示發包失敗。
注意:一個以太通道協商的成敗,關鍵在Aggregation、synchronization、collecting、Distributing四個字段的置位必須要是1,通道才能協商成功,並且在這個過程中,不僅僅需要確保某一端(比如:只是S1)的四個關鍵字段被置位爲1,還必須確保另一端的四個關鍵字段也必須是1在行,這對於以太通道的故障排除非常的重要,因爲協議數據幀是從不會“說謊”!
第四步:跟據上面的描述S2必須也得發送Aggregation、synchronization、collecting、Distributing四個字段被置位爲1的數據幀後,通過LACP協商的以太通道纔會成功,所以此時S2將發送置位四個關鍵字段的數據幀如圖所示,通過該數據幀可以看出,此時的S1和S2的四個關鍵字段都被置位爲1,這就意味着以太通道協商成功,並且相關的接口已經加入到通道中,在S2的數據幀中也可以看到鄰居S1的LACP狀態,但是此時需要注意的是在任意時候,S2的activity字段總是0,因爲它是passvie模式;與之相反S2的activity字段總是1,因爲它是active模式。