交换机芯片笔记2.1
2正常網絡端口
 除非另有說明,否則以下討論假定端口處于正常網絡模式(即,在端口偏移0x04處FrameMode = 0x0)。
 2.1入口策略
 入口策略塊通常用于限制允許幀進入的位置,用于修改通過交換機的正常數據包流。 使用行業標準機制。 所有端口具有相同的入口策略功能,如下所示。(如果端口連接了內部管理處理器則不能支持所有的模式)
 1、 可以阻止非管理幀進入交換機以支持生成樹協議(2.2.1節的傳統的802.1D和2.2.3節的802.1S協議)
 2、 可以對幀的源MAC地址進行身份認證,并且可以將幀丟棄或映射到CPU以支持802.1X協議(1.2.7節和2.1.2節)
 3、 可以基于幀的DA,SA,VID,以太網類型和/或如果幀是UDP廣播和/或DHCP選項82(第2.1.3節),執行第2層策略操作(鏡像,trap或丟棄)。
 4、 在交換機的數據庫中找不到幀的內容(稱為“丟失”),可以被配置為對于SA的鏡像或VID“丟失”,或捕獲為DA,SA,VID或TCAM“丟失”(第2.1.4節)。
 5、 支持TCAM的那些設備上的三元內容可尋址內存(TCAM)支持具有切換策略替代功能的深度數據包檢查(第2.1.5節)。
 6、 基于端口的VLAN和/或802.1Q VLAN用于防止幀從某些端口流出(第2.2節)
 7、 交換機管理端口狀態,802.1s(每個VLAN生成樹)或802.1Q用于完全阻止幀進入交換機(第2.2.3節)。
 8、 可以丟棄所有IEEE 802.1Q標記的幀(第2.2.2.4節),也可以丟棄所有未標記的幀(第2.2.2.3節)。
 9、 每個端口有五個獨立的TCP / IP風暴限制計數器/資源(第2.5節),每個端口有三個同步時隙計量器(ISTM)(第???節),支持入口速率限制(IRL)或管制。見Ingress Rate Limiting (IRL)節
 10、 可以使用IRL資源通過對每個“ n”幀中的每個鏡像僅進行鏡像來對任何第2層策略鏡像和任何Ingress Monitor Source鏡像(第5節)進行統計采樣。
 2.1.1 802.1D生成樹的端口狀態過濾
 該設備每個端口支持四個802.1D端口狀態,如表6所示(每個VLAN端口狀態也支持802.1s-請參閱第2.2.3節)。 設備中的隊列控制器(請參見第2.6節)使用802.1D端口狀態來調整緩沖區分配。 入口策略塊使用它們來控制允許哪些幀類型進入和離開交換機,以便可以支持生成樹或網橋環路檢測軟件。 端口控制寄存器中的PortState位(端口偏移0x04)確定每個端口的端口狀態(假設未使用每個VLAN端口狀態的802.1s),并且可以在任何時間修改這些位,而不會在傳輸的幀上引起任何錯誤。
 表6列出了端口狀態并對其進行了描述。 這兩個端口狀態要求檢測管理(MGMT)幀(MGMT幀在5.2節中定義)。 它們的主要目的是支持IEEE 802.1協議,例如生成樹協議(參見5.2節)。
 1、 能夠通過阻塞的端口進行隧道傳輸
 2、 源地址學習是不會在管理幀上被執行的
 3、 管理幀忽略了在入口和出口(802.1Q和基于端口)的VLAN規則
 4、 在管理幀上組播偵聽也是不能執行的。
 5、 不執行速率限制(如果在IRL(2.5節)中將管理幀選擇為非速率限制。)
 6、 管理幀的速率限制也是可能的,為了防止拒絕服務(DoS)攻擊。
 這意味著管理幀始終會轉到由分配給地址數據庫中幀的目標地址(DA)的目標端口向量(DPV)所指示的端口,或設備的CPUDest端口或AltCPUDest端口(全局1偏移量0x1A索引0x30和0x31) ),具體取決于所使用的MGMT檢測模式(第5.2節)。 MGMT幀通常用于802.1D生成樹橋協議數據單元(BPDU)和其他802.1協議,但是可以將任何多播或任何單播地址定義為MGMT以支持新的或專有的協議。
 1、 禁用:不允許幀進入(進入)或離開(出口)一個禁用端口。 學習不會在“已禁用”端口上進行。
 2、 阻塞、監聽:僅允許管理幀進入(進入)或離開(離開)阻塞端口。 所有其他幀類型都將被丟棄。在阻塞的端口上禁用學習。
 3、 學習:僅允許MGMT框架進入(進入)或離開(離開)學習端口。 所有其他幀類型都將被丟棄,但是也會在所有由于過濾而未丟棄的良好非管理幀上進行學習。
 4、 轉發:正常運行。 允許所有幀進入(進入)和離開(離開)轉發端口。 在所有由于過濾而未被丟棄的良好非MGMT幀上進行學習。
 NOTE:可以出于多種原因對幀進行過濾,包括第2層策略(第2.1.3節),端口狀態(第2.1.1節和第2.2.3節),802.1 MAC身份驗證(第2.1.2.1節),802.1Q違規(第2.2.2節),反向802.1X MAC身份驗證(第2.1.2.3節)或其標記與預期的不匹配(第2.2.2.3節和第2.2.2.4節) ), 等等。
 交換機中所有端口的默認端口狀態可以禁用或轉發,具體取決于NO_CPU引腳的值(有關詳細信息,請參見設備的數據表)。 除非將NO_CPU配置為CPU附加模式,否則這些端口將處于“轉發端口狀態”。 這樣,CPU可以在啟動端口之前完全啟動,并開始接受幀,包括正在運行的網橋循環或生成樹檢測或路由軟件。
 NOTE: 只要將NO_CPU引腳配置為“ CPU附加模式”,內部和外部PHY就會在掉電狀態下復位。在這種模式下,必須先將PHY的PwrDwn位清零(PHY偏移量0x00),然后才能接通PHY的電源。引導后,軟件僅需為PHY通電一次。這樣可以確保PHY的鏈接伙伴不會看到鏈接,直到CPU有時間啟動并準備好接受來自其鏈接伙伴的MGMT幀。
 受管交換機應通過配置NO_CPU引腳來使用CPU連接模式。但是,即使是這些設計,也可能需要PCB上的跳線或測試點,以便可以將開關重置為NO_CPU引腳的“無CPU連接”模式設置。這可以幫助設計的交換器部分進行初始PCB調試和/或制造測試,因為該交換器無需任何軟件即可在任何地方為轉發幀供電,但這僅是一種調試模式,并且不能用于具有CPU的生產設計中已連接(否則,其他幀將在引導CPU時通過交換機,這可能會造成網絡故障)。
 2.1.2源地址過濾
 該設備支持源地址的過濾:
 1、802.1X MAC身份認證
 2、如果需要的話,在完全驗證SA之前將幀捕獲到CPU進一步檢查
 3、反向802.1X MAC身份驗證可幫助防止拒絕服務(DoS)攻擊。這是通過將特定的尋址以及每個端口模式位一起加載到地址數據庫中來完成的。 第2.1.2.4節介紹了如何為上述每個應用程序最佳地將這些特殊地址加載到地址數據庫中(靜態或動態)。
 2.1.2.1 802.1X MAC地址認證(鎖定時)
 如果端口的SA過濾位設置為0x1,則啟用丟包鎖定模式(端口偏移0x04),則在端口上使用未認證的源MAC地址接收的所有非MGMT1(非管理)幀都將被丟棄。在這種模式下,只有具有認證SA的幀(或MGMT幀)才允許進入交換機進行進一步處理。如果幀的SA存在于地址數據庫中,并且其內容與幀進入交換機的源端口相關聯,則認為該幀的SA被認證了。
 在第6.3節中定義了如何將這些地址輸入ATU地址數據庫的機制。建議在支持基于MAC的802.1X身份驗證的端口(即處于此DropOnLock模式的端口)上使用CPU定向地址學習(第1.2.6節)。
 在CPU驗證地址之前,它可能需要檢查某些幀的內容。這可以使用源MAC幀陷阱(第2.1.2.2節)來完成。在這種模式下,可以屏蔽來自被拒絕的源地址的過多中斷(請參見第1.2.7節)。
 PS:如果端口過濾位置1,則未認證的源MAC接收到的非管理幀都會被丟棄,只有認證了的SA或在地址庫中的才能被進一步處理。
 2.1.2.2源MAC幀的捕獲(到cpu)
 源MAC幀捕獲與802.1XMAC地址認證(2.1.2.1節)一起使用,并且如果端口的SA過濾位設置為0x3則在端口上啟用了源MAC幀捕獲,從而啟用了Drop to CPU模式(端口偏移0x04在15:14位)。它的目的是在對源MAC進行身份驗證之前獲取CPU更多的數據。在標準的.1X中,CPU只能僅基于SA認證SA。而Drop to CPU模式允許將幀從發出請求的SA捕獲到CPU,以進行進一步的檢查。這樣CPU可以查看整個幀的內容,以幫助做出身份驗證決策。
 Drop to CPU模式與Drop on lock模式大致相同。它增加了半認證MAC地址的概念,其中具有半認證SA的幀被映射到CPU的端口(基于CPUDest的值,全局1偏移量0x1A,索引0x30)。在這種模式下,只有帶有認證或半認證SA的幀(或MGMT幀)才允許進入交換機進行進一步處理。如果SA沒有在地址數據庫中,那么該地址是未認證的而未認證的源MAC地址收到的非管理幀都將會被丟棄。反之如果已存在于地址數據庫中則認為其已被認證。
 如果SA作為靜態ATU條目出現在地址數據庫中,并且其目標端口矢量(DPV和“ T”位/true)都為零,則認為該SA是半授權的。這些幀會捕獲到CPU。
 條目的輸出端口號(DPV)為零,其他端口無法將幀傳到此,同時允許有該SA的幀發送到此,讓CPU進一步檢查。
 PS:數據包在進入未被認證的端口時先放入cpu等待認證完成,如果未認證則是Drop on lock丟棄這些幀如果成功則用Drop on unlock進一步細分幀。
 2.1.2.3反向802.1X MAC地址認證(解鎖時丟棄)
 反向802.1X MAC地址認證(解鎖時丟棄)接受來自所有源MAC地址的幀,但是拒絕那些特殊標記的MAC地址。當此功能與地址學習限制(1.2.4節)或CPU定向學習(1.2.6節)一起使用時,它們可用于防止DoS攻擊。(偏移量0x04)啟用該功能后丟棄半授權源MAC地址的所有非管理幀,而其他幀進入交換機進行進一步的處理。
 PS:如果SA在地址數據庫非零則認為它的SA是已知的。那么它就可以通過自動學習和CPU定向學習進入地址數據庫。
 如果SA在地址數據庫中全為零,且T也為零則SA是半授權的那么其可確保其他端口的幀不能傳輸到此,因為全為零則其他幀將其作為DA時會被丟棄。此功能可以防止DoS攻擊。
 2.1.2.4用于源地址過濾器的靜態或動態地址
 當CPU在地址數據庫中加載MAC地址以用于SA過濾,是將地址加載成動態還是靜態呢?兩種都可以,由應用程序決定。
 802.1X中的Drop on Lock模式不能接受幀除非幀的SA是在地址數據庫中與入口端口相關聯的。 乍一看應該被當做靜態條目被加載,但是同一時間有大量的MAC地址認證被使用所以就當成動態地址被加載了。為了防止老化可以啟用HoldAt1位(偏移量為0x0B),啟用刷新鎖定位(0x0B)來讓他們自我刷新。如果該地址被最近使用過的地址撞掉了,CPU可以通過緩存快速重新加載,CPU也可以通過配置來執行刷新其老化的時間,這樣可以防止ATU滿了導致CPU無法加載的情況。(6.3.6節)
 802.1.X Drop to CPU模式應將認證地址加載為動態地址(參考上文)但是半認證的地址必須以靜態方式加載,那么只有第一幀會被CPU捕獲。而其他幀會被認為是非認證的幀。如果CPU只要查看幾個幀的內容那么其他幀可以被加載為未認證的幀。
 Drop to CPU模式下允許用少量的地址進行自動學習,可能會被載入到防止DoS攻擊。由于半授權的地址的數量非常少,因此CPU可以將這些地址靜態加載。CPU也會在一段時間后將它們卸載,以便重新加載。
 2.1.3二層策略的控制列表
 設備支持2層PCLs(控制列表)。每個端口支持的策略操作是:
 1、 普通幀切換(即無特殊操作)
 2、 策略鏡像(復制)幀到MirrorDest端口(全局1偏移量為0x1A索引為0x22)
 3、 政策陷阱(重定向)幀到CPUDest端口(全局1偏移量為0x1A索引為0x33)
 4、 策略丟棄(過濾)幀
 下圖顯示了可在每個端口基礎上選擇上述策略的框架中的字段。
 
