BGP Flowspec的解释

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

posted @ 2022-03-02 21:28  剪刀石头布Cheers  阅读(1266)  评论(0编辑  收藏  举报