BGP란 무엇이며 인터넷이 BGP에 의존하는 이유는 무엇입니까?
게시 됨: 2022-01-292021년 10월 4일 Facebook이 6시간 동안 중단되면서 사람들은 무슨 일이 일어나고 있는지 알아보기 위해 분주하게 움직였습니다. 답의 일부는 BGP(Border Gateway Protocol)라고 하는 인터넷의 필수적인 부분에 있습니다.
어쨌든 BGP가 정확히 무엇입니까?
최근 기사에서 BGP를 설명하는 몇 가지 매우 적절한 은유가 사용되었습니다. 사람들은 이것을 항공 교통 관제사에서 끊임없이 진화하는 인터넷 지도에 이르기까지 모든 것에 비유했습니다. 심지어 "인터넷의 덕트 테이프"라고도 불립니다. 그리고 그들은 괜찮습니다.
BGP는 데이터 요청이 서버에 도달하기 위해 거쳐야 하는 경로를 알려주는 프로토콜입니다. 예를 들어 Facebook에 로그인하거나 앱을 열어 피드를 불러오는 경우 BGP는 Facebook 서버에서 해당 데이터를 검색하는 가장 빠른 경로를 따라 데이터 패킷을 안내합니다.
Cloudflare는 BGP를 "인터넷의 우편 서비스"라고 설명합니다. 요청이 의도한 서버에 도달할 수 있는 가장 빠르고 효율적인 경로를 선택한다는 점입니다. BGP는 데이터가 취할 수 있는 모든 사용 가능한 경로를 살펴본 다음 가장 좋은 경로를 선택합니다.
종종 이는 인터넷 전체를 구성하는 자율 시스템을 통해 데이터를 라우팅하는 것을 의미합니다. BGP는 어떤 시스템이 서로 통신하는지 파악한 다음 적절한 대상에 도달할 수 있도록 가장 빠른 경로를 따라 데이터를 보냅니다.
우체국 비유를 계속하면 인터넷의 각 자율 시스템은 우체국의 한 지점과 같습니다. 도시에 수천 개의 우편함이 있더라도 모든 우편물은 배달되기 전에 우체국을 거쳐야 합니다.
인터넷상의 자율 시스템의 예는 다음과 같습니다.
- Comcast, AT&T, Verizon 등과 같은 인터넷 서비스 공급자(ISP)
- 페이스북 같은 회사
- 정부 또는 대학과 같은 기타 대규모 조직
Verge 에 기고한 Mitchell Clark은 BGP를 지속적으로 업데이트되는 지도에 비유하고 자율 시스템을 해당 지도의 섬에 비유합니다. 인터넷에는 모든 섬 사이에 다리를 만들기에 너무 많은 "섬"이 있으므로 BGP는 다리가 이미 어디에 있는지 알려줍니다.
실제로 두 가지 유형의 BGP가 있습니다.
- 외부 BGP(eBGP) : 인터넷에서 일반적으로 사용하는 프로토콜입니다. 우체국 은유에서 이것은 국제 배송과 유사합니다.
- 내부 BGP(iBGP) : 자율 시스템이 자체 네트워크 내에서 데이터를 라우팅하는 데 사용할 수 있는 내부 BGP 프로토콜입니다. 이것은 다른 개별 국가의 메일 서비스와 유사합니다.
더 넓은 인터넷의 eBGP에 액세스하기 위해 iBGP를 설정할 필요는 없지만 대기업과 같은 일부 자율 시스템은 어쨌든 iBGP를 사용하여 내부 트래픽을 라우팅합니다.
BGP와 DNS는 어떻게 함께 작동합니까?
BGP는 인터넷에서 데이터 라우팅을 가능하게 하여 인터넷을 하나로 묶는 접착제 또는 덕트 테이프를 만듭니다. BGP가 작동하는 방식 중 일부는 데이터에 대한 실행 가능한 경로를 알리는 것입니다. BGP가 작동을 멈추면 해당 경로를 찾을 수 없고 인터넷에서 사라지므로 데이터가 갈 곳이 없습니다.
페이스북에서 일어난 일의 일부입니다. Facebook의 인프라 부사장 Santosh Janardhan은 정전의 메커니즘을 설명하는 블로그 게시물에서 다음과 같이 설명했습니다.
“소규모 시설에서 수행하는 작업 중 하나는 DNS 쿼리에 응답하는 것입니다. DNS는 우리가 브라우저에 입력하는 간단한 웹 이름을 특정 서버 IP 주소로 변환할 수 있게 해주는 인터넷 주소록입니다. 이러한 번역 쿼리는 잘 알려진 IP 주소 자체를 차지하는 권위 있는 이름 서버에 의해 응답되며, 이 이름 서버는 BGP(Border Gateway Protocol)라는 다른 프로토콜을 통해 나머지 인터넷에 보급됩니다.”
즉, 인터넷의 DNS(Domain Name System) 프로토콜은 주소 목록과 같은 기능을 하며 BGP는 해당 집으로 메일을 가져오는 우편 서비스입니다. 주소는 있지만 집까지 가는 길은 없는 경우 우편물을 배달할 수 없습니다.
Janardhan은 계속합니다.
"...DNS 서버는 네트워크 연결이 비정상임을 나타내는 데이터 센터와 통신할 수 없는 경우 해당 BGP 광고를 비활성화합니다. 최근 정전에서 전체 백본이 작동에서 제거되어 이러한 위치가 스스로를 비정상이라고 선언하고 해당 BGP 광고를 철회했습니다. 최종 결과는 DNS 서버가 여전히 작동 중인데도 연결할 수 없다는 것이었습니다. 이로 인해 나머지 인터넷에서 우리 서버를 찾을 수 없었습니다.”
BGP가 인터넷을 망칠 수 있는 방법
여러 요인이 데이터가 인터넷 지도를 통과하는 경로에 영향을 줄 수 있습니다. 일부 공급자는 시스템 액세스에 대해 요금을 부과하므로 비용은 하나가 될 수 있습니다. 인터넷 자체의 변화하는 특성은 또 다른 것입니다.
자율 시스템과 웹사이트는 인터넷 지도에서 완전히 이동하거나 제거할 수 있습니다. 그들은 또한 서비스 제공자를 변경하거나 추가할 수 있습니다. 예를 들어 대학에서 Comcast에서 AT&T로 ISP를 전환할 수 있습니다. BGP는 데이터가 최신 상태를 유지하고 요청이 막다른 길, Wile E. Coyote 스타일로 실행되지 않도록 하기 위해 데이터가 취할 수 있는 경로를 정기적으로 업데이트해야 합니다.
자율 시스템은 항상 사고 없이 BGP 업데이트를 실행합니다. 그러나 그들이 잘못되면 매우 잘못 될 수 있습니다. 그들의 기사에서 Clark은 BGP가 시스템에서 시스템으로 빠르게 확산되도록 설계되었기 때문에 오류가 Facebook에서 본 것과 같은 파급 효과를 가질 수 있다고 설명합니다.
버그 수정
Cloudflare에 따르면 터키 ISP TTNet이 2004년에 BGP를 잘못 업데이트하여 일시적으로 TTNet을 인터넷의 모든 트래픽에 가장 적합한 대상으로 광고했습니다. 그 결과 문제가 해결될 때까지 하루 종일 연결 문제가 발생했습니다.
이러한 사건은 BGP의 특정 약점, 즉 인터넷을 전체적으로 구성하는 자율 시스템이 BGP가 데이터를 위한 최상의 경로라고 말하는 것을 암묵적으로 신뢰한다는 점을 지적합니다. 글리치는 자주 발생하지 않지만 일부에서는 BGP를 더 안전하게 만들어야 한다고 주장했습니다. 그러나 그러한 규모의 업데이트를 위해서는 인터넷의 모든 자율 시스템이 한 번에 업데이트되어야 합니다. 즉, 프로토콜에 대한 주요 변경 사항을 구현하는 것은 최소한의 도전이 될 것입니다.
BGP는 인터넷을 작동시키는 여러 요소 중 하나일 뿐입니다. 그 기초를 이해하면 향후 정전 및 기타 문제를 탐색하고 이해하는 데 도움이 될 수 있습니다.
관련: 인터넷은 어떻게 작동합니까?