每個端口可以互不影響地使用八個策略項目(偏移量0x0e)中的每一個。因此一個幀可以支持多個策略操作。單個幀既可以被策略捕獲也可以被策略鏡像,如果有丟棄則該幀會被丟棄。
 2.1.3.1目的地址,源地址和VID策略
 當每個幀進入交換機時,其DA和SA都將查找到地址數據庫中。如果在ATU中找到了DA則在啟用DA的端口執行二層策略,同理在ATU中找到了SA也執行。每個進入交換機的幀會提取一個VID或將其分配給該幀。然后在Vlan數據庫中查找VID。如果找到了則其Policy位置1則將在啟用VTU第2層PCL的端口(端口偏移量0x0e)上執行2層策略。
 NOTE:相同的MAC地址可以同時成為端口5到0的策略丟棄,端口6和7可以正常交換。但是一旦這樣配置了端口,所有在ATU中有策略條目狀態的MAC垏將在這些端口上以相同的方式工作。ATU中的DA和SA策略條目必須是靜態條目,因此只能由CPU手動清除。
 2.1.3.2以太類型策略
 當每個幀進入交換機時,將提取并比較其以太類型。如果幀的以太類型為0x8863,則將在啟用PPPoE第2層PCL的端口(0x0e)上的該幀執行第2層策略。如果以太類型為0x8200,則將啟用VBAS第2層PCL的端口上執行2層策略。如果與端口PortEType寄存器(0x0f)相匹配則將在啟用EType第二層執行2層策略。
 2.1.3.3 DHCP選項82
 DHCP(動態主機配置協議)選項82是一種特殊策略功能,它超出了第2層的字段。如果進入端口的幀與IPv4/6幀格式匹配并且啟用了端口的Opt82則在此有2層策略。必須匹配白色的字段,而不檢查灰色背景中的那些字段。
 2.1.3.4UDP廣播
 UDP廣播是另一種特殊策略功能它超出了幀的第2層字段。如果進入端口的幀與IPv4/6 UDP Farme format相匹配那么在此有2層策略。必須匹配白色的字段,而不檢查灰色背景中的那些字段。
 2.1.4丟失Traps(重定向)和鏡像
 設置支持丟失Traping 或鏡像。每個端口支持的丟失操作是:
 1、 普通幀切換(無特殊操作)
 2、 丟失鏡像(復制)幀到MirrorDest端口(全局1偏移0x1A,索引0x22)
 3、 丟失陷阱(重定向)幀到CPUDest端口(全局1偏移量0x1A,索引0x30)
 丟失鏡像可以被配置在每個端口的基礎上,遵循以下的丟失類型:
 4、 SA丟失,即在地址數據庫中找不到幀的源地址(第1.2.2節)
 5、 VTU丟失,即在VLAN數據庫中未發現VID有效的幀(第6.2.5節)
 可以針對以下丟失類型在每個端口上配置丟失Trap
 6、 DA丟失,即在地址數據庫中找不到幀的目的地址(第1.2.2節)
 7、 SA丟失,即在地址數據庫中找不到幀的源地址(第1.2.2節)
 8、 VTU丟失,即在VLAN數據庫中未發現VID有效的幀(第6.2.5節)
 9、 TCAM丟失,即該幀與TCAM中的任何條目都不匹配(第2.1.5節)
 Miss鏡像和Miss陷阱在端口偏移量0x0D中配置。
 2.1.5 TCAM入口策略(僅支持TCAM的設備)
 如果設置支持三進制內容可尋址內存(TCAM),則可用于執行自定義的深度數據包的檢查,從而導致可編程的交換機操作會覆蓋交換機當前配置的策略??梢詫CAM看作是一個可編程策略引擎,所有網絡鏈路都是全速運行。
 該設備的TCAM功能強大而又簡單。它可以匹配每個幀的前48個字節或96個字節中的每個字節的每個位。這意味著可以匹配任何當前或將來的協議幀格式。
 1、48字節的TCAM條目或以匹配所有802.1層2字段和所有IPv4標頭字段。
 2、96字節的TCAM條目可以匹配所有IPv6標頭字段。96字節的TCAM條目是通過兩個48字節的TCAM條目組合在一起而構成的。TCAM中可以同時存在48字節和96字節的條目。
 可以對TCAM進行編程,使其對一個幀執行以下操作(當TCAM發生匹配時):
 1、 覆蓋分配給幀的VLAN ID(VID)2.2.2.5節
 2、 覆蓋分配給幀的優先級(FPri和QPri)2.4節
 3、 通過覆蓋分配給幀的DPV來覆蓋端口出口的幀1.2.2節
 4、 定義LAG負載均衡
 通過配置TCAM模式位(端口偏移0x0D),可以在端口上啟用TCAM。對于端口需要檢查數據包的最壞情況的深度數據包檢查深度,需要啟用這些位。如果僅將48字節TCAM條目分配給端口,則可以為48字節搜索啟用端口的TCAM模式。如果一個端口甚至分配了一個96字節的TCAM條目,則必須啟用該端口的TCAM模式以進行96字節的搜索。
 有關TCAM功能以及如何加載TCAM條目的更多信息,請參見6.1節
總結
以上是生活随笔為你收集整理的交换机芯片笔记2.1的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 记录小新pro13 Intel版(S54
- 下一篇: python一共多少模块,python常
