본문 바로가기

23년 2학기 학교공부/컴퓨터네트워크

[CN] Inter-AS 프로토콜 : BGP

목차

    728x90
    반응형
    SMALL
    2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다.

     

     

     

     

    📁 Inter-AS routing과 BGP

     

    Inter-AS routing이란 다른 AS(Autonomous System)들을 연결시켜주는 라우팅 프로토콜로, 대표적인 예시로 서로 다른 AS의 가장자리에 위치하는 border gateway 사이에 메세지를 전달하는 BGP가 있다.

     

    예를 들어 충남대학교와 KT, KT와 SK브로드밴드 사이를 연결하는 기관 사이의 라우팅이다.

     

     

    BGP 프로토콜에는 두 가지 기능이 있다.

    1. eBGP

    서로 다른 AS 상의 Border Gateway들끼리 연결을 담당하는 BGP이다. 외부 라우터로부터 subnet reachability information을 전달받는다.

     

    2. iBGP

    서로 같은 AS 안의 Border Gateway들끼리 연결을 담당하는 BGP이다. AS 내부의 모든 라우터들에게 reachability information을 전달한다.

     

     

    예를 들어 AS1 내부의 파란 선에서 움직이는 BGP 메시지는 모두 iBGP를 사용해서 전달되고 있으며, 빨간 줄에서 움직이는 BGP 메시지는 eBGP를 사용해서 전달되고 있다. 즉 파란줄과 빨간줄이 모두 연결된 라우터는 eBGP와 iBGP를 둘 다 동작시키며, 이런 라우터들을 Gateway router라고 부른다.

     

     

    이렇게 전달된 reachability information에 policy를 함께 고려하여 다른 네트워크로 향하는 좋은 경로를 결정한다.

     

     

     

    reachability information이란, 도달 가능한 정보라고 직역할 수 있다. 메시지를 전송하기 위해 목적지까지의 경로를 알아야하는데, 이때 reachablilty information이 경로가 되어 BGP 메시지로 전달된다.

     

    BGP 메시지는 Path vector 형태로 전달되는데, Path vector란 최종 목적지까지 경로를 vector의 형태로 나타내는 방식의 프로토콜을 말하며 distance vector 라우팅과 대응된다.

     

     

     

    🌱 Path Vector vs. Distance Vector
    • Distance Vector: Distance Vector 프로토콜은 각 라우터가 이웃 라우터에게 주기적으로 경로 정보를 전파합니다. 각 라우터는 자신이 알고 있는 모든 경로와 해당 경로까지의 거리(비용)를 이웃 라우터에게 알려줍니다.
    • Path Vector: Path Vector 프로토콜은 경로에 대한 정보를 벡터(목록) 형태로 전파합니다. 이 벡터는 경로에 대한 세부 정보와 해당 경로를 통해 도달 가능한 네트워크에 대한 정보를 포함합니다.

     

     

     

    예를 들어 1a에서 X로 메세지를 전송하기 위해서는 AS2, AS3, X 순으로 전달되어야한다. 이때 "AS2, AS3, X"가 vector 형식의 BGP Path이다.

     

    AS3의 게이트웨이인 3a는 eBGP를 사용해서, X에 가려면 AS3을 거쳐야한다 라는 의미로 "AS3, X"라는 Path Vector를 AS2의 게이트웨이인 2c에게 advertise한다.

     

    이를 전달받은 2c는 iBGP를 사용해서, Path Vector 메시지 "AS3, X"를 AS2 내부의 모든 라우터들에게 알려준다.

     

    이후 AS2의 게이트웨이인 2a는 eBGP를 사용해서, Path Vector 메시지 "AS2, AS3, X"를 AS1의 게이트웨이인 1c에게 전달한다.

     

    마지막으로 1c가 iBGP를 사용해서, "AS2, AS3, X"를 AS1 내부의 모든 라우터에게 전달하면, 서브넷 1a가 목적지 서브넷인 X까지 메시지를 전송하기 위해서는 "AS2, AS3, X" 순으로 전송해야 한다는 경로를 알게된다.

     

     

     

    위와 같이 BGP 라우터가 반 영구적 TCP 연결을 통해 BGP 메시지를 교환하는 것을 BGP Session이라고 한다.

     

    ❕ Advertising(광고, 알림)이란 라우터나 무선노드 등의 장비에서, 장비들 간 일정주기 혹은 필요시에 정보를 알리는 과정을 말한다.

     

     

     

     

     

    BGP Path의 구성

     

     

    "AS2, AS3, X"와 같이 위에서는 단순하게 나타낸 BGP Path는 실제로 prefix와 attribute로 구성된다.

     

     

    prefix는 advertise되는 목적지의 IP prefix를 말하는데, 서브넷의 공통 prefix로 변환되어 advertise된다.

     

    예를 들어 AS3의 prefix는 내부의 subnet 3a, 3b, 3c의 공통 prefix인 192.30.0.0/22가 된다.

     

     

    attribute는 BGP 속성을 말하며, AS-PATH와 NEXT-HOP 등이 있다.

     

    1) AS-PATH : 내 AS로부터 목적지 서브넷의 prefix까지 가기 위해 거치는 AS들의 리스트

    2) NEXT_HOP : 다음 AS로 가기 위해 거쳐야하는 내부 AS 라우터 주소

     

     

     

    모든 route advertisement는 부분적이 아닌 전체적인 AS 경로를 Path Vector 형태로서 갖고있다.

     

    % telnet route-views.routeviews.org (머임이거)

     

    명령어를 통해 BGP 메세지를 확인할 수 있다.

     

     

     

     

    Policy-Based Routing(정책 기반 라우팅)

    라우터는 보통 라우팅 테이블에 의거해 라우팅 경로를 결정하지만, 정책을 우선하여 라우팅할 수도 있다. 이를 정책 기반 라우팅이라고 한다.

     

    경로 advertisement를 전달받은 gateway는 보통 관리자가 설정한 자신의 정책을 기반으로 루트를 수락할지 거절할지, 다른 AS에게 전달받은 경로를 advertise할지를 결정한다.

     

    BGP가 경로를 선택하는 방법은 아래와 같다.

    1. 큰 weight 값의 경로 2. 큰 local preference value attribute: policy decision 3. shortest AS-PATH 4. closest NEXT-HOP router: hot potato routing 5. MED(multi-exit discriminator) 값이 낮은 경로

     

     

     

     

     

    BGP message

    BGP message란 TCP 연결을 통해 교환된다.

     

    BGP 메세지에는 4가지 종류가 있다.

     

    1. OPEN : peerr들끼리 TCP 연결을 맺고, 인증 과정을 수행한다.

    2. UPDATE : 새로운 경로를 advertise한다.

    3. KEEP-Alive : Update가 부재할 때, 연결이 살아있음을 확인시킨다.

    4. Notification : 에러 report에 주로 쓰이며, 연결을 종료할때 많이 쓰인다.

     

     

     

     

    AS1의 라우터 1d에서 X로 다다르기 위해 OSPF와 BGP가 협력해야한다.

     

    1. AS1의 라우터 1c가 먼저 (AS2, AS3, X)의 정보와 (AS3, X)의 정보를 advertise를 통해 획득한다.

    2. eBGP로 얻은 Path가 여러개인 경우, 비용이 가장 적은 경로를 선택해서 iBGP로 내부에 알려주는 정책에 따라 1c는 (AS3, X)를 택하고, 이를 gateway 라우터인 1d로 iBGP를 통해 전달한다. 이때 1d는 X로 가기 위해 1c를 거쳐야한다는 사실만 알 뿐, iBGP를 통해 1c로 가는 경로는 알지 못한다.

    3. 1d에 OSPF를 통해 저장되어있는 포워딩 테이블에는1c로 패킷이 도착하기 위해서는 next hop의 방향이 1이어야한다는 사실이 저장되어있다. 이때 next hop의 방향은 local link의 상대적 번호이다. 위 그림에서는 1d에서 1c로 향하는 링크가 1번, 1a로 향하는 링크가 2번이다. 따라서 BGP를 통해 얻은 "1d에서 X로 가기 위해서 1c를 거쳐야한다"와 OSPF를 통해 얻은 "1c로 가기 위해서는 next hop의 방향이 1번 interface여야한다" 라는 정보를 합쳐 경로를 찾는다.

     

     

     

     

    BGP와 CIDR

     

     

     

     

     

    더보기

    참고

    https://ddongwon.tistory.com/97

     

    BGP의 개념 (Border Gateway Protocol)

    1. BGP 앞서 AS(Autonomous System) 안에 존재하는 다양한 라우터들끼리 경로를 정하는 프로토콜을 Intra-AS 라우팅 프로토콜이라고 하였고, 대표적인 예로 OSPF를 살펴봤다. 그래서! 이번에는 여러 AS 들을

    ddongwon.tistory.com

    https://www.nowwatersblog.com/cs/%EC%BB%B4%ED%93%A8%ED%84%B0%EB%A7%9D/5.%20Network%20Layer

     

    만렙 개발자 키우기

    개발 경험치를 쌓아가며 성장하는 개발자의 기록 일지입니다.

    www.nowwatersblog.com

    https://team00csduck.tistory.com/149

     

    컴퓨터 네트워크_32_Routing Protocol(BGP)

    이번에는 Inter-AS routing protocol인 BGP에 대해서 알아보고자 한다. BGP란 Border Gateway Protocol의 약자로, 서로 다른 AS들을 연결해주는 protocol이라고 이해할 수 있다. BGP는 크게 2가지로 구성되는데, eBGP와

    team00csduck.tistory.com

    https://blog.skby.net/%EB%9D%BC%EC%9A%B0%ED%8C%85-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-routing-protocol/

     

    라우팅 프로토콜 (Routing Protocol) < 도리의 디지털라이프

    I. 패킷 전달 규약, 라우팅 프로토콜 가. 라우팅 프로토콜의 개념 패킷을 목적지까지 전달하기 위해 라우터 간 통신 방식과 경로를 결정하는 통신 규약(프로토콜) 나. Routed Protocol과 Routing Protocol

    blog.skby.net

    https://be-developer.tistory.com/59

     

    [네트워크] 6. BGP와 OSPF로 forwarding table 만드는 법, Broadcast and multicast routing

    [네트워크] 6. BGP와 OSPF로 forwarding table 만드는 법, Broadcast and multicast routing 1. routing in the internet - BGP(inter as routing protocol) : 서로 다른 AS에서 정보를 교환할 때 사용하는 프로토콜 - OSPF(intra as routing

    be-developer.tistory.com

    https://jja2han.tistory.com/338#2.1.1.2.%20iBGP(internal)

     

    [컴퓨터망]-라우팅 알고리즘

    라우팅 알고리즘을 들어가기 전에 기본 개념을 정리하겠습니다. 라우터는 들어온 패킷들을 전송하는 Forwarding 기능과, 어디로 패킷을 보낼지 결정하는 Routing 기능이 있습니다. Forwarding을 담당하

    jja2han.tistory.com

    https://movefast.tistory.com/56

     

    14. Routing in Internet - 인터넷에서의 라우팅

    ▶ 인터넷에서의 라우팅 - 이전까지 알아본 라우팅 기법은 모두 이상적인 환경을 가정하고 있었는데, 이상적인 환경이란 “모든 라우터가 동일”하며, “하나의 네트워크”임을 의미한다. - 현

    movefast.tistory.com

    https://blog.naver.com/PostView.nhn?blogId=mayooyos&logNo=221030111992&parentCategoryNo=&categoryNo=26&viewDate=&isShowPopularPosts=true&from=search

     

    5.3. routing among the ISPs: BGP

    1. internet inter-AS routing : BGP (1) BGP (Border Gateway Protocol)   : 사실상 인터...

    blog.naver.com

     

    728x90
    반응형
    LIST