요약

  • BGP 경로는 외부 광고가 여전히 유효한 상태에서도 NEXT_HOP으로의 IGP 비용이 바뀌면서 변경될 수 있습니다. 이기는 출구는 AS 내부에서 가장 가까운 것이지, 목적지까지 가장 좋은 것일 필요는 없습니다.
  • 사건의 원인을 규명하고 그 영향을 측정하려면 IGP 토폴로지, BGP 결정, 전송 평면 수렴, 실제 트래픽 이동을 대조해야 합니다. 공개 업데이트 스트림은 그 일부만 보여줍니다.

두 출구, 하나의 로컬 메트릭

내부 라우터가 동일 프리픽스로 향하는 두 개의 외부 경로를 받는다. 상업적 규칙과 주요 BGP 속성은 두 경로를 동등하게 만들었다. 첫 번째 경계 라우터로 가는 IGP 비용은 10, 두 번째는 11이다. 라우터는 10을 선택하고 패킷을 가능한 한 이른 시점에 이웃 네트워크에 넘긴다. 이것이 핫포테이토 라우팅의 운영적 의미다.

그러나 비교는 행정적 경계에서 멈춘다. 비용은 이웃의 경로, 다음 AS, 링크 부하, 애플리케이션 지연, 복귀 경로 중 어느 것도 측정하지 않는다. 네트워크 A에서 가장 짧은 출구가 네트워크 B에서 더 긴 경로로 이어질 수 있다. 또한 A에게 합리적인 선택으로 남을 수도 있는데, 그것은 A가 운용하고 재원을 대는 자원을 절약하기 때문이다.

따라서 문제는 로컬 선호 자체가 아니다. 문제는 그 선호에 전역적 효력을 부여할 때 생긴다. BGP에서 '최선 경로'는 특정 화자에서 정해진 절차와 정책에 따른 최선을 뜻한다. 이는 보편적인 성능 순위도, 인터커넥션 양측에 대한 약속도 아니다.

핫포테이토는 나중에 작동한다

RFC 4271이 기술한 순서는 이 미묘함을 보호한다. 로컬 정책과 여러 속성이 내부 비용 비교 전에 경로를 걸러낸다. 후보 중 최소 하나가 eBGP로 학습된 것이면, 특정 단계에서 iBGP로 학습된 후보는 제외된다. 그보다 뒤에야 라우터는 NEXT_HOP으로의 내부 비용이 불리한 경로를 제거할 수 있다.

지리가 이 순서를 대신하지 않는다. 더 가까운 건물이 반드시 적격한 next hop은 아니다. 로컬 선호가 더 높은 경로는 더 먼 출구를 두고도 이길 수 있다. 해결되지 않은 NEXT_HOP은 선택에 들어가지 않는다. 감자는 나머지 정책이 살려 둔 옵션들 사이에서만 던져진다.

네 명의 연구자는 두 집합으로 이 결정을 모델링했다. 각 라우터는 자기 AS 내 다른 라우터들로의 비용 벡터를 갖는다. 각 프리픽스는 경로가 후보로 남아 있는 출구들의 집합을 갖는다. 첫 번째 집합의 최솟값을 두 번째에 적용하면, 그 프리픽스에 대한 라우터의 출구가 결정된다.

이 구조는 소박하면서도 강력하다. 이는 경계까지 어떻게 도달하는지를 말할 뿐, 그 너머에서 무슨 일이 일어나는지는 말하지 않는다. 하나의 라우터 상태를 기술하지, AS 전체에 균일한 진실을 기술하지 않는다.

OSPF가 BGP를 움직일 때

링크 고장, 장비 복귀, 유지보수를 위한 가중치 변경은 선호 출구로 가는 내부 경로를 늘릴 수 있다. 다른 출구가 더 저렴해지면 라우터는 선택을 다시 수행하고 최선 BGP 경로를 바꾼다. 원래의 eBGP 광고가 사라질 필요는 없다.

RFC 4271은 이 의존성을 명시적으로 규정한다. NEXT_HOP을 해석하는 데 쓰이는 즉시 다음 홉이나 IGP 비용의 변경은 해당 선택 단계를 다시 수행하도록 요구한다. IGP와 BGP는 역할과 정보에서 분리되어 있지만, 그 인터페이스는 AS 너머에서 드러나는 결과를 낳는다.

그렇다고 BGP 업데이트가 자신의 출생 증서를 함께 실어 오는 것은 아니다. 같은 전환은 이웃의 새 광고, 로컬 선호 변경, 출구의 도달 불능, 새 내부 비용에서도 비롯될 수 있다. OSPF LSA 근처의 모든 업데이트를 그 LSA에 귀속시키는 것은 시간적 근접을 인과로 바꾸는 일이 된다.

