《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 全面深入交換機FFP技術(shù)探究
全面深入交換機FFP技術(shù)探究
互聯(lián)網(wǎng)
摘要: 交換機FFP(FastFilterProcessor)技術(shù)提供了先進的多層交換、報文分類及線速處理功能,能夠基于協(xié)議或字節(jié)對報文進行線速解析、分類,報文解析深度達80或128字節(jié),廣泛用于各類基于流的報文分類、過濾及鏡像等應用,如:QOS(QualityofService)、ACL(AccessControlLists)、DSCP(DifferentiatedServicesCodepoint)等。
Abstract:
Key words :
ipt type="text/javascript">showAd(2009080513234060,236,236);

交換機FFP(Fast Filter Processor)技術(shù)提供了先進的多層交換、報文分類及線速處理功能,能夠基于協(xié)議或字節(jié)對報文進行線速解析、分類,報文解析深度達80或128字節(jié),廣泛用于各類基于流的報文分類、過濾及鏡像等應用,如:QOS(Quality of Service)、ACL(AccessControl Lists)、DSCP(DifferentiatedServices Codepoint)等。

原理介紹

一般來說,F(xiàn)FP硬件引擎都是由圖1所表示部件組成:


其主要作用是在數(shù)據(jù)流通過網(wǎng)絡設備時進行分類過濾,并對從指定接口輸入或者輸出的數(shù)據(jù)流進行檢查,根據(jù)匹配條件(Conditions)允許其通過(Permit)、丟棄(Deny)或者采取其他動作策略,由此來達到限制網(wǎng)絡中某些通信數(shù)據(jù)類型、限制網(wǎng)絡的使用者或使用設備的目的。我們通過FFP的這種特性實現(xiàn)各種ACL技術(shù),從而滿足各種不同應用的需要。

下面,分別對各個部件的作用及工作原理進行介紹:

字段解析器

用于從各種來源的數(shù)據(jù)流中獲取各種指定字段,即匹配域,例如:報文的源MAC地址、目的MAC地址、源IP等字段,在進行報文解析之前,需要預先設置字段,用以對報文進行識別、分類,之后開始對報文進行解析,將解析出來的匹配域字段封裝成KEY送到查找匹配引擎中。

其中,各種來源的數(shù)據(jù)流包括報文流、各種硬件檢測信息(如:報文的類型、輸入的物理端口、是否在地址表中HIT等信息)。

查找匹配引擎

查找匹配引擎由一定數(shù)量的TCAM表項組成,我們將TCAM表項稱為匹配規(guī)則,在進行匹配之前,需要預先申明匹配條件,設置好匹配規(guī)則中的內(nèi)容,匹配規(guī)則針對數(shù)據(jù)流的源地址、目標地址、上層協(xié)議等字段。匹配規(guī)則一般有兩部分組成:匹配內(nèi)容和掩碼,匹配過程就是將輸入的KEY和掩碼進行相與,再將相與的結(jié)果和匹配內(nèi)容進行比較,如果比較結(jié)果相同,則匹配成功,例如:配置一個ACE,如下:

permit 192.168.1.0 0.0.0.255,

則這條表項的匹配內(nèi)容為192.168.1.0,掩碼為255.255.255.0。這時候,將輸入報文的源IP(通過字段解析器解析)與掩碼進行相與,如果結(jié)果等于192.168.1.0,則報文可以通過,即192.168.1.0/24網(wǎng)段的報文可以通過。

設置好匹配規(guī)則之后,將接收到的KEY與匹配規(guī)則一一進行比較,檢查報文是否與某一條匹配規(guī)則相匹配,返回該匹配規(guī)則(HIT表項)所在的偏移。

動作策略引擎

動作策略引擎由一定數(shù)量的策略表項組成,策略表項和匹配規(guī)則一一對應,當查找匹配引擎中的某條匹配規(guī)則匹配上后,返回該匹配規(guī)則的偏移,根據(jù)這個偏移值,就可以找到匹配規(guī)則對應的策略表項,執(zhí)行策略表項中預先設置好的動作。同樣的,我們需要先申明滿足某個規(guī)則匹配后的對應行為。

