본문 바로가기

Bit와 Byte

Cloudflare CEO의 블로그 : CenturyLink / Level (3) 중단 분석 [글 옮김]

728x90



2020년 8월 30일 미국의 1 티어 인터넷망 업체인 CenturyLink 에서 인터넷 장애가 발생했고, 그 인터넷망을 주로 사용하던 Cloudflare 에도 문제가 생깁니다. 이로 인해 수많은 인터넷 업체의 서버도 영향을 받게 됩니다.

 

이번 중단이 벌어진 상황과 그 상황을 하나씩 시간 순으로 정리한 Cloudflare 의 CEO 블로그 글 입니다.





현재 주요 ISP 및 인터넷 대역폭 제공 업체인 CenturyLink/Level (3)은 Cloudflare의 일부 고객은 물론 인터넷을 통해 많은 다른 서비스 및 제공 업체에 영향을 미치는 심각한 중단을 경험했습니다.

 

CenturyLink/Level (3)의 사후 분석을 기다리는 동안 본 내용의 타임 라인을 작성하고 싶었습니다.

 

Cloudflare의 시스템이 문제를 해결하는 방법, 완화 조치에도 불구하고 일부 고객이 여전히 영향을받는 이유, 문제의 근본 원인으로 보이는 이유 등의 타임라인입니다.

 

오류 증가

 

10:03 UTC에 우리의 모니터링 시스템은 고객의 오리진 서버에 도달하는 오류의 증가를 관찰하기 시작했습니다.

 

이는 "522 오류"로 표시되며 Cloudflare의 네트워크에서 고객의 애플리케이션이 호스팅되는 위치에 연결하는 데 문제가 있음을 나타냅니다.

 

Cloudflare는 크고 다양한 네트워크 제공 업체 중 CenturyLink / Level (3)에 연결됩니다.

 

한 네트워크 제공 업체의 오류가 증가하면 Google 시스템은 자동으로 대체 제공 업체를 통해 고객의 애플리케이션에 도달하려고 시도합니다.

 

액세스 할 수있는 제공 업체의 수를 고려할 때 일반적으로 한 제공 업체에 문제가있는 경우에도 트래픽을 계속 라우팅 할 수 있습니다.




 

[그림 설명] Cloudflare가 연결하는 다양한 네트워크 공급자 집합입니다. 

출처 : 

 

https://bgp.he.net/AS13335#_asinfo



자동 완화 (Automatic Mitigations)

 

이 경우 522 개 오류가 증가한 후 몇 초 이내에 시작하여 우리 시스템은 CenturyLink / Level (3)에서 Cogent, NTT, GTT, Telia 및 Tata를 포함하여 연결된 대체 네트워크 공급자로 트래픽을 자동으로 재 라우팅했습니다.

 

네트워크 운영 센터도 경고를 받았으며 우리 팀은 자동화 시스템이 10:09 UTC부터 자동으로 해결할 수없는 문제를 완화하기 위해 추가 조치를 취하기 시작했습니다.

 

우리는 네트워크 제공 업체 중 하나 인 CenturyLink / Level (3)의 손실에도 불구하고 대부분의 고객과 최종 사용자를 위해 네트워크를 통해 트래픽 흐름을 유지하는 데 성공했습니다.





 

[그림 설명] Dashboard Cloudflare의 자동화 된 시스템은 CenturyLink / Level (3) 장애로 인한 인터넷 손상을 인식하고이를 자동으로 라우팅합니다.




아래 그래프는 Cloudflare의 네트워크와 우리가 연결하는 네트워크 제공 업체에 속하는 6 개의 주요 Tier-1 네트워크 간의 트래픽을 보여줍니다.

 

빨간색 부분은 CenturyLink / Level (3) 트래픽을 나타내며, 사고 중 거의 0으로 떨어졌습니다.

 

또한 사고가 발생하는 동안 트래픽을 다른 네트워크 제공 업체로 자동 이동하여 영향을 완화하고 트래픽이 계속 흐르도록하는 방법도 확인할 수 있습니다.



 

[그림 설명] Cloudflare가 연결하는 네트워크 제공 업체 중 6 개 주요 Tier-1 네트워크의 트래픽입니다. CenturyLink / Level (3)은 빨간색입니다.




다음 그래프는 사고 발생 기간 동안 네트워크 전체에서 522 개의 오류 (고객의 애플리케이션에 연결할 수 없음을 나타냄)를 보여줍니다.





10:03 UTC에 급증한 것은 CenturyLink / Level (3) 네트워크 오류였습니다.

우리의 자동화 시스템은 즉시 다른 네트워크 제공 업체간에 트래픽을 재 라우팅하고 재조정하려고 시도했습니다.

 

경로가 자동으로 최적화됨에 따라 오류가 즉시 절반으로 감소한 다음 피크의 약 25 %로 떨어집니다.

 