그래서 초기 연구는 OSPF 링크 상태 광고에서 비거리 변화를 재구성하고, 그 변화와 양립하는 BGP 전환을 분류한 뒤, 시간적 대응을 찾았다. 이 작업은 설명의 공간을 줄인다. 그러나 경쟁 원인, 결측 데이터, 사안별 불확실성을 제거하지는 못한다.

드문 관측이 넓은 함의를 가질 수 있다

데이터는 대형 운영사 네트워크에서 나왔다. 이 범위는 OSPF 이벤트와 BGP 메시지를 동시에 접근할 수 있게 했고, 공개 컬렉터가 주지 않는 특권이었다. 그러나 이것이 그 운영사를 모든 네트워크의 대표 표본으로 만들지는 않았다.

이후 IEEE/ACM Transactions on Networking에 발표된 보고에 따르면 일부 BGP 업데이트는 내부 이벤트 뒤에 최소 60초의 지연을 두고 따라왔다. 저자들은 이러한 변화를 전송 평면의 더 긴 수렴, 이웃 도메인으로의 트래픽 이동, 외부에서 보이는 BGP 메시지, 라우팅 측정의 잠재적 오류와도 연결한다.

동시에 또 하나의 결과를 함께 읽어야 한다. 비용 벡터 변화의 압도적 다수는 그 라우터에서 어떤 프리픽스의 최선 출구도 바꾸지 않았다. 많은 링크는 관련 출구에서 멀리 떨어져 변하거나 순위를 뒤집지 않는다. 리스크는 상시 불안정이 아니다. 두 개의 적격 출구가 충분히 근접해 어떤 이벤트가 그 순위 임계를 넘을 때 나타난다.

그때 효과는 집합적일 수 있다. 동일한 내부 거리가 출구 집합이 겹치는 수많은 프리픽스에 쓰인다. 따라서 하나의 국소 변경이 프리픽스 집단을 한꺼번에 옮길 수 있으며, 그 트래픽 규모는 단순 프리픽스 카운터가 드러내지 않는다.

관측 지점이 서사를 바꾼다

같은 AS의 두 라우터가 같은 출구를 가장 가까운 것으로 보지 않을 수 있다. 경계 라우터가 있는 접점 안에 있는 라우터는 그 문을 향해 큰 우위를 갖는다. 비용이 비슷한 두 문 사이에 놓인 라우터는 작은 변동에 더 민감하다. 그래서 측정은 모니터의 날짜와 위치에 따라 달라지는 영향을 발견했다.

이 성질은 외부 컬렉터의 해석을 제한한다. 컬렉터는 자기 피어가 선택해 수출한 경로만 받는다. 모든 비용 벡터, 버려진 모든 경로, 모든 전송 상태를 받지는 못한다. 업데이트의 부재가 AS 내 다른 곳의 변경 부재를 증명하지 않고, 그 존재가 자동으로 그것을 야기한 내부 이벤트를 드러내지도 않는다.

트래픽은 한 겹을 더 얹는다. 천 개 프리픽스가 적은 바이트일 수 있고 하나가 엄청나게 많을 수 있다. 경로가 바뀌었다고 인터페이스가 포화하는지, 패킷이 손실되는지, 고객이 저하를 체감하는지 말해주지 않는다. 저자들이 라우팅을 정밀 트래픽 측정과 대조한 것은 바로 BGP가 이 운영 영수증을 담고 있지 않기 때문이다.

Rexford는 그 인터페이스를 논쟁 가능하게 만들었다

프린스턴대학은 Jennifer Rexford를 Gordon Y.S. Wu 공학 석좌교수이자 총장(provost)으로 소개한다. 1996년 박사 학위 후 AT&T Labs—Research에서 8년간 일하다 2005년 프린스턴에 합류했다. 그 경력은 인터도메인 라우팅 분석, 트래픽 엔지니어링, 측정, 프로그래머블 네트워크를 아우른다.

그러나 서사는 집단적이어야 한다. Teixeira, Shaikh, Griffin, Rexford는 모델, 프로토콜 로그, 운영 데이터를 결합했다. 그들의 가장 오래 남는 결과는 핫포테이토를 반대하는 슬로건이 아니다. 각 근거의 경계를 되찾는 방법이다.

로컬 선택은 실제 제약에 대한 응답이다. 엔드투엔드 성능은 다른 제약을 부과한다. 둘을 분리함으로써 이 연구는 운영자에게 물을 수 있게 한다. 어떤 경로가 적격한지, 어떤 내부 변경이 그 순위를 바꿀지, 어떤 트래픽이 따를지, 어떤 관측자가 그 결과를 증언할 수 있을지.

출처