動作策略引擎支持的動作包括:轉(zhuǎn)發(fā)、丟棄、重定向、鏡像、送CPU、改變報文優(yōu)先級等等,不同產(chǎn)品支持的動作存在較大差異。

度量、統(tǒng)計引擎

動作策略表項被HIT上后,會觸發(fā)度量、統(tǒng)計引擎工作,動作策略表項中指定要使用的meter表項、counter表項的索引,meter表項、counter表項的各種屬性也是在報文解析過濾前預先設置完成。

一般情況下,將查找匹配引擎、動作策略引擎、度量統(tǒng)計引擎合在一起稱為一個slice,有些產(chǎn)品支持多個slice,有些產(chǎn)品則全局共享一個slice。

一般情況下,查找匹配引擎、動作策略引擎和度量統(tǒng)計引擎中的表項是一一對應,將一條匹配規(guī)則、策略表項及其對應的統(tǒng)計度量表項合在一起稱為一條表項。

動作仲裁引擎

動作仲裁引擎收集所有匹配表項產(chǎn)生的動作策略信息,包括動作策略及meter結(jié)果,對于不沖突的動作全部被執(zhí)行,對于沖突動作,則依照優(yōu)先級進行仲裁,高優(yōu)先級動作被執(zhí)行。

應用介紹

目前,各種交換產(chǎn)品中,有多個應用的實現(xiàn)依賴于FFP引擎特性,不同產(chǎn)品上,由于FFP引擎原理不同,導致各應用在實現(xiàn)過程中對表項占用情況、引擎分布情況存在較大差異。

各產(chǎn)品支持的應用

各種交換機產(chǎn)品支持的依賴于FFP引擎的應用:遠程鏡像、CPU保護模塊、防攻擊模塊(nfpp)、安全通道、防網(wǎng)關ARP欺騙、arp check、IP防掃描、全局IP + MAC 綁定、Dhcp_option82、Dot1x中的QOS應用、Dot1x中下發(fā)ACL應用、Dot1x認證用戶綁定應用、dhcp snooping綁定應用、GSN全局安全應用、QOS應用模塊、VLAN ACL應用、出口方向安全ACL應用、入口方向安全ACL應用、修改外部tag應用、QINQ、策略路由、IPV6_ROUTE、網(wǎng)絡域名轉(zhuǎn)換應用、數(shù)據(jù)流鏡像應用、重定向應用等。

表項及模板分配過程

除了目前廣泛使用的安全ACL外,F(xiàn)FP相關的其他各種應用也都是依賴于ACL技術(shù)實現(xiàn),ACL全稱為訪問控制列表(Access ControlList),也稱為訪問列表(Access List),俗稱為防火墻,ACL通過定義一些規(guī)則對網(wǎng)絡設備接口上的數(shù)據(jù)報文進行控制,ACL 由一系列的表項組成,稱之為訪問控制列表表項(Access Control Entry:ACE),每個接入控制列表表項都申明了滿足該表項的匹配條件及行為(動作策略)。

有些應用可以顯式關聯(lián)各種類型的ACL(IP標準ACL、IP擴展ACL、專家擴展ACL等),如:安全ACL、安全通道、QOS等,這時候可以修改各ACL中的ACE,過濾各種指定的流;有些應用則由軟件自動創(chuàng)建ACL,這種應用下無法直接操作ACL中ACE,由軟件自動進行添加刪除操作。

1. 只要是符合某條ACE,就按照該ACE定義的動作策略處理報文(Permit、Deny、Copy_To_Cpu等),ACL 的ACE根據(jù)以太網(wǎng)報文的某些字段來標識以太網(wǎng)報文,這些字段包括:

二層字段(Layer 2 Fields):

48 位的源MAC 地址(必須申明所有48 位)

48 位的目的MAC 地址(必須申明所有48 位)

