업데이트됨 1개월 전
인터넷의 라우팅 아키텍처는 하나의 근본 원칙을 구현합니다: 자율 속의 협력.
네트워크 내부에서 당신은 왕입니다. 토폴로지, 장비, 라우팅 결정 모두 당신이 선택합니다. 다른 누구도 발언권이 없습니다. 네트워크 외부에서 당신은 외교관입니다. 관계를 협상하고, 합의를 존중하며, 다른 네트워크들이 스스로의 선택을 한다는 것을 받아들입니다.
이것은 단순한 조직적 편의가 아닙니다—7만 개 이상의 독립 네트워크가 어느 쪽도 통제권을 포기하지 않으면서 하나의 작동하는 인터넷을 이룰 수 있게 해주는 아키텍처입니다.
두 가지 영역
라우팅 프로토콜은 이 주권의 경계를 따라 명확히 나뉩니다:
**내부 게이트웨이 프로토콜(IGP)**은 네트워크 내부에서 작동합니다. 최적 경로를 찾고, 장애 발생 후 빠르게 수렴하며, 모든 라우터가 공동의 목표를 향해 협력한다고 가정합니다. 신뢰는 암묵적입니다—모든 라우터가 동일한 권한 아래 놓여 있습니다.
**외부 게이트웨이 프로토콜(EGP)**은 네트워크 사이에서 작동합니다. 정책을 구현하고, 비즈니스 관계를 존중하며, 다른 네트워크의 목표에 대해 아무것도 가정하지 않습니다. 신뢰는 협상됩니다—각 네트워크는 자신의 이익을 추구합니다.
이 구분이 존재하는 이유는 문제의 본질이 근본적으로 다르기 때문입니다. 당신이 통제하는 네트워크 안에서 경로를 최적화하는 것은 기술적 과제입니다. 당신이 통제하지 않는 네트워크들 사이에서 조율하는 것은 정치적 과제입니다.
내부 게이트웨이 프로토콜
IGP는 기술적 문제를 해결합니다: 주어진 네트워크 토폴로지에서 각 목적지까지의 최적 경로를 찾는 것입니다.
주요 IGP들은 각기 다른 방식으로 접근합니다:
**OSPF(Open Shortest Path First)**는 네트워크 토폴로지의 완전한 지도를 만듭니다. 모든 라우터가 전체 그림을 파악하고 독립적으로 최단 경로를 계산합니다. 라우터들이 경로 결론이 아닌 토폴로지 정보 자체를 공유하기 때문에 변경 사항이 빠르게 전파됩니다.
**IS-IS(Intermediate System to Intermediate System)**는 OSPF와 유사하게 작동합니다—토폴로지 지도를 구축하는 링크 상태 프로토콜입니다. 대형 서비스 제공업체들은 역사적, 운영적 이유로 IS-IS를 선호하는 경우가 많습니다.
**EIGRP(Enhanced Interior Gateway Routing Protocol)**는 하이브리드 방식을 취합니다. 라우터들이 이웃과 경로 정보를 공유하되, 완전한 토폴로지 지도 없이도 빠르게 수렴할 수 있도록 정교한 알고리즘을 사용합니다.
**RIP(Routing Information Protocol)**는 가장 단순한 방식입니다—라우터들이 주기적으로 도달할 수 있는 네트워크와 그 거리를 알립니다. 이해하기는 쉽지만, 변화에 적응하는 속도가 느립니다.
모든 IGP는 공통된 전제를 공유합니다: 라우터들이 협력하고, 목표는 최적 경로이며, 네트워크는 모든 라우터가 모든 목적지를 파악할 수 있을 만큼 충분히 작다는 것입니다.
외부 게이트웨이 프로토콜
네트워크 사이에는 오직 하나의 프로토콜만이 중요합니다: BGP(Border Gateway Protocol).
BGP는 최적 경로를 찾지 않습니다. 받아들일 수 있는 경로를 찾습니다—비즈니스 관계, 정책 요구 사항, 그리고 관련된 모든 네트워크의 주권을 존중하는 경로를.
당신의 경계 라우터가 다른 네트워크의 경계 라우터와 피어링할 때, 그들은 경로를 교환합니다. 그런데 IGP와 달리, 이 교환은 정책에 의해 지배됩니다:
- 이 피어에서 어떤 경로를 수락할 것인가?
- 이 피어에게 어떤 경로를 광고할 것인가?
- 여러 경로가 존재할 때 어느 것을 선호할 것인가?
이것은 기술적 질문이 아닙니다. 비즈니스 질문입니다. 트래픽을 무료로 교환하는 피어를 통한 경로보다 전송 비용을 지불한 피어를 통한 경로를 선호할 수 있습니다. 특정 피어에게 특정 경로를 광고하기를 거부할 수도 있습니다. 더 저렴하다는 이유로 더 긴 경로를 수락할 수도 있습니다.
BGP는 메커니즘을 제공합니다. 정책이 결정을 내립니다.
함께 작동하는 방식
뉴욕에서 도쿄로 이동하는 패킷을 생각해 봅시다.
뉴욕 ISP 내부에서는 IGP(아마도 OSPF)가 내부 인프라를 통해 패킷을 라우팅합니다. OSPF는 경계 라우터까지 가장 빠른 내부 경로를 찾습니다—단일 제어 도메인 안에서 이루어지는 순수한 기술적 최적화입니다.
경계에서는 BGP가 담당합니다. 경계 라우터는 여러 피어 네트워크를 통해 도쿄까지 가는 다양한 경로를 알고 있습니다. BGP의 질문은 "어떤 경로가 가장 빠른가?"가 아니라 "우리의 비즈니스 관계와 정책을 고려할 때 어떤 경로가 바람직한가?"입니다. ISP는 더 적은 홉을 가진 경로가 있더라도, 유리한 조건을 협상한 파트너를 통한 경로를 선택할 수 있습니다.
패킷은 다른 네트워크로 넘어갑니다. 그 네트워크의 IGP가 내부 라우팅을 담당합니다. 경계에서 그들의 BGP가 또 다른 정책 결정을 내립니다. 이 과정은 패킷이 도쿄 ISP에 도달할 때까지 여러 네트워크에 걸쳐 반복됩니다.
도쿄 ISP 내부에서는 그들의 IGP(아마도 IS-IS)가 마지막 구간을 맡습니다—목적지 서버까지 내부 인프라를 통해 라우팅합니다.
패킷은 여러 왕국을 통과했습니다. 각 왕국은 내부적으로 자체 IGP를 사용하고 경계에서 BGP를 사용했습니다. 어떤 왕국도 다른 왕국에게 내부 라우팅 방식을 지시하지 않았습니다. 그들은 오직 어떤 트래픽을 수락하고 다음에 어디로 보낼지만 협상했습니다.
iBGP: 꼭 필요한 복잡함
대형 네트워크는 종종 서로 다른 외부 피어에 연결하는 여러 경계 라우터를 갖습니다. 여기서 문제가 생깁니다: 경계 라우터 A는 한 피어에서 경로를 배우고, 경계 라우터 B는 다른 피어에서 배우지만, 좋은 결정을 내리려면 둘 다 모든 외부 경로를 알고 있어야 합니다.
해결책은 iBGP입니다—동일한 네트워크 내 라우터들 사이의 BGP 세션. 이것은 IGP가 아닙니다; 내부 인프라를 통해 외부 라우팅 정보를 나르는 BGP입니다.
네트워크는 여전히 내부 라우터들 사이에서 라우팅하기 위해 OSPF 같은 IGP를 실행합니다. iBGP는 그 위에서 동작하면서, 모든 경계 라우터가 각자 배운 외부 경로를 서로 공유하게 합니다.
처음에는 헷갈릴 수 있지만, iBGP가 실제로 무엇을 나르는지 이해하고 나면 명확해집니다: 내부 경로가 아니라(그것은 IGP의 몫입니다), 여러 경계 지점에서 알려져야 하는 외부 경로입니다.
이 아키텍처가 작동하는 이유
IGP/EGP의 분리는 프로토콜 설계를 조직의 현실과 맞아떨어지게 하기 때문에 효과적입니다.
IGP는 단일 신뢰 도메인 안에서 작동하기 때문에 적극적으로 최적화할 수 있습니다. 모든 라우터는 동일한 목표를 공유합니다: 패킷을 효율적으로 전달하는 것. 이해 충돌도 없고, 비즈니스 협상도 없으며, 정책이라고 해봐야 "최적 경로 찾기"가 전부입니다.
BGP는 전 세계적인 최적화를 추구하지 않기 때문에 전 세계적으로 확장할 수 있습니다. 각 네트워크는 자체 정책에 기반한 로컬 결정을 내립니다. 인터넷에는 최적의 전 세계 경로를 결정하는 단일 주체가 필요하지 않습니다—독립 네트워크들이 통제권을 유지하면서 협력하기 위한 메커니즘이 필요할 뿐입니다.
이것이 인터넷이 중앙 권한 없이도 작동하는 이유입니다. 이 아키텍처는 주권을 전제로 하고, 협력을 위한 메커니즘을 제공하며, 수천 개의 독립적인 결정이 모여 전 세계적 연결성을 만들어 냅니다.
내부 vs. 외부 게이트웨이 프로토콜에 관한 자주 묻는 질문
IGP 대신 BGP를 네트워크 내부에서 사용할 수 있나요?
할 수는 있지만, 권장하지 않습니다. BGP는 최적화가 아닌 정책을 위해 설계되었습니다. IGP에 비해 수렴이 느리고 광범위한 설정이 필요합니다. 일부 매우 큰 네트워크는 특정 이유로 내부적으로 BGP를 사용하지만, 그런 경우에도 보통 그 아래에서 IGP를 함께 실행합니다. 목적에 맞는 도구를 쓰는 것이 답입니다.
IGP는 여러 개인데 EGP는 왜 하나뿐인가요?
IGP는 시장에서 경쟁합니다—조직들은 기능, 벤더 지원, 운영 선호도에 따라 선택합니다. EGP는 보편적인 합의가 필요합니다—모든 네트워크가 경계에서 동일한 언어를 써야 합니다. BGP는 수십 년 전에 그 자리를 차지했고, 네트워크 효과 때문에 사실상 다른 프로토콜로 갈아타는 것은 불가능에 가깝습니다. 인터넷의 외부 라우팅은 BGP입니다; 그 외의 것들은 역사 속에 남은 흥밋거리일 뿐입니다.
두 네트워크 사이에서 BGP가 실패하면 어떻게 되나요?
그 두 네트워크 사이의 트래픽이 직접 흐르지 않게 됩니다. 다른 네트워크를 통한 대안 경로가 있다면, BGP가 결국 그것들을 찾아낼 것입니다. 대안이 없다면, 두 네트워크는 서로 도달 불가능해집니다. 이것이 대형 네트워크가 여러 BGP 피어링 관계를 유지하는 이유입니다—이중화는 단순히 링크 장애에 대한 대비가 아니라 관계 장애에 대한 대비이기도 합니다.
IGP와 BGP 라우팅 결정은 어떻게 상호작용하나요?
BGP는 다음 홉에 도달 가능한지, 어떻게 거기에 도달할지 파악하기 위해 IGP 정보를 활용합니다. BGP가 "이 트래픽을 라우터 X로 보내라"고 결정하면, IGP가 내부 인프라를 통해 실제로 라우터 X에 어떻게 도달할지 결정합니다. 두 프로토콜은 서로 다른 계층에서 작동합니다: BGP는 트래픽이 어디로 가야 하는지 결정하고, IGP는 내부적으로 어떻게 거기에 도달할지 결정합니다.
이 페이지가 도움이 되었나요?