인터넷을 점령한 좀비들, 왜 아무도 말하지 않을까요?

BBetter Stack
AI/미래기술컴퓨터/소프트웨어

Transcript

00:00:00인터넷 세상에 좀비가 우글거린다는 사실, 알고 계셨나요? 아, 여러분이 생각하시는 그런 좀비는 아닙니다.
00:00:05제가 말씀드리는 건 바로 'BGP 좀비'입니다. BGP는 경계 경로 프로토콜(Border Gateway Protocol)의 약자로,
00:00:12대규모 네트워크가 어떤 IP 주소로 트래픽을 전달할 수 있는지 알리는 통신 규약입니다.
00:00:18인터넷은 네트워크끼리 서로 찾아가는 방법을 알려주는 거대한 글로벌 지도로 연결되어 있는데,
00:00:24이 모든 것이 BGP 시스템을 통해 유지됩니다. 대개의 경우
00:00:29이 시스템은 원활하게 작동하지만, 가끔 예기치 못한 좀비들이 시스템에 나타나곤 하죠.
00:00:35왜 이런 일이 발생하는 걸까요? 오늘 영상에서 그 이유를 함께 알아보겠습니다.
00:00:39BGP 시스템에서는 네트워크가 트래픽을 새로운 위치로 보내고 싶을 때,
00:00:49해당 경로를 광고(Advertise)합니다. 반대로 이전 위치로의 트래픽을 중단하고 싶을 때는
00:00:54해당 경로를 철회(Withdraw)하죠. 이런 일은 비일비재합니다. 네트워크는 데이터 센터 간에 트래픽을 이동시키거나,
00:01:00고객을 새로운 에지로 옮기기도 하고, 점검을 위해 서버를 오프라인으로 전환하기도 하니까요.
00:01:04경로 철회는 단순히 해당 경로가 더 이상 유효하지 않음을 전 세계에 알리는 방식입니다.
00:01:09그런데 가끔 이상한 일이 벌어집니다. 분명 경로가 철회되었는데도,
00:01:13일부 네트워크가 그 경로가 여전히 존재한다고 믿는 상황이죠. 이미 사라졌어야 할 경로로
00:01:20계속해서 트래픽을 보내는 겁니다. 이것이 바로 'BGP 좀비'입니다. 경로를 생성한 네트워크가 이미 삭제했음에도 불구하고,
00:01:26글로벌 라우팅 테이블에서 사라지기를 거부하는 오래된 경로를 말합니다.
00:01:32그럼 이 좀비가 살아있을 때 트래픽은 어떻게 될까요? 목적지에 도달하지 못합니다. 트래픽은
00:01:38폐기되기 전까지 잠시 라우터 사이를 맴돌거나(루프), 막다른 길에 이를 때까지
00:01:43여러 네트워크를 가로지르며 길고 먼 길을 돌아가게 됩니다. 혹은 트래픽을 전달받은 네트워크가
00:01:49어떻게든 전송해보려 애쓰지만 결국 유효한 곳으로 보내지 못할 수도 있죠. 사용자 입장에서는
00:01:55페이지 로딩이 멈추거나 타임아웃이 발생하고, 앱 연결이 잠시 끊기는 현상으로 나타납니다.
00:02:01때로는 거의 느껴지지 않을 수도 있지만, 어떤 경우에는 속도 저하가 매우 뚜렷하게 나타납니다.
00:02:06그다음으로 궁금한 점은 왜 라우터들이 즉시 글로벌 지도를 업데이트하지 못하느냐는 것입니다.
00:02:11답은 BGP가 변경 사항을 처리하는 방식에 있습니다. 구체적인 경로가 사라지면,
00:02:17라우터는 대체할 수 있는 덜 구체적인 경로를 찾습니다. 이 검색에는 시간이 걸리죠. 그 과정에서
00:02:23일부 라우터가 이전 항목을 지우지 못해 케케묵은 정보에 갇혀버리는 일이 발생합니다. 실제로
00:02:29Cloudflare의 관찰 결과, 대규모 네트워크에서 이러한 좀비들은 약 6분에서 11분 정도 지속되었습니다.
00:02:34IPv4 좀비가 IPv6 좀비보다 더 오래 살아남는 경향도 있었죠. 하지만 결국
00:02:40시스템은 스스로를 수정합니다. BGP의 모든 경로에는 타이머가 있기 때문입니다. 라우터가
00:02:46일정 기간 새로운 업데이트를 받지 못하면 자동으로 해당 경로를 삭제합니다. 설령 라우터가
00:02:52처음에 철회 신호를 놓쳤더라도, 이웃 라우터들과 계속해서 주고받는 BGP 메시지를 통해
00:02:57결국 경로가 사라졌음을 알게 됩니다. 주변의 충분한 라우터들이 새로운 상태에 합의하면,
00:03:03좀비는 비로소 사라집니다. Cloudflare는 BYOIP(Bring Your Own IP) 고객과 작업하던 중 이 현상을 발견했습니다.
00:03:09이 과정에서 Cloudflare는 고객의 IP 대역을 일시적으로 광고했다가 핸드오프가 완료되면 이를 철회합니다.
00:03:15철회 자체가 깔끔하게 이루어져야 함에도 불구하고, 실제로는
00:03:21일부 제공업체들이 경로가 사라진 후에도 한참 동안 이전 경로를 계속 사용하는 모습이 포착되었습니다.
00:03:27이런 정보의 불일치는 트래픽이 Cloudflare 네트워크로 들어올 때 예상치 못한 비효율적인 경로를 타게 만들었죠.
00:03:33이 문제를 해결하기 위해 Cloudflare는 더 안전한 방식을 도입했습니다. 기존 경로를 바로
00:03:38철회하는 대신, 먼저 안정적인 위치에서 동일한 경로를 다시 공표합니다. 그러면 전 세계
00:03:45라우터들이 새로운 버전으로 깔끔하게 전환하도록 유도할 수 있습니다. 그런 다음에야 비로소 이전
00:03:50공고를 철회합니다. 이는 좀비를 발생시키는 급격한 대체 경로 검색 현상을 방지합니다. 또한 Cloudflare는
00:03:56내부 시스템을 튜닝하여 향후 이러한 전환이 더 매끄럽게 이루어지도록 조치했습니다. 이 주제에 대해
00:04:02더 자세히 알고 싶으시다면, Cloudflare가 발행한 상세 블로그 포스트를 확인해 보시기 바랍니다.
00:04:07결론적으로, 이번 사례는 인터넷의 가장 근본적인 부분조차 특정 조건에서는
00:04:13예상치 못하게 작동할 수 있음을 보여줍니다. 다행히 대부분의 경우 이런 문제는
00:04:19사용자가 눈치채기도 전에 해결됩니다. 하지만 가끔 좀비가 나타날 수도 있죠. 인터넷은 매초 발생하는
00:04:25수백만 건의 라우팅 결정으로 유지됩니다. BGP 좀비와 같은 가끔씩의 이변은 인터넷의
00:04:31모든 것을 원활하게 유지하는 데 얼마나 정교한 협력이 필요한지 잘 보여줍니다. 자, 여기까지입니다.
00:04:37이제 BGP 좀비가 무엇인지 알게 되셨을 겁니다. 다음에 웹페이지가 멈추거나 연결에 실패한다면,
00:04:43방금 인터넷 좀비를 마주친 것일지도 모릅니다. 이런 기술적인 분석이 흥미로우셨다면,
00:04:48영상 하단의 좋아요 버튼을 꼭 눌러주세요. 채널 구독도 잊지 마시고요. 지금까지
00:04:53Better Stack의 Andris였습니다. 다음 영상에서 뵙겠습니다.

