BGP

agnusdei·2024년 12월 16일
0

Network

목록 보기
124/419

BGP (Border Gateway Protocol)

1. 등장배경

BGP (Border Gateway Protocol)는 1989년에 도입되었습니다. BGP는 인터넷 상에서 자율 시스템(Autonomous System, AS) 간의 라우팅 정보를 교환하는 데 사용되는 프로토콜로, 인터넷 라우팅의 핵심 프로토콜 중 하나입니다. 이전에 사용되던 RIP (Routing Information Protocol)이나 IGP (Interior Gateway Protocol)들은 소규모 네트워크에 적합했지만, 인터넷처럼 큰 네트워크를 연결할 때는 적합하지 않았습니다. 이러한 문제를 해결하기 위해 BGP가 개발되었습니다.

BGP는 자율 시스템 간의 경로 정보를 교환하고, 라우팅 결정을 내리는 데 있어 중요한 역할을 합니다. 인터넷 규모의 라우팅을 지원하기 위해 BGP는 다중 경로(multihoming)정책 기반 라우팅을 도입하여 인터넷 라우팅을 효율적이고 안정적으로 관리할 수 있게 합니다.

2. 목적

BGP의 주요 목적은 자율 시스템 간의 경로 정보 교환을 통해 인터넷 상에서 데이터 패킷이 올바르게 전달될 수 있도록 하는 것입니다.

  • 자율 시스템 간의 경로 정보 교환: BGP는 다른 자율 시스템(AS) 간에 라우팅 정보를 교환하여, 데이터를 올바른 목적지로 전달합니다.
  • 정책 기반 라우팅: BGP는 네트워크 운영자가 트래픽 경로를 정책에 따라 선택할 수 있도록 지원합니다.
  • 인터넷 라우팅 테이블 관리: 인터넷의 모든 라우터는 BGP를 사용하여 인터넷 전체의 라우팅 테이블을 관리합니다.
  • 다중 경로 지원: 하나의 목적지에 대해 여러 경로를 지원하여 트래픽을 분산시키고, 네트워크 안정성을 높입니다.

3. 역할

BGP는 주로 다음과 같은 역할을 합니다:

  • 자율 시스템 간의 라우팅 경로 결정: BGP는 하나의 자율 시스템 내에서 직접적인 라우팅을 처리하는 IGP와 달리, AS 간 라우팅 경로를 결정합니다. 각 AS는 자율적으로 라우팅을 결정할 수 있으며, BGP를 통해 다른 AS와 경로 정보를 교환합니다.
  • 경로 선택: BGP는 여러 경로가 존재하는 경우, 최적의 경로를 선택할 수 있는 정책 기반 라우팅을 제공합니다.
  • 라우팅 테이블 업데이트: BGP는 라우터가 각 AS로부터 받은 경로 정보를 기반으로 라우팅 테이블을 업데이트하며, 라우터가 목적지에 도달할 수 있는 최적 경로를 선택할 수 있도록 합니다.

4. 개념

BGP는 경로 벡터(Path Vector) 라우팅 프로토콜로, 각 자율 시스템(AS)은 경로를 AS 패스(AS path) 형태로 전달합니다. 경로 벡터 방식에서 경로 정보는 AS의 번호를 포함하고 있으며, 이를 통해 데이터는 올바른 경로를 따라 전달됩니다.

  • AS(Autonomous System): 하나의 독립적인 라우팅 영역을 의미합니다. 각 AS는 자체적인 라우팅 정책을 따르며, 인터넷에 연결된 모든 라우터들은 하나 이상의 AS에 속합니다.
  • AS 번호(AS Number): BGP에서 각 자율 시스템을 고유하게 식별하는 번호입니다. AS 번호는 16비트 또는 32비트로 구성되며, 인터넷 상의 모든 자율 시스템은 고유한 번호를 가지고 있습니다.
  • AS path: 경로 정보에는 패킷이 이동할 때 거치는 모든 AS 번호가 포함되어 있습니다. 이는 순차적인 AS 번호 목록을 나타내며, BGP가 라우팅 결정을 내리는 데 중요한 정보입니다.
  • BGP 메시지: BGP는 네 가지 종류의 메시지를 사용하여 라우터 간에 경로 정보를 교환합니다: Open, Update, Notification, Keepalive 메시지.

5. 구성요소

BGP의 주요 구성 요소는 다음과 같습니다:

  • BGP 라우터: BGP 프로토콜을 실행하는 라우터입니다. 각 라우터는 다른 BGP 라우터와 경로 정보를 교환합니다.
  • AS(Autonomous System): 하나의 네트워크 내에서 고유한 라우팅 정책을 따르는 라우팅 영역입니다. 인터넷에 연결된 각 자율 시스템은 고유한 AS 번호를 가지고 있습니다.
  • BGP 피어링(Peer): 두 개의 BGP 라우터가 서로 연결되어 경로 정보를 교환하는 관계를 의미합니다. BGP 피어는 직접 연결되거나 중간에 다른 라우터를 통해 연결될 수 있습니다.
  • 경로 벡터(Path Vector): BGP는 경로 벡터 방식으로 경로 정보를 전달하며, 이를 통해 각 자율 시스템의 경로 정보를 얻고 라우팅 결정을 내립니다.