16 位的二層類型字段

  三層字段(Layer 3 Fields):
  源IP 地址字段
  目的IP 地址字段
  協(xié)議類型字段
  四層字段(Layer 4 Fields):
  可以申明一個TCP 的源端口、目的端口或者都申明
  可以申明一個UDP 的源端口、目的端口或者都申明
  2. 過濾域,指的就是在生成一條ACE 時,根據(jù)報文中的哪些字段用以對報文進行識別、分類;
  3. 過濾域模板,就是這些字段組合的定義,對應于字段解析器中預先設置到的匹配域,比如,在生成某一條ACE時希望根據(jù)報文的目的IP 字段對報文進行識別、分類,而在生成另一條ACE 時,希望根據(jù)的是報文的源IP 地址字段和UDP 的源端口字段,這樣,這兩條ACE 就使用了不同的過濾域模板。
  4. 規(guī)則(Rules),指的是ACE 過濾域模板對應的值,對應于查找匹配引擎中預先申明的匹配規(guī)則。
  5. 行為(Action),指的是ACE中指定的動作,對應于動作策略引擎中預先申明的動作策略。
  6. 比如有一條ACE 內(nèi)容如下:
  permit tcp host 192.168.12.2 any eq telnet
  在這條ACE 中,匹配域為以下字段的集合:源IP地址字段、IP 協(xié)議字段、目的TCP 端口字段;
  匹配規(guī)則為:源IP 地址=Host 192.168.12.2;IP 協(xié)議=TCP;TCP 目的端口= Telnet;
  動作策略為:允許通過(permit),即do_not_drop。
  在實現(xiàn)上,為每個應用創(chuàng)建一個或者多個ACL并關聯(lián),然后根據(jù)各種應用的優(yōu)先級,將各應用關聯(lián)的ACL按照硬件表項的優(yōu)先級關系設置硬件,從而達到高優(yōu)先級表項優(yōu)先生效的目的。
  在不同產(chǎn)品上,支持的過濾域模板數(shù)量存在較大差異,實現(xiàn)原理及含義也不近一樣。
  默認行為
  在目前已經(jīng)實現(xiàn)的各種FFP相關應用中,有些應用存在默認的行為,隱含“拒絕所有數(shù)據(jù)流”規(guī)則表項,目的是為了將不匹配的非法報文全部丟棄,對于這些存在默認行為的應用,存在默認添加的表項,占用了一定數(shù)量的硬件表項。
  同時,在起機后空配置的情況下,會有一些CPP及信任模式的默認表項,這些隱含的表項也占用了一定數(shù)量的硬件表項,但是在統(tǒng)計硬件容量的過程中,又容易被忽略。
  優(yōu)先級沖突處理
  應用優(yōu)先級是指多種應用同時存在時,根據(jù)應用的優(yōu)先級關系,將高優(yōu)先級應用的ACE裝在高優(yōu)先級的硬件表項上,以保證高優(yōu)先級的應用先生效,只有高優(yōu)先級的應用沒有表項匹配時,低優(yōu)先級應用的表項才能生效。
  某些應用由于隱含“拒絕所有數(shù)據(jù)流”規(guī)則,會存在一條deny any的表項,這導致在同一個端口下多種應用同時打開時產(chǎn)生優(yōu)先級沖突,低優(yōu)先級的應用表項完全不生效,例如:當一個端口同時打開DOT1X IP授權(quán)綁定、DHCP SNP綁定,這時候由于DOT1X IP授權(quán)綁定默認會添加一個denyip any的表項,導致而DHCP SNP綁定的所有表項不生效,因此,我們判斷一個端口的某個應用配置是否生效是,需要考慮兩個方面:
  1. 端口下是否存在高優(yōu)先級應用被匹配,或者存在影響這個端口的高優(yōu)先級全局應用被匹配;
  2. 端口下是否存在隱含“拒絕所有數(shù)據(jù)流”規(guī)則的高優(yōu)先級應用。
  3. 對于不同端口下的多種應用,則不存在優(yōu)先級沖突。在交換機上嵌入各種功能強大FFP引擎后,使得交換機能夠提供強大的數(shù)據(jù)流過濾功能,能很方便根據(jù)網(wǎng)絡具體情況進行安全部署,對數(shù)據(jù)流進行控制,提高交換機在安全接入、匯聚等各方面的性能,在發(fā)展迅速的網(wǎng)絡市場中將得到廣泛應用。

 
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。