Key Takeaway

BGP 좀비는 네트워크 경로 철회 후에도 라우팅 테이블에 남아 트래픽 오류를 일으키는 현상이며, 정교한 순차적 경로 업데이트를 통해 해결할 수 있습니다.

Highlights

BGP(경계 경로 프로토콜)는 인터넷 트래픽의 목적지를 결정하는 글로벌 지도 역할을 수행함

BGP 좀비는 경로가 철회되었음에도 글로벌 라우팅 테이블에 여전히 남아 있는 유효하지 않은 경로를 의미함

이 현상은 라우터가 대체 경로를 찾는 과정에서 이전 정보를 즉각 삭제하지 못해 발생함

BGP 좀비는 약 6분에서 11분간 지속되며, 사용자에게는 페이지 로딩 지연이나 연결 끊김 현상을 유발함

Cloudflare는 경로를 즉시 철회하는 대신 안정적인 위치에서 재공표한 후 철회하는 방식으로 문제를 해결함

Timeline

BGP와 인터넷 좀비의 개념 소개

영상은 인터넷 세상에 존재하는 'BGP 좀비'라는 독특한 개념을 소개하며 시작됩니다. BGP는 경계 경로 프로토콜의 약자로, 거대한 네트워크망 사이에서 트래픽이 올바른 IP 주소로 이동할 수 있게 안내하는 글로벌 지도와 같은 역할을 합니다. 대개 이 시스템은 문제없이 작동하지만 가끔 예상치 못한 오류로 인해 좀비 경로가 나타나게 됩니다. 화자는 우리가 흔히 아는 공포 영화 속 좀비가 아니라 네트워크 시스템의 기술적 결함을 지칭하는 용어임을 명확히 합니다. 이 서론은 인터넷 인프라의 핵심인 BGP 시스템의 기본 원리를 이해하는 데 중요한 기초를 제공합니다.