10:03 UTC와 10:11 UTC 사이에 Google 시스템은 연결되어있는 48 개 도시에서 CenturyLink / Level (3)을 자동으로 비활성화하고 대체 네트워크 제공 업체를 통해 트래픽을 다시 라우팅했습니다.

 

우리 시스템은 계단식 오류를 방지하기 위해 트래픽을 이동하기 전에 다른 공급자의 용량을 고려합니다.

 

그렇기 때문에 장애 조치는 자동이지만 모든 위치에서 즉각적인 것은 아닙니다.

 

우리 팀은 추가 수동 완화를 적용하여 오류 수를 5 % 더 줄일 수있었습니다.





오류가 0으로 떨어지지 않은 이유는 무엇입니까?

 

안타깝게도 여전히 일부 고객에게 연락 할 수 없음을 나타내는 오류 수가 증가했습니다.

 

CenturyLink / Level (3)은 세계에서 가장 큰 네트워크 제공 업체 중 하나입니다. 

 

결과적으로 많은 호스팅 공급자는 네트워크를 통해 인터넷에 대한 단일 홈 연결 만 가지고 있습니다.

 

오래된 인터넷을 "초 고속도로"비유로 사용하는 것은 마치 마을에 단 하나의 신호 만있는 것과 같습니다.  offramp가 차단되면 마을에 도달 할 방법이 없습니다.

 

이는 CenturyLink / Level (3)의 네트워크가 경로 철회를 존중하지 않고 Cloudflare와 같은 네트워크에 대한 경로를 철회 후에도 계속 광고했기 때문에 일부 경우에 악화되었습니다.

 

CenturyLink / Level (3)을 통해서만 인터넷에 연결되는 고객의 경우, 또는 CenturyLink / Level (3)이 철회 된 후에도 잘못된 경로를 계속 발표하면 우리가 그들의 애플리케이션에 접근 할 수있는 방법이 없었고 그들은 CenturyLink / Level (3)이 그들의 문제를 UTC 14:30 경에 해결할 때까지 522 개의 오류를 계속 보았습니다.



네트워크의 다른 쪽 ( "eyeball")에서도 같은 문제가 발생했습니다.

개인은 인터넷의 고속 도로에 진입해야합니다.

인터넷 진입로는 기본적으로 ISP가 제공하는 것입니다. CenturyLink는 미국에서 가장 큰 ISP 중 하나입니다.





이 중단으로 인해 모든 CenturyLink / Level (3) 네트워크가 오프라인으로 전환되는 것으로 보이므로 CenturyLink 고객 인 개인은 문제가 해결 될 때까지 Cloudflare 또는 다른 인터넷 공급자에 연결할 수 없었을 것입니다.

 

전 세계적으로 정전 기간 동안 전 세계 트래픽이 3.5 % 감소했습니다.

거의 모든 것은 미국 전역에서 CenturyLink의 ISP 서비스가 거의 완전히 중단 되었기 때문입니다.

 

CenturyLink / Level (3)이 사후 부검을 발행 할 때까지 무슨 일이 일어 났는지 정확히 알 수는 없지만 BGP 발표의 단서와 중단 동안 인터넷을 통해 전파 된 방법을 확인할 수 있습니다.

 

BGP는 Border Gateway Protocol입니다.

인터넷의 라우터가 자신의 뒤에있는 IP와 수신해야하는 트래픽을 서로에게 알리는 방법입니다.

 

10:04 UTC부터 상당한 수의 BGP 업데이트가있었습니다.

BGP 업데이트는 라우터가 경로가 변경되었거나 더 이상 사용할 수 없음을 알리는 신호입니다.

정상적인 조건에서 인터넷은 15 분마다 약 1.5MB-2MB의 BGP 업데이트를 확인합니다.

사고가 시작될 때 BGP 업데이트 수는 15 분당 26MB 이상의 BGP 업데이트로 급증했으며 사고 내내 계속 증가했습니다.



이 업데이트는 CenturyLink / Level (3) 백본 내 BGP 경로의 불안정성을 보여줍니다.

문제는 이러한 불안정을 야기한 원인입니다.

CenturyLink / Level (3) 상태 업데이트는 근본 원인으로 flowspec 업데이트시 몇 가지 힌트와 포인트를 제공합니다.

 

 

 

 

 

Flowspec은 무엇입니까?

 

CenturyLink / Level (3)의 업데이트에서 잘못된 Flowspec 규칙으로 인해 문제가 발생했다고 언급했습니다.

그렇다면 Flowspec은 무엇입니까?

Flowspec은 BGP의 확장으로, 방화벽 규칙을 BGP를 사용하여 네트워크 전체 또는 네트워크간에 쉽게 배포 할 수 있습니다. Flowspec은 강력한 도구입니다.

 

이를 통해 거의 즉각적으로 전체 네트워크에서 규칙을 효율적으로 푸시 할 수 있습니다.

공격과 같은 것에 빠르게 대응하려고 할 때 좋지만 실수를하면 위험 할 수 있습니다.

 

