요약

  • RFC 1587은 OSPF Not-So-Stubby Area(NSSA)가 외부 경로를 영역 범위의 Type-7 LSA로 가져오면서도, 리프 영역에는 더 넓은 도메인의 Type-5 외부 LSA를 여전히 차단할 수 있게 했습니다.
  • P 비트와 0이 아닌 포워딩 주소가 있으면 Type-7이 변환 대상이 될 수 있었지만, 자격을 갖춘 경계 변환 라우터가 여전히 별도의 Type-5를 발생시켜야 했습니다. 광고 주체는 그 경계에서 바뀌었습니다.
  • RFC 3101은 이후 변환기 선출, 전환 안정성 및 보안 논의를 개정하면서 정책 역설을 드러냈습니다. 전파되지 않는 Type-7조차 NSSA 경계에서 트래픽에 영향을 줄 수 있었습니다.

리프는 더 적은 정보와 단 하나의 예외를 원했다

OSPF 스텁 영역은 AS 외부 Type-5 LSA를 거부함으로써 경제성을 얻었습니다. 대신 영역 경계가 기본 경로를 제공했습니다. 작은 리프 라우터가 코어 쪽으로 트래픽을 보내기 위해 모든 외부 목적지를 보유할 필요는 없었습니다.

그런데 리프 자체가 외부 경로를 학습하면 이 거래는 곤란해졌습니다. RFC 1587은 내부 네트워크가 RIP로 학습되는 사이트를 다루었습니다. 일반 스텁 영역은 그 경로를 OSPF 외부 경로로 가져올 수 없었습니다. 영역을 다시 일반 영역으로 만들면 가져오기는 복원되지만, 리프는 피하려던 외부 상태에 노출되었습니다.

NSSA는 의도적으로 비대칭적인 해법이었습니다. 코어 쪽으로는 스텁과 같은 성격을 유지하면서, 영역 내부에서 발생한 외부 정보는 수용했습니다. 경계를 지우지 않고 경계를 명시적으로 만들었습니다.

N 비트는 경로가 아니라 능력을 인정했다

RFC 1587은 OSPF의 E 비트 옆에 N 비트를 추가했습니다. NSSA 인터페이스의 라우터들은 영역의 외부 라우팅 능력에 대해 합의해야 했습니다. 인터페이스에서는 N이 설정되고 E는 해제되며, 받은 Hello 옵션이 불일치하면 처리가 중단되어 인접관계가 형성되지 않았습니다.

이 검사는 호환성 집합을 확립했습니다. 이웃 라우터들이 사용할 문법에 합의했다는 뜻이지, 외부 경로가 존재한다는 것, 그 출처가 신뢰할 수 있다는 것, 또는 어떤 광고가 영역 경계를 넘을 것이라는 것을 말하지 않았습니다. 완성된 인접관계는 근거 사슬의 시작이었습니다.

외부 경로는 Type-7 LSA로 NSSA에 들어왔습니다. 이는 발생한 NSSA 내부에서만 플러딩되며 해당 영역의 링크 상태 데이터베이스에 존재했습니다. 반면 Type-5 LSA는 Type-5가 가능한 모든 영역에 걸쳐 AS 외부 정보를 기술했습니다. 두 형식은 의도적으로 비슷했지만, 범위와 출처는 같지 않았습니다.

수신은 여전히 선택보다 앞섰다

Type-7을 받은 라우터가 자동으로 그것을 설치하지는 않았습니다. 계산이 NSSA를 통해 발신 AS 경계 라우터를 찾아야 했습니다. LSA가 포워딩 주소를 지목했다면, 그 주소로의 영역 내 경로도 존재해야 했습니다. 내부 OSPF 경로가 외부 경로보다 우위였고, 그다음에는 메트릭과 경로 유형이 자격 있는 외부 경로 사이의 비교를 결정했습니다.

이 때문에 세 가지 서로 다른 기록을 혼동하기 쉬웠습니다. LSA가 영역 데이터베이스에 존재하는 것, 경로 계산이 한 경로를 수용하는 것, 그리고 포워딩 테이블이 나중에 사용 가능한 상태를 담는 것입니다. RFC 1587은 이들 사이의 관계를 규정했을 뿐, 이를 하나로 합치는 허가를 준 것은 아니었습니다.

P 비트는 다른 라우터에 행동을 요청했다

영역 내부의 NSSA ASBR은 네트워크를 OSPF 도메인의 더 넓은 트랜짓 토폴로지로 전파하기를 원할 때 Type-7의 P 비트를 설정했습니다. 또한 유효한 0이 아닌 포워딩 주소를 제공해야 했습니다. P 비트가 해제되거나 포워딩 주소가 0이면 정상적인 변환이 중단되었습니다.

따라서 P는 하나의 인계 지점에서의 지시를 표현한 것이며, 반대편으로부터의 수령 확인이 아니었습니다. 변환은 경로 계산 이후에, 변환 자격이 있는 NSSA 영역 경계 라우터에서만 일어났습니다. RFC 1587에서는 NSSA를 통해 도달 가능한 경계 라우터 중 라우터 ID가 가장 높은 라우터가 이 작업을 수행했습니다.

집계되지 않은 경로의 경우, 결과 Type-5는 목적지, 마스크, 메트릭, 경로 유형, 포워딩 주소, 외부 태그를 그대로 복사했습니다. 단 하나의 필드는 반드시 바뀌었습니다. 광고 라우터가 변환기가 된 것입니다. 원래 ASBR이 Type-7을 작성했고, ABR이 Type-5 투영을 작성했습니다. 경로가 변경되지 않은 하나의 객체로 경계를 통과한 것은 아니었습니다.