BGP 좀비의 발생 원인과 정의

네트워크가 트래픽 경로를 생성할 때는 광고를 하고 중단할 때는 철회하는 과정을 거치는데, 이 과정에서 좀비가 발생합니다. BGP 좀비란 경로 생성자가 이미 삭제 신호를 보냈음에도 불구하고 전 세계 라우팅 테이블에서 사라지기를 거부하는 오래된 경로를 뜻합니다. 데이터 센터 이동이나 서버 점검 등 일상적인 작업 중에 경로 철회가 발생하지만 일부 라우터는 이를 즉시 반영하지 못합니다. 결과적으로 이미 사라졌어야 할 유효하지 않은 경로가 시스템 상에 유령처럼 남아 있게 되는 것입니다. 이 섹션은 왜 기술적으로 '좀비'라는 표현이 붙었는지 그 구체적인 메커니즘을 상세히 설명해 줍니다.

좀비 경로가 사용자 경험에 미치는 영향

유효하지 않은 좀비 경로로 트래픽이 유입되면 데이터는 목적지에 도달하지 못하고 네트워크상에서 미로를 헤매게 됩니다. 트래픽은 라우터 사이를 무한히 도는 루프 현상을 겪거나 막다른 길에 부딪혀 결국 폐기되는 과정을 거칩니다. 실제 사용자 입장에서는 웹페이지 로딩이 멈추거나 앱 연결이 일시적으로 끊기는 등의 가시적인 불편함을 겪게 됩니다. 어떤 경우에는 미미한 속도 저하로 나타나기도 하지만 심한 경우 서비스 이용이 불가능한 타임아웃 오류가 발생합니다. 이는 보이지 않는 백엔드의 라우팅 문제가 실제 사용자 경험에 얼마나 직접적인 타격을 줄 수 있는지 보여주는 핵심 대목입니다.

라우팅 업데이트 지연과 지속 시간

라우터들이 즉시 지도를 업데이트하지 못하는 이유는 BGP가 변경 사항을 처리할 때 더 넓은 범위의 대체 경로를 검색하는 시간을 갖기 때문입니다. Cloudflare의 데이터에 따르면 대규모 네트워크에서 이러한 좀비들은 보통 6분에서 11분 정도 생존하며 IPv4 환경에서 더 오래 지속되는 경향이 있습니다. 다행히 모든 BGP 경로에는 타이머가 설정되어 있어 일정 시간이 지나면 자동으로 삭제되는 자가 수정 기능을 갖추고 있습니다. 이웃 라우터들과 지속적으로 메시지를 교환하며 정보를 동기화하는 과정을 통해 결국 네트워크는 다시 정상 상태로 돌아오게 됩니다. 시스템이 스스로 오류를 인지하고 정화하는 과정은 인터넷의 복원력을 보여주는 중요한 지표가 됩니다.

Cloudflare의 문제 해결 사례 및 결론

Cloudflare는 BYOIP 고객 지원 과정에서 좀비 현상을 발견하고 이를 해결하기 위해 기존의 급격한 경로 철회 방식을 개선했습니다. 단순 철회 대신 안정적인 위치에서 경로를 재공표하여 라우터들이 자연스럽게 새 버전으로 넘어가도록 유도한 뒤 이전 공고를 삭제하는 안전 장치를 도입했습니다. 이러한 조치는 트래픽이 비효율적인 경로로 빠지는 것을 방지하고 네트워크 전환을 훨씬 매끄럽게 만들어 주었습니다. 영상은 인터넷의 근본적인 시스템조차 완벽하지 않을 수 있음을 시사하며 정교한 협력이 필요함을 강조하며 끝을 맺습니다. 기술적인 호기심을 자극하며 더 깊은 정보는 관련 블로그 포스트를 참고할 것을 권장하며 마무리됩니다.

Community Posts

View all posts