요약

  • RFC 1245는 OSPF 버전 2의 예상 규모, 트래픽, 자원 사용과 견고성을 분석했고, RFC 1246은 구현, 시뮬레이션, 운영 시스템, 세 차례의 상호운용성 테스트를 기록했습니다.
  • 테스트 기록은 사양 결함과 구현 결함을 모두 드러냈지만, 동시에 그 한계도 명시했습니다. 언급된 현장 배치는 단일 구현을 사용했고, 첫 라운드 기록은 불완전했으며, 여러 라우팅 프로토콜을 아우르는 벤더 간 교환은 테스트되지 않았습니다.
  • 별도의 RFC 1247 사양서와 함께 읽으면, 이 보고서들은 추정치, 테스트 케이스, 배치를 같은 것처럼 취급하지 않으면서 서로 다른 근거를 결합하는 방식으로 엔지니어링 확신이 만들어졌음을 보여줍니다.

라우팅 프로토콜은 잘못된 이유로 서류상 설득력을 가질 수 있습니다. 메시지 수가 유한하고, 데이터베이스가 대표적인 라우터에 맞을 수 있으며, 장애 절차가 내부적으로 일관될 수 있습니다. 그러나 그 어떤 계산도 독립적으로 작성된 두 프로그램이 경계 사례를 같은 방식으로 해석하도록 강제하지 않습니다. 반대로 실험실에서 경로를 교환하는 두 라우터가, 설계가 크고 변하는 네트워크에서도 경제적으로 유지될 것임을 증명하지도 못합니다.

OSPF 워킹 그룹은 이 긴장을 보기 드물게 명확한 형태로 보존했습니다. 1991년 7월,RFC 1245,OSPF Protocol Analysis와RFC 1246,Experience with the OSPF Protocol을 발표했습니다. 두 문서 모두 OSPF가 Proposed Standard에서 승격을 검토받던 시기에 준비된 Informational 보고서였습니다. 그 옆에는 OSPF 버전 2의 Standards Track 사양서인RFC 1247이 있었습니다.

이 문서 구조가 중요했습니다. RFC 1247은 프로토콜을 정의했습니다. RFC 1245는 그 메커니즘이 어떻게 동작하고 확장되어야 하는지 물었습니다. RFC 1246은 구현과 네트워크가 실제로 어떻게 행동했는지를 기록했습니다. 근거의 출처를 그대로 유지해야만 주장이 한 기록에서 다른 기록으로 옮겨질 수 있었습니다.

분석적 범위

RFC 1245는 메커니즘에서 출발했습니다. OSPF 라우터는 링크 상태 데이터베이스를 유지하고 최단 경로를 계산했습니다. 에어리어는 상세 토폴로지가 전파되어야 하는 범위를 제한하고 계산의 범위를 묶었습니다. 멀티액세스 네트워크에서는 지정 라우터(designated router)가 인접 관계의 수와 데이터베이스 정합성을 유지하는 데 필요한 트래픽을 줄였습니다. 시퀀스 번호, 확인 응답, 에이징은 신뢰할 수 있는 플러딩과 최종 제거에 관한 이론을 제공했습니다.

보고서는 이어서 실질적 질문을 던졌습니다. 라우팅 업데이트가 얼마나 많은 링크 대역폭을 소비할 것인가? 최단 경로 계산은 얼마나 자주 실행되는가? 데이터베이스는 얼마나 커질 수 있는가? 하나의 LAN에 몇 개의 라우터가 공존할 수 있는가? 프로토콜은 분할, 재시작, 에이징 레코드에 어떻게 대응하는가?

그 답변은 한 가지 방법으로 산출되지 않았습니다. 일부는 프로토콜 구조와 수식에서 도출되었습니다. 일부는 BARRNet, NASA Sciences Internet, OARnet의 운영 통계를 사용했습니다. 일부는 시뮬레이션을 참조했습니다. 하나의 메모리 계산은 Proteon P4200의 특정 구성을 사용하면서, 다른 구현에서는 결과가 달라질 수 있다고 명시적으로 경고했습니다.

LAN 논의는 근거 레이블을 그대로 드러냅니다. 보고서는 하나의 LAN에 50개를 초과하는 라우터가 붙은 시뮬레이션을 인용했습니다. 별도로 문제 없이 진행된, 하나의 이더넷에 13개 라우터가 참여한 상호운용성 테스트도 언급했습니다. 첫 관찰은 모델링된 구성을 탐색한 것이고, 두 번째는 실제로 실행된 구성을 묘사한 것입니다. 어느 한 진술만으로 모든 라우터, 타이머 선택, 장애 패턴, 구현이 동일하게 동작할 것이라고 약속할 수 없습니다.

따라서 RFC 1245는 인증서가 아니라 범위를 제공했습니다. 그 가치는 가정, 즉 데이터베이스 크기, 광고(advertisement) 구성, 업데이트 빈도, 토폴로지, 구현 메모리, 프로토콜 타이머를 드러내는 데 있었습니다. 이후 네트워크가 그 경계를 넘어서면 계산을 다시 수행하거나 보완해야 했지, 상속된 증거처럼 단순히 인용할 수 없었습니다.

네트워크는 다른 방식으로 답했다

RFC 1246은 관찰 단위를 바꿨습니다. 최소 한 라운드의 상호운용성 테스트에 참여한 다섯 가지 구현을 명시했습니다: 3Com, ACC, Proteon, Wellfleet, 그리고 메릴랜드 대학 구현. 1990년 봄부터 시작된 현장 시헌과 세 가지 가시적인 운영 시스템—NSI, BARRNet, OARnet—을 기록했고, 보고서의 스냅샷 시점에 각각 15, 14, 13개의 라우터를 운용하고 있었습니다.

