Date created: Friday, May 10, 2024 5:50:08 PM. Last modified: Monday, June 10, 2024 12:04:21 PM
BGP Communities
Standard Communities
https://www.rfc-editor.org/rfc/rfc1997#
32-bit (4 byte) payload split into 2x 2-byte values, e.g. as-number:community-value.
Extended Communities
https://www.rfc-editor.org/rfc/rfc4360
64-bit (8 byte) payload split into 2-or-2-byte type + 7-or-6 byte value:
Type Field: Two classes of Type Field are introduced: Regular type and Extended type. The size of Type Field for Regular types is 1 octet, and the size of the Type Field for Extended types is 2 octets. The value of the high-order octet of the Type Field determines if an extended community is a Regular type or an Extended type. The class of a type (Regular or Extended) is not encoded in the structure of the type itself.
https://www.iana.org/assignments/bgp-extended-communities/bgp-extended-communities.xhtml
Example 1:
https://www.rfc-editor.org/rfc/rfc5575#section-7
byte 1 == 0x80 (meaning "BGP Transitive Extended Community")
byte 2 == 0x06 (meaning "Flowspec traffic rate limit action")
Bytes 3-8 == Specific to the application (FlowSpec, e.g. traffic rate limit in Bytes per second)
Example 2:
https://www.rfc-editor.org/rfc/rfc7153.html#page-10
byte 1 == 0x00 (meaning "BGP Transitive Extended Community")
byte 2 == 0x02 (meaning "Route Target")
bytes 3-8 == Specific to the application (L3VPN, e.g. 4 byte ASN + 2 byte VPN ID)
Large Communities
https://www.rfc-editor.org/rfc/rfc8092.html
96-bit (12 byte) payload split into 3x 4-byte values, e.g. local-as:remote-as:community-value.
Previous page: LNS L2TP termination of PPPoE sessions with FreeRADIUS 2
Next page: BGP MED Recap