RFC 4271 AS_PATH Attribute 정의

AS_PATH is a well-known mandatory attribute. This attribute identifies the autonomous systems through which routing information carried in this UPDATE message has passed. The components of this list can be AS_SETs or AS_SEQUENCEs

  AS_PATH Attribute는 ORIGIN Attribute와 마찬가지로 ‘Well-known mandatory attribute’이다.

  AS_PATH Attribute는 내용이 많기 때문에 여러번 나누어서 글을 작성할 것이다.

  그럼, 먼저 AS(Autonomous System)가 무엇인지 확인해 보자. AS는 ‘단일 관리자 집단에서 관리할 수 있는 Network 영역’을 의미하며, 일반적으로 BGP를 이용하여 Internet을 사용하는 회사는 하나의 AS를 가진다. 그리고, AS는 연결구조에 따라 다음과 같이 종류가 나누어 진다.

구 분 설 명
Stub AS 한 개의 다른 AS와 연결되어 있는 AS

  • 단일 회선으로 연결되어 있는 구조를 Single-Homed 방식이라 함
  • 두개 이상의 회선으로 연결되어 있는 구조를 Dual-Homed 방식이라 함

Stub AS는 Local Traffic 만 외부로 전송할 수 있음

Multihomed AS 두 개 이상의 다른 AS와 연결되어 있는 AS

  • 단일 회선으로 연결되어 있는 구조를 Multi-Homed 방식이라 함
  • 두개 이상의 회선으로 연결되어 있는 구조를 Dual-Multi-Homed 방식이라 함

Multihomed AS는 Local Traffic 만 외부로 전송할 수 있음

Transit AS 두 개 이상의 다른 AS와 연결되어 서로 다른 AS간에 통신할 수 있도록 하는 AS로 일반적으로 ISP(Internet Service Provider)의 AS를 의미함

  AS_PATH Attribute 내에는 해당 Network가 Update되면서 거쳐갔던 AS 정보들이 저장되어 있다. AS_PATH Attribute 내에 AS 정보는 EBGP로 Update 되는 경우만 추가되며 IBGP로 Update 되는 경우는 AS가 추가되지 않는다.

  다음 Topology에서 R1이 Network ‘A’를 BGP로 광고 하였다고 가정해 보자.

  R1이 R2에게 Update Packet을 전달할 때는 IBGP이기 때문에 AS 정보가 AS_PATH Attribute 내에 추가되지 않는다. 그런데, AS_PATH는 모든 Update Packet에 반드시 존재하야 하는 ‘Well-known mandatory attribute’이기 때문에 Update Packet 내에 Field가 존재하여야 한다. 그래서, 이런 경우는 AS_PATH Attribute 내에 Data가 비어 있는 empty 상태로 전달한다.

R2에서 Network A의 AS_PATH Attribute = [ ]

  다음으로 R2가 R3에게 Update Packet을 전달할 때는 EBGP이기 때문에 자신의 AS 정보를 AS_PATH Attribute에 추가하게 된다.

R3에서 Network A의 AS_PATH Attribute = [1]

다음으로 R3이 R4에게 Update Packet을 전달할 때는 IBGP이기 때문에 AS 정보가 AS_PATH Attribute 내에 추가되지 않는다.

R4에서 Network A의 AS_PATH Attribute = [1]

  다음으로 R4가 R5에게 Update Packet을 전달할 때는 EBGP이기 때문에 자신의 AS 정보를 AS_PATH Attribute에 추가하게 된다.

R5에서 Network A의 AS_PATH Attribute = [2] [1]

  마지막으로 R5에서 R6에게 Update Packet을 전달할 때도 IBGP이기 때문에 AS 정보가 추가되지 않는다.

R6에서 Network A의 AS_PATH Attribute = [2] [1]

  이처럼 Network이 인터넷 상에서 어떤 AS들을 거쳐서 유입된 정보인지를 알 수 있도록 해 주는 것이 AS_PATH Attribute이다. 이 정보를 기반으로 Routing Update Loop도 차단하고, 정책도 수립하고, bestpath도 찾는다. 이 부분은 뒤에서 하나씩 다루기로 하자.

  마지막으로 AS_PATH Attribute가 가지고 있는 Segment에 대해 알아보자. AS_PATH Attribute는 크게 ‘AS_SET’, ‘AS_SEQUENCE’로 구분되고, BGP Confederation 기술을 지원하는 경우 다시 ‘Normal’과 ‘Confederation’으로 구분된다.

Segment 설 명
AS_SET 여러 Network를 Aggregate하였을 때, 어떤 Real AS에서 유입된 Network를 Aggregate한 것인지를 비순차적으로 기록함
AS_SEQUENCE 지나온 Real AS 경로가 순차적으로 기록됨
AS_CONFED_SET 여러 Network를 Aggregate하였을 때, 어떤 Confederation AS에서 유입된 Network를 Aggregate한 것인지를 비순차적으로 기록함
AS_CONFED_SEQUENCE 지나온 Confederation AS 경로가 순차적으로 기록됨

  Aggregate, Confederation 등 학습하지 않은 내용들이 있어 다소 생소할 수는 있으나, 추후에 학습할 때 필요한 용어이니 잘 기억해 두기 바란다.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.