BGP Flowspec 的快速解釋
BGP Flowspec 允許您在 BGP UPDATE 消息中發送條件和操作。
條件
條件在 RFC4760 中定義的 MP_REACH_NLRI 或 MP_UNREACH_NLRI 中進行了描述。
使用的 AFI 和 SAFI 如下。
AFI:1
SAFI:133
http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml
如果不使用 NextHop,則長度應爲 0。
+---------------------------------------------------------+ | Address Family Identifier (2 octets) | +---------------------------------------------------------+ | Subsequent Address Family Identifier (1 octet) | +---------------------------------------------------------+ | Length of Next Hop Network Address (1 octet) | +---------------------------------------------------------+ | Network Address of Next Hop (variable) | +---------------------------------------------------------+ | Reserved (1 octet) | +---------------------------------------------------------+ | Network Layer Reachability Information (variable) | +---------------------------------------------------------+
+---------------------------------------------------------+ | Address Family Identifier (2 octets) | +---------------------------------------------------------+ | Subsequent Address Family Identifier (1 octet) | +---------------------------------------------------------+ | Withdrawn Routes (variable) | +---------------------------------------------------------+
可指定爲條件的內容如下。
- 類型 1 - 目標前綴
- 類型 2 - 源前綴
- 類型 3 - IP 協議
- 類型 4 - 端口
- 類型 5 - 目標端口
- 類型 6 - 源端口
- 類型 7 - ICMP 類型
- 類型 8 - ICMP 代碼
- 類型 9 - TCP 標誌
- 類型 10 - 數據包長度
- 類型 11 - DSCP(Diffserv 代碼點)
- 類型 12 - 碎片
* Type3是IP包中協議類型的值,
對於Type3-Type12,也可以使用不等號等比較運算符。
也可以使用多種類型創建條件,在這種情況下,原則上它將是 AND 評估。
如果您創建多個條件,則一個流量可能會匹配多個條件。
在這種情況下,優先匹配號碼類型較年輕的條件。
如果 Type 具有相同的優先級,則按照以下規則給予優先級。
Type1 和 Type2 的最小前綴匹配,其他類型的最長字符串匹配。
行動
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type high | Type low(*) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
類型 0x8006 --traffic-rate
以 4 字節浮點數指定以 Bps 爲單位的流量速率。
如果指定爲 0,則表示流量被丟棄。 -
類型 0x8007 -- traffic-action
終端位和樣本位。
如果設置了終端位,則應用隨後的操作,否則操作到此結束。
如果設置了採樣位,將執行採樣和記錄。 -
鍵入 0x8008 --redirect
流量重定向到 VRF。您可以在一個列表中指定多個 VRF。
但是,它不能重定向到多個 VRF。
它的處理方式與 RFC4360 中的 RT 相同。 -
類型 0x8000 --traffic-marking
IP 數據包的 DSCP 標記(或重新標記)
參考文獻
RFC5575 Dissemination of Flow Specification Rules https://tools.ietf.org/html/rfc5575
RFC4760 Multiprotocol Extensions for BGP-4 https://tools.ietf.org/html/rfc4760
RFC4360 BGP Extended Communities Attribute https://tools.ietf.org/html/rfc4360
https://milestone-of-se.nesuke.com/nw-advanced/mpls-vpn/detail-of-mp-bgp/
http://www.hogetan.net/translate/bgpflowspec-1/bgpflowspec.html