본문 바로가기

네트워크/BGP

BGP attribute

BGP Path attribute

 path attribute foramt

BGP Path attribute format

 BGP Path attribute는 위의 그림과 같이 Length, type, value로 형식으로 만들어짐

 Path attribute Tpye에서 앞의 8bit는 그림과 같이 attribute flags로 구분되고 뒤의 8에서 16bit는 type code로 구분됨

 

attribute flags     

   - 영번째 bit가 optional bit이고 해당 bit가 0 이면 wellknown attribute

   - 첫번째 bit가 trasitive Bit이고 해당 bit가 1 이면 attribute type code가 알수없는 code를 가진경우

                           해당 type code를 무시하고 Peer로 전송함( wellknown attribute의 경우 trasitive bit는 항상 1임)

   - 두번째 bit가 partial bit이고 해당 bit가 1이면 해당 AS내에 특정 attribute type code를

                           인식할수 없는 node가 있는 경우로 볼수 있음

   - 세번째 bit는 extended length bit이며 attribute flags를 확장 시킬때 사용함

   - 네번째 에서 일곱번째 bit는 사용하지 않음

 

attribute type code

 wellknown

  모든 Wellkown attribute는 다른 노드에게 전파 되어야 한다 Discretionary attribute 중 local preferance는 eBGP로 

  업데이트 될때 삭제 된다.

    - mandatory attribute 모든 update message에 포함 되어야 하는 정보로 Origine code, AS path, Next hop 이 있음

    - Discretionary attribute 모든 BGP node가 알고있고 필요 없으면 안써도 되는 정보

      (사용하면 있고 사용 안하면 없는)

  optionl attribute 

    - Trasitive  알고있는 attribute라면 인접 peer로 전달 모르는 attribute라면 partial bit를 1로 셋팅 후 인접 peer로 전달

    - non trasitive attribute type code에 모르는 값이 있다면 해당 값을 discard 후 인접 peer로 전달

 

wellknown attribute - madatory attribute 

    type code 1 origine code 

        - IGP (code 1), EGP (code 2), incomplete (code 3)

        최초에 BGP의 라우팅 테이블에 어떠한 형태로 등록 되었는가?

    type code 2 as-path 

       - as-set 이 1이면 AS path가 순서에 상관없이  as-path를 만드는 경우

          (필터에 사용되는 경우

       - as-sequence 가 2이면 AS path가 데이터가 지나온 AS의 순서대로 as-path를 만든다

          (디폴트)

       최초의 internal as에서는 null로 존재 하지만 eBGP를 통해 다른 AS로 광고 될경우  AS-path를 남기는 attribute

          (짧은 쪽이 우선)

    type code 3 next-hop

        Next-hop이라는 type code가 존재 하는 이유는 최적의 라우팅을 위해 내가 업데이트 한 네트워크 이지만

        내가 최적의 Next-hop이 아닐수도 있기 때문에 Next-hop이라는 type code가 존재함

        최초로 네트워크가 광고 되는 경우 Next-hop이 0.0.0.0 에서 자신의 인접한 peer의 IP로 셋팅되며 그 이후 부터는

       iBGP로 광고되는 경우 Next-hop은 변경 되지 않음

 

wellknown attribute - descretionary

   type code 5 local preferance

        default local preferance = 100

        외부에서 특정 정보를 여러 경로로 받을때 특정 경로에 우선순위를 주기 위해 사용 eBGP로 Update 될때 삭제 됨

        inbound traffic outbound traffic 모두 설정 가능 하지만 inbound traffic에 적용 하길 권고 함

        하나의 AS 에서 같은 Network를 광고 할때 node 마다 상이하게 설정 하지 않을 것을 권고 함

        wait 값 보다 우선 순위가 낮음

 

   type code 6 atomic aggregate

       Summary와는 다른 속성을 가짐 Summary는 축약으로 축약 된 네트워크는 삭제 되지만 atomic aggregate는 

       통합으로 하나의 Network를 생성하는 것이기 때문에 통합된 Network는 삭제되지 않음

       bgp는 igp처럼 모든 회사가 동일 할 것이라고 생각 해서는 안됨 bgp는 일반적으로 모든 회사가

       정책이 다르다는 것이서 생각해야 함 Atomic aggregate를 사용 함으로서 정책적으로 특정 Network를 받지 않는 

       AS에 대해 광고를 받는 Network로 변경하기 위해 주로 사용함

 

  optional attribute - non trasitive 

    type code 4 MED = (cisco metric)

       IGP의 네트워크를 BGP로 import 할때 IGP의 metric 값을 BGP로 그대로 가지고 오는 값

       local AS에서 전달한 네트워크 만 MED 값을 전달 하도록 만듬

       A라는 AS에서 전파된 MED는 B라는 AS를 거처 C라는 AS로 전달될때 삭제됨(AS-path가 null일때만 MED값을 전달)

       서로 다른 AS 에서 받은 MED값은 비교 하지 않음 

 

optional attribute - trasitive

  type code 7 aggregator

      Atomic aggregate와는 다른 attribute, 

      처음부터 광고된 Network 냐? 아니면 중간에 Aggregate 된 Network냐?를 구분하기 위한 attribute

      어느 AS에서 aggregate된 Network 인지 식별하기 위한 attribute

 

  type code 8 community

      standard community 

           Network 에다가 특정 Tag를 붙여 식별하기 위한 Attribute

           Tag가 가지는 의미는 없고 정책으로 의미를 만들어 줘야 하는 attribute

      extended community

           Tag 자체가 의미를 가지는 attribute

 

BGP가 처음 만들어 젔을때 생성된 attribute type code는 위와 같이 8개가 전부임 

이후에 계속 추가되는 attribute는 대부분 community 값이며 standard와 extended가 골고루 추가 되고 있음

너무 많은 값이 추가 되었기에 모든 attribute를 섭렵한다는 건 사실상 불가능 한 이야기

 

위의 8개만 모두 숙지해도 BGP 운영에 있어 큰 무리는 없을 것으로 생각됨

 

'네트워크 > BGP' 카테고리의 다른 글

ROUTE-MAP  (0) 2021.10.31
BGP Bestpath  (0) 2021.10.22
BGP message & attribute  (0) 2021.10.08
BGP FSM  (0) 2021.10.08
BGP overview  (0) 2021.09.28