6. 시간순 작동 순서

BGP의 작동 순서는 다음과 같습니다:

  1. BGP 피어 설정: BGP 라우터는 다른 라우터와의 피어링을 설정하고, BGP 세션을 엽니다. 이를 통해 BGP 라우터는 서로 신뢰할 수 있는 관계를 확립합니다.
  2. 경로 정보 교환: 각 BGP 라우터는 다른 피어로부터 경로 정보를 받습니다. 이 정보는 AS path, 네트워크 주소, 프리픽스 등의 형태로 전달됩니다.
  3. 경로 선택: BGP는 여러 개의 경로가 있을 경우, 정책 기반으로 최적 경로를 선택합니다. 예를 들어, AS path 길이가 짧은 경로가 우선적으로 선택될 수 있습니다.
  4. 라우팅 테이블 업데이트: 최적 경로가 선택되면, BGP 라우터는 해당 경로를 라우팅 테이블에 추가하거나 업데이트합니다. 이를 통해 라우터는 다음 홉(next-hop)을 결정하고, 데이터를 전달합니다.
  5. 경로 업데이트: 네트워크 상태가 변하면, BGP 라우터는 경로 정보를 계속해서 업데이트하고, 필요시 경로를 변경합니다.

7. 종류

BGP에는 여러 가지 유형이 있습니다:

  • eBGP (External BGP): 다른 자율 시스템 간에 경로 정보를 교환하는 BGP입니다. 일반적으로 인터넷과 같은 큰 네트워크에서 사용됩니다.
  • iBGP (Internal BGP): 같은 자율 시스템 내에서 경로 정보를 교환하는 BGP입니다. iBGP는 AS 내의 여러 라우터들이 서로 경로 정보를 교환하는 데 사용됩니다.
  • BGP4: BGP의 네 번째 버전으로, 현재 인터넷에서 널리 사용되고 있는 버전입니다. IPv4 주소를 지원하며, BGP4는 최대 경로 수, 네트워크 크기, 정책 기반 라우팅 등을 지원합니다.

8. 장단점

장점:

  • 확장성: BGP는 인터넷과 같은 대규모 네트워크에서 효율적으로 라우팅을 처리할 수 있습니다.
  • 정책 기반 라우팅: 운영자는 트래픽 경로를 정책에 따라 유연하게 설정할 수 있습니다.
  • 다중 경로 지원: 여러 경로를 통해 트래픽을 분산시킬 수 있어, 네트워크의 성능과 안정성을 향상시킵니다.
  • 자율 시스템 간의 라우팅: BGP는 자율 시스템 간의 경로 정보를 교환하므로, 분산형 네트워크에서 경로 정보를 효율적으로 관리할 수 있습니다.

단점:

  • 구성 및 관리 복잡성: BGP는 설정이 복잡하고, 대규모 네트워크에서 관리가 어려울 수 있습니다.
  • 수동적인 경로 선택: BGP는 라우팅 결정을 내릴 때 주로 최소 비용이나 최단 경로보다는 정책 기반으로 선택하므로, 때로는 최적 경로를 선택하지 않을 수 있습니다.
  • 라우팅 테이블 크기: 인터넷의 라우팅 테이블 크기가 급격히 증가할 수 있어, 이를 관리하기 위한 자원이 많이 필요합니다.

9. 전망 & 개선점

BGP는 현재 인터넷의 핵심 라우팅 프로토콜로서 중요한 역할을 하고 있습니다. 그러나 인터넷 규모의 확장에 따라 BGP의 성능과 효율성에 대한 개선이 필요합니다. 라우팅 테이블의 크기 문제, 경로 전파 시간 지연, 보안 취약점 등을 해결하기 위한 연구가 계속 진행되고 있습니다.

  • 보안 강화: BGP는 보안 취약점이 존재합니다. 특히 BGP 하이재킹(BGP hijacking) 등의 공격이 발생할 수 있어, 이를 막기 위한 BGP 세션 보호인증 메커니즘 도입이 필요합니다.
  • 라우팅 최적화: 더 효율적인 라우팅 알고리즘 및 프로토콜 개선이 필요합니다. 예를 들어, 소프트웨어 정의 네트워킹(SDN)과 결합하여 라우팅을 더욱 동적으로 처리하는 방향으로의 발전이 기대됩니다.

결론적으로, BGP는 인터넷의 대규모 네트워크에서 중요한 역할을 하며, 향후 더 효율적이고 안전한 라우팅 프로토콜로 발전할 것입니다.

0개의 댓글