BGP 커뮤니티, 확장 커뮤니티 및 대규모 커뮤니티를 라우팅 정책 일치 조건으로 이해
BGP 커뮤니티는 공통 속성을 공유하는 대상 그룹입니다. 커뮤니티 정보는 BGP 업데이트 메시지에 경로 속성으로 포함됩니다. 이 정보는 커뮤니티 구성원을 식별하고 각 구성원에 대해 자세히 설명할 필요 없이 그룹에서 작업을 수행할 수 있도록 합니다. 커뮤니티 및 확장된 커뮤니티 속성을 사용하여 수락, 거부, 선호 또는 재배포와 같은 라우팅 결정을 트리거할 수 있습니다.
구성(정적, 집계 또는 생성된 경로의 경우) 또는 가져오기 라우팅 정책을 통해 비 BGP 경로에 커뮤니티 태그를 할당할 수 있습니다. 그런 다음 BGP가 경로를 내보낼 때 이러한 태그를 일치시킬 수 있습니다.
커뮤니티 값은 두 개의 주요 섹션으로 나뉘는 32비트 필드입니다. 값의 처음 16비트는 커뮤니티를 시작한 네트워크의 AS 번호를 인코딩하고, 마지막 16비트는 AS에서 할당한 고유 번호를 전달합니다. 이 시스템은 인터넷의 각 AS에 대해 전역적으로 고유한 커뮤니티 값 집합을 보장하려고 시도합니다. Junos OS는 의 표기법 as-number:community-value
을 사용하며, 여기서 각 값은 십진수입니다. 0 및 65,535의 AS 값은 예약되어 있으며, 해당 AS 번호 내의 모든 커뮤니티 값도 예약되어 있습니다. 각 커뮤니티 또는 커뮤니티 집합에는 구성 계층 내에서 [edit policy-options]
이름이 지정됩니다. 커뮤니티의 이름은 라우팅 디바이스에 커뮤니티를 고유하게 식별하고 경로를 분류하는 방법으로 사용됩니다. 예를 들어 커뮤니티 값이 64510:1111인 경로는 라는 커뮤니티 AS64510-routes
에 속할 수 있습니다. 커뮤니티 이름은 라우팅 정책 내에서 일치 기준 또는 작업으로 사용되기도 합니다. 커뮤니티를 만들기 위한 명령 구문은 다음과 같습니다. 정책 옵션 community name members [community-ids]
. community-ids
는 단일 커뮤니티 가치 또는 여러 커뮤니티 가치입니다. 커뮤니티 이름에 두 개 이상의 값이 할당되면 라우팅 디바이스는 이를 커뮤니티 값의 논리적 AND로 해석합니다. 즉, 경로는 커뮤니티 이름을 할당받기 전에 구성된 모든 값을 가져야 합니다.
일반 커뮤니티 속성은 4개의 옥텟입니다. VPN과 같은 네트워킹 향상 기능에는 커뮤니티와 같은 속성으로 충족할 수 있는 기능 요구 사항이 있습니다. 그러나 4-옥텟 커뮤니티 값은 VPN 요구 사항을 수용할 만큼 충분한 확장과 유연성을 제공하지 않습니다. 이것은 확장된 커뮤니티의 창출로 이어집니다. 확장 커뮤니티는 두 개의 주요 섹션으로 나뉘는 8옥텟 값입니다. 커뮤니티의 처음 2개 옥텟은 유형 필드를 인코딩하고 마지막 6개 옥텟은 유형 필드에서 정의한 형식으로 고유한 데이터 세트를 전달합니다. 확장된 커뮤니티는 커뮤니티를 그룹화하거나 분류할 수 있는 더 넓은 범위를 제공합니다.
BGP 확장 커뮤니티 속성 형식에는 세 가지 필드가 있습니다. type:administrator:assigned-number
. 라우팅 디바이스는 단어 target
또는 origin
유형 필드를 나타낼 것으로 예상합니다. 관리자 필드는 AS 또는 IPv4 주소에 10진수를 사용하는 반면, 할당된 번호 필드에는 필드 크기(2옥텟의 경우 65,535, 4옥텟의 경우 4,294,967,295)보다 크지 않은 십진수가 필요합니다.
표준 및 확장 커뮤니티 속성에 대한 커뮤니티 ID를 지정할 때 UNIX 스타일 정규 표현식을 사용할 수 있습니다. 유일한 예외는 확장 커뮤니티 속성에 대한 정규식을 지원하지 않는 VPN 가져오기 정책(vrf-import
)입니다.
일반 BGP 커뮤니티 속성은 16비트 값으로 분할된 하나 이상의 4바이트 값 집합으로 구성된 가변 길이 속성입니다. 최상위 단어는 AS 번호로 해석되며, 최하위 단어는 AS 운영자가 할당한 로컬 정의 값입니다. 4바이트 ASN을 채택한 이후 4바이트 BGP 일반 커뮤니티 및 6바이트 BGP 확장 커뮤니티는 더 이상 BGP 커뮤니티 속성을 지원할 수 없습니다. 운영자는 BGP 커뮤니티의 로컬 부분에 AS 번호를 인코딩하는 경우가 많으며, 이는 때때로 커뮤니티 형식이 ASN:ASN임을 의미합니다. 4바이트 ASN을 사용하면 인코딩하려면 8바이트가 필요합니다. BGP 확장 커뮤니티에서는 4바이트 AS를 전역 관리자 필드로 인코딩할 수 있지만 로컬 관리자 필드에는 2바이트의 사용 가능한 공간만 있습니다. 따라서 6바이트 확장 커뮤니티 속성도 적합하지 않습니다. 이를 극복하기 위해 Junos OS는 전역 관리자로서 자치 시스템 번호를 인코딩하기 위해 가장 중요한 4바이트 값을 제공하는 12바이트 BGP 대규모 커뮤니티와 RFC 8092에 정의된 로컬 값을 인코딩하기 위해 나머지 2개의 4바이트 할당 번호를 제공하는 선택적 전이적 경로 속성을 구성할 수 있도록 허용합니다. 및 [edit routing-options static route ip-address community]
계층 수준에서 BGP 대규모 커뮤니티를 [edit policy-options community community-name members]
구성할 수 있습니다. BGP 대규모 커뮤니티 속성 형식에는 4개의 필드가 있습니다. large
:global administrator:assigned number:assigned number
.
BGP IPv6 유니캐스트 주소별 확장 커뮤니티는 20바이트 값 집합으로 인코딩됩니다. 20바이트 값은 다음 형식으로 해석됩니다.
-
최상위 2바이트는 유형 및 하위 유형 값(높은 값(최상위 바이트) 및 낮은 값(두 번째로 중요한 바이트))을 인코딩합니다.
-
다음 16바이트는 IPv6 유니캐스트 주소를 인코딩합니다. IETF RFC의 전역 관리자입니다.
-
마지막 2바이트는 운영자가 정의한 로컬 값을 인코딩합니다. IETF RFC의 로컬 관리자입니다.
IPv6 유니캐스트 주소별 BGP 확장 커뮤니티 속성은 키워드 ipv6-target
, ipv6-origin
, 또는 ipv6-extended
IPv6 및 로컬 관리자가 <, > 및 :로 구분되어 뒤에 표시됩니다.
BGP 대규모 커뮤니티 속성 값의 길이는 0이 아닌 12의 배수여야 합니다.