이 현장 시스템들은 데이터베이스 동기화, 신뢰할 수 있는 플러딩, 외부 경로 가져오기, 동일 비용 경로, 스텁 에어리어, 변화로부터의 복구에 관한 근거를 제공했습니다. 동시에 중요한 한계도 드러냈습니다. 세 시스템 모두 Proteon 구현을 사용했습니다. 따라서 RFC 1246은 보고서 다른 곳에서 광범위한 벤더 간 상호운용성 세션을 지목하면서도, 운영 환경에서 테스트되지 않은 사항 중 하나로 다중 벤더 운영 배치를 명시했습니다.

이는 사소한 언어 문제가 아닙니다. 현장 네트워크는 실제 트래픽, 운영자 타이밍, 장애, 워크로드를 제공하지만 구현을 고정해 둘 수 있습니다. 상호운용성 세션은 구현을 다양화하지만, 종종 계획된 토폴로지와 압축된 일정 아래에서 진행됩니다. RFC 1246은 테스트에서 반복되는 라우터 재시작이 일상 운영보다 MaxAge 플러싱 절차를 더 자주 검증했다고까지 기록했습니다. 각 설정은 서로 다른 종류의 상호작용을 관찰 가능하게 만들었습니다.

결함은 부끄러움이 아니라 근거였다

첫 상호운용성 라운드는 어떤 규모 계산으로도 사라지게 할 수 없는 결과를 낳았습니다. 동시에 플러딩된 MaxAge 광고가 데이터베이스 동기화 완료를 막는 창구에서 Database Description 과정 도중 도달할 수 있었습니다. 사양의 MaxAge LSA 처리는 변경되어야 했습니다.

같은 라운드는 사양이 외부 LSA에서 기본 목적지를 광고할 때 Network Mask 필드를 어떻게 설정해야 하는지 말하지 않는다는 점도 발견했습니다. 한 구현의 가정이 다른 구현의 가정과 충돌했습니다. 이는 링크 대역폭이나 메모리의 측정이 아니라, 독립적으로 작성된 코드가 드러낸 프로토콜 의미의 결여였습니다.

보고서는 한 가지 제약도 보존했습니다. 첫 라운드의 기록은 불완전하여 테스트 구성의 지도를 재현할 수 없었습니다. 발견 자체는 유용했지만 재현 가능성의 경계가 드러나 있었습니다. 이후 독자가 정제된 요약에서 모든 참여자, 링크, 매개변수를 추론할 수는 없었습니다.

이후 라운드들은 검증된 범위를 확장했습니다. 가상 링크, 복수의 네트워크 유형, 인증, 라우팅 계층, 신뢰할 수 있는 플러딩, 플러싱, 외부 경로 가져오기가 포함되었습니다. 한 구성에서 400개의 외부 경로를 가져오는 과정이 구현들의 버퍼 할당 전략과 IP 단편화 회피 시도의 문제를 드러냈습니다. 시스템 전반은 그 외에는 상당히 안정적인 것으로 묘사되었습니다. 보고서는 범주를 분리해 유지했습니다. 일부 발견은 사양 명확화를 필요로 했고, 다른 일부는 구현 결함이었으며, 성공 사례는 그 구성에 의해 범위가 한정되었습니다.

요약은 루프가 있는 토폴로지와 400개를 초과하는 LSA를 가진 데이터베이스에서의 신뢰할 수 있는 플러딩에 대해 “검증되었다”는 강한 표현을 사용했습니다. 그러나 RFC 1246은 완결되지 않은 작업도 지명했습니다. 서로 다른 벤더의 라우터 간에 여러 라우팅 프로토콜을 동시에 실행하는 것은 테스트되지 않았습니다. 벤더마다 프로토콜 간 라우팅 정보 교환 아키텍처가 달랐습니다. OSPF 인접 관계와 플러딩 테스트의 통과가 그 경계를 몰래 커버하지 않았습니다.

권고는 출처를 지우지 않았다

1992년,RFC 1371은 인터넷의 IP 부분에 대한 공통 IGP로 OSPF를 채택하라는 IESG의 권고를 설명했습니다. 문서는 그 선택이 운영 경험에 기반해야 한다고 밝혔고, 지정이 사용 의무화를 뜻하지는 않는다고도 밝혔습니다.

그 후의 결정은 근거가 거버넌스로 들어가는 과정을 보여줍니다. 그것은 소급하여 RFC 1245의 추정치를 측정값으로, RFC 1246의 상호운용성 세션을 보편적 배치로 바꾸지 않습니다. 권고는 그 자체의 시대, 기준, 의사결정 권한에 속해 있었습니다.

역사적 성취는 OSPF가 무조건적인 안전 인증을 받았다는 것이 아니었습니다. 그 사례가 사양, 분석적 기대, 구현 목록, 시뮬레이션, 통제된 상호운용성, 운영 배치, 기록된 결함, 미해결 한계, 이후의 권고로 이어지는 사슬로 검열될 수 있었다는 것이었습니다. 확신이 커진 이유는 각 기록이 자신이 무엇을 입증할 수 있는지에 대해 서로 생산적으로 불일치했기 때문입니다.

출처

근거의 한계

이 RFC들은 저자들의 1991~1992년 분석, 보고된 구현, 명명된 테스트 및 현장 설정, 문서화된 발견, 표준 권고를 확립합니다. 그것들은 보편적 배치, 임의 규모의 성능, 모든 벤더 조합, 이후 결함의 부재, 현재의 네트워크 상태, 혹은 OSPF 선택의 의무화를 확립하지 않습니다.