경로 누출은 트래픽을 의도하지 않은 경로로 흘려보내 인터넷의 상당 부분을 오프라인으로 만들 수 있지만, 이를 방지하려면 수작업으로 작성된 오류가 발생하기 쉬운 라우팅 정책이 필요했습니다. RFC 9234는 이 의도를 BGP로 옮깁니다. Role 기능을 통해 이웃 간에 관계를 합의하고, Only to Customer(OTC) 속성은 하위 방향으로만 전파되어야 하는 경로를 표시하므로, 규격을 준수하는 라우터는 운영자 정책 없이도 누출을 거부합니다.

RFC 9234의 채택을 측정하기는 어렵습니다. OTC는 송신자가 이그레스에서 표시할 수도 있고 수신자가 인그레스에서 표시할 수도 있어, 공개 경로만으로는 누가 설정했는지 알 수 없기 때문입니다. RouteViews와 RIPE RIS에서 서로 다른 OTC 값을 세어 보니 361개의 후보가 나왔지만, 채움 값(filler)이 이를 부풀립니다. OTC를 경로의 첫 번째 AS와 대조하자 9개가 남았고, 휴리스틱을 적용하자 추정치는 36개로 늘었습니다. Cloudflare 자체 네트워크는 모호함을 제거합니다. 수천 개의 직접 피어를 보유한 Cloudflare는 BMP 피드에서 OTC가 피어의 ASN과 같은 경로를 확인하여 3개월 동안 해당 속성을 설정한 67개의 AS를 찾아냈습니다.

제거자를 찾기 위해 Cloudflare는 모든 피어링 위치에서 OTC를 자사 ASN으로 설정한 IPv4 및 IPv6 프리픽스를 발표한 뒤 철회하여 경로 탐색(path hunting)을 유발했습니다. Cloudflare의 ASN에서 끝나면서 OTC가 없는 경로는 앞선 AS에 의해 제거된 것이며, 이는 공개 수집기와 자사 라우터의 UPDATE를 파싱하여 식별했습니다. 첫 번째 패스에서 GTT(AS3257)와 Arelion(AS1299)을 포함한 두 Tier-1 사업자를 비롯해 6개의 제거자가 발견되었고, 신뢰 집합(trusted-set) 반복에서는 9개가 더 발견되었습니다. 두 Tier-1 사업자는 IPv4 OTC 부재 경로의 96.6%, IPv6 OTC 부재 경로의 92.9%에 나타났으며, 전체 경로 중 IPv4의 33.1%, IPv6의 17%에서 OTC가 손실되었습니다.

이 제거가 중요한 이유는 OTC가 선택적 전이(optional transitive) 속성이기 때문입니다. RFC 9234를 지원하지 않는 라우터조차 이를 전달해야 하며, 이를 제거하면 여러 홉 떨어진 규격 준수 AS의 누출 방지 기능이 무력화됩니다. GTT와 Arelion은 과거 BGP 오류 처리 사건, 그중에서도 잘못된 형식의 OTC가 세션을 리셋한 사건 이후 방어적 관행으로 해당 속성을 제거했다고 Cloudflare에 밝혔습니다. Cloudflare는 두 사업자 모두와 조사 결과를 공유했습니다. Arelion은 곧 OTC를 보존하는 구성을 배포했으며 이는 공개 데이터에서 확인 가능하고, GTT의 구성은 여전히 이를 제거합니다.

OTC가 표시된 테스트 프리픽스를 발표하고, 누가 이를 제거하는지 관찰

수천 개의 직접 피어 덕분에 Cloudflare는 OTC를 하나의 AS에 귀속시킬 수 있는 관측 지점을 확보하여, 공개 RIB 덤프를 오염시키는 인그레스/이그레스 모호함을 제거했습니다.

OTC를 Cloudflare 자사 ASN으로 설정한 테스트 프리픽스를 발표한 뒤 철회하자, 마지막 홉에서 OTC가 없다는 것이 곧 명시된 이웃이 이를 제거했음을 의미할 수밖에 없는 경로의 흐름이 생성되었습니다.

RIB 스냅샷 대신 UPDATE 메시지를 파싱하여 발표와 철회 단계를 모두 포착함으로써, 귀속 알고리즘에 훨씬 더 많은 경로가 드러났습니다.

OTC는 선택적 전이 속성이므로, 소수의 제거하는 Tier-1 사업자가 그 뒤에 있는 규격 준수 AS의 누출 방지를 조용히 무력화했고, 이로 인해 두 네트워크와 협력할 가치가 생겼습니다.

각 네트워크에 증거를 제시함으로써 측정이 변화로 이어졌습니다. Arelion은 대화 후 며칠 만에 OTC를 보존하기 시작했습니다.

공개 데이터로 누가 프로토콜을 준수하는지 알 수 없을 때는, 여러 관측 지점에서 자체 테스트 신호를 내보내고 누가 이를 버리는지 관찰하십시오. 직접 관찰은 모호함을 이름으로, 이름을 수정으로 바꿉니다.

Arelion은 Cloudflare가 조사 결과를 공유한 직후 OTC 속성을 보존하기 시작했으며, 이 변화는 Cloudflare의 테스트 프리픽스에 대한 monocle 쿼리를 통해 공개 수집기 데이터에서 확인할 수 있습니다. GTT의 구성은 여전히 OTC를 제거하며, Cloudflare는 GTT가 해당 속성을 보존하거나 BGP Role을 구성할 때까지 AS3257을 경유하는 RFC 9234 경로 누출 방지가 계속 저해될 것이라고 밝혔습니다. Cloudflare는 자사 라우터 전반에 Role 구성을 점진적으로 배포하기 시작했으며, 채택 데이터를 Cloudflare Radar의 Routing 섹션에 게시할 계획입니다.

근거 확인하기

출처

  1. BGP Role model: tracking the adoption of RFC 9234 The Cloudflare Blog · blog.cloudflare.com ·