Cloudflare 역사 초기에는 대규모 네트워크 계층 DDoS 공격을 완화하기 위해 Flowspec을 사용하여 방화벽 규칙을 푸시했습니다.

 

우리는 7 년 전에 Flowspec으로 인한 중단을 겪었습니다.

우리는 더 이상 Flowspec을 직접 사용하지 않지만 네트워크 방화벽 규칙을 푸시하기위한 공통 프로토콜로 남아 있습니다.

 

CenturyLink / Level (3)에서 발생한 일만 추측 할 수 있지만 그럴듯한 시나리오 중 하나는 네트워크를 향한 공격이나 기타 남용을 차단하기 위해 Flowspec 명령을 내린 것입니다.

 

상태 보고서는 Flowspec 규칙이 BGP 자체가 발표되는 것을 차단했음을 나타냅니다. Flowspec 규칙이 무엇인지 알 수있는 방법이 없습니다.

하지만 여기에 네트워크에서 모든 BGP 통신을 차단할 수있는 주니퍼 형식이 있습니다.



왜 그렇게 많은 업데이트가 필요한가요?

 

그러나 사건 내내 글로벌 BGP 업데이트가 상승한 이유는 여전히 미스터리입니다. 규칙이 BGP를 차단 한 경우 처음에 BGP 알림이 ​​증가 할 것으로 예상 한 다음 정상으로 돌아갑니다.

 

한 가지 가능한 설명은 문제가되는 Flowspec 규칙이 긴 BGP 업데이트 목록의 끝에 가까워 졌다는 것입니다. 이 경우 CenturyLink / Level (3) 네트워크의 모든 라우터가 Flowspec 규칙을 수신 할 수 있습니다.

 

그런 다음 BGP를 차단합니다. 그러면 규칙 수신이 중단됩니다.

그들은 다시 시작하여 위반 Flowspec 규칙에 다시 도달 할 때까지 모든 BGP 규칙을 통해 작업합니다. BGP가 다시 삭제됩니다.Flowspec 규칙은 더 이상 수신되지 않습니다. 그리고 루프는 계속 될 것입니다.

 

이에 대한 한 가지 과제는 모든주기에서 BGP 업데이트 대기열이 CenturyLink / Level (3) 네트워크 내에서 계속 증가한다는 것입니다.

 

이로 인해 라우터의 메모리와 CPU가 과부하되어 네트워크를 다시 온라인 상태로 만드는 데 추가적인 문제가 발생했을 수 있습니다.

 

고치는 데 시간이 너무 오래 걸리는 이유는 무엇입니까?

 

이는 심각한 글로벌 인터넷 중단이었으며 의심 할 여지없이 CenturyLink / Level (3) 팀은 즉각적인 경고를 받았습니다.

그들은 세계적인 수준의 네트워크 운영 센터 (NOC)를 가진 매우 정교한 네트워크 운영자입니다. 그렇다면 해결하는 데 4 시간 이상 걸린 이유는 무엇입니까?

 

다시 말하지만 우리는 추측 만 할 수 있습니다.

 

첫째, Flowspec 규칙과 라우터에 적용되는 많은 BGP 업데이트로 인해 자체 인터페이스에 로그인하기가 어려웠을 수 있습니다.

 

다른 Tier-1 제공 업체 중 일부가 조치를 취했으며 CenturyLink / Level (3)의 요청에 따라 네트워크를 디 피어링했습니다.

 

이것은 CenturyLink / Level (3) 네트워크에서 수신하는 BGP 발표의 수를 제한하고 따라 잡을 시간을 제공하는 데 도움이되었습니다.

 

둘째, Flowspec 규칙이 CenturyLink / Level (3) 자체가 아니라 고객 중 한 사람이 발행 한 것일 수도 있습니다.

 

많은 네트워크 공급자가 Flowspec 피어링을 허용합니다.

이는 공격 트래픽을 차단하려는 다운 스트림 고객에게 강력한 도구가 될 수 있지만 문제가 발생했을 때 문제가되는 Flowspec 규칙을 추적하기 훨씬 더 어렵게 만들 수 있습니다.

 

마지막으로 이러한 문제가 일요일 아침 일찍 발생하면 결코 도움이되지 않습니다.

CenturyLink / Level (3)의 규모와 규모의 네트워크는 매우 복잡합니다.

 

사건이 발생합니다. 사건 내내 무슨 일이 일어나고 있는지 알려주는 그들의 팀에 감사드립니다.



https://blog.cloudflare.com/analysis-of-todays-centurylink-level-3-outage/

 

Analysis of Today's CenturyLink/Level(3) Outage

Today CenturyLink/Level(3), a major ISP and Internet bandwidth provider, experienced a significant outage that impacted some of Cloudflare’s customers as well as a significant number of other services and providers across the Internet.

blog.cloudflare.com



Cloudflare,인터넷장애,

 

728x90