기본 경로는 역할별 예외를 드러냈습니다. NSSA ABR이 발생한 Type-7 기본 경로는 P 비트를 해제 상태로 유지해야 했고 절대 Type-5로 변환되지 않았습니다. ABR이 아닌 영역 내부 NSSA ASBR이 발생한 Type-7 기본 경로는 P를 설정할 수 있고 변환될 수 있었습니다. 두 발신자는 서로 바꿔 쓸 수 없었습니다.

범위 정책은 알려진 경로를 비공개로 유지할 수 있었다

Type-7 주소 범위는 변환기에 또 다른 결정을 제공했습니다. 범위는 여러 Type-7 네트워크를 하나의 Type-5로 집계하거나DoNotAdvertise로 표시할 수 있었습니다. 후자의 경우, 구성 경로들은 NSSA 내부에서 계속 알려지고 선택될 수 있으면서 어떤 대응 Type-5도 자율 시스템의 나머지 부분에는 노출되지 않았습니다.

집계는 근거도 바꿨습니다. 하나의 더 넓은 요약이 여러 로컬 경로를 대표할 수 있으며, 파생된 메트릭과 변환기라는 발신자를 갖습니다. 영역 밖의 관찰자는 그 하나의 Type-5만으로 모든 하위 Type-7을 재구성할 수 없었습니다.

경로가 자격을 상실하면, 파생된 Type-5는 플러시되거나 남은 자격 상태로부터 재발생되어야 했습니다. Type-7과 Type-5의 수명 주기는 연결되어 있었지만 하나의 수명 주기는 아니었습니다. 투영은 사라지는 동안 로컬 광고는 남아 있을 수 있었습니다.

후속 사양은 권한을 상태화했다

RFC 3101은 2003년 1월에 RFC 1587을 폐기했습니다. 이는 용어만 다듬은 것이 아니었습니다.NSSATranslatorRole,NSSATranslatorState, 새로운 Nt 비트를 정의했습니다. 경계 라우터는Always로 변환하도록 설정되거나Candidate로서 선출에 참여할 수 있었습니다. 후보들은 어떤 경계 라우터가 NSSA와 AS 트랜짓 토폴로지 양쪽을 통해 도달 가능한지를 먼저 따진 뒤, Nt와 라우터 ID를 고려했습니다.

박탈된 선출 변환기는 즉시 멈추지 않았습니다. 불필요한 플러시와 재플러딩을 피하기 위해 기본 안정성 구간인 40초 동안 계속 작동했습니다. 이제 변환 권한은 겹침 규칙을 갖는 관찰 가능한 상태 전이였으며, 단순한 라우터 ID의 결정적 비교가 아니었습니다.

RFC 3101은 P 비트 정책의 역설도 기록했습니다. 경계 라우터는 P 비트가 해제된 비기본 Type-7을 설치할 수 있었는데, 그 경로를 변환하지도 않으면서 가능했습니다. NSSA 밖에서 도착하는 트래픽이 이후 영역 안으로 끌려들 수 있었고, 이는 발신 측이 기대한 경로에 어긋나며 전파 금지 신호에도 사실상 반한다는 주장이 가능했습니다. 로컬 설치와 외부 공개는 별개였지만, 전자가 여전히 다른 도메인의 트래픽에 영향을 줄 수 있었습니다.

인증은 투영을 증명하지 않았다

RFC 1587은 보안 문제를 다루지 않는다고 밝혔습니다. RFC 3101은 인증과 서비스 거부 분석을 추가했습니다. OSPF 패킷 인증, 공유키의 한계, 광고 플러딩, 데이터베이스 고갈을 다루었고, 이러한 우려가 NSSA 밖에도 존재한다는 점도 지적했습니다.

인증된 OSPF 교환은 패킷이 설정된 프로토콜 검사를 통과했음을 확인할 수 있었습니다. 그러나 기밀성은 제공하지 않았고, 외부 출처가 진실한지, P 비트 정책이 운영자 의도와 일치하는지, 선출된 변환기가 올바르게 구성되었는지, 요약이 필요한 출처 정보를 보존하는지, 원격 포워딩이 성공하는지는 증명하지 못했습니다. 이것들은 별개의 통제와 관찰로 남았습니다.

동작하는 코드가 논문을 개정했다

RFC 3101은 알려진 첫 완전 구현이 문서에 실질적인 변경을 만들었다고 명시합니다. 이는 좁지만 가치 있는 역사적 수령 기록입니다. 구현이 충분한 모호성이나 결과를 발견해 후속 사양을 바꿀 만큼 영향을 주었다는 것입니다. 다만 이것은 다중 벤더 상호운용성이나 광범위한 배포의 근거는 아닙니다.

동결된 자료들은 현재의 배포, 벤더 동작 또는 특정 운영자의 구성을 입증하지도 않습니다.

이 구분은 Lu Heng이running-code primacy,minimum initial specification and local adoption, 그리고reality rather than advocacy에서 다룬 원칙과 같은 맥락입니다. 사양, 구현된 상태 기계, 로컬에서 선택된 경로, 변환된 광고, 관찰된 서비스 결과가 하나의 역사에 속하려면 그 경계가 계속 보여야 합니다.

지속되는 기록은 사슬입니다. 원 경로, Type-7 발생, NSSA 플러딩, 로컬 계산, P와 범위 정책, 변환기 상태, Type-5 발생, 더 넓은 플러딩, 원격 선택, 포워딩, 측정된 결과. RFC 1587은 그 중간 경계를 판독 가능하게 만들었습니다. 영역은 알 수 있었습니다. 백본은 여전히 자신만의 근거가 필요했습니다.

출처