요약

  • RFC 3988은 LSP가 광고하는 MTU를 로컬 제약 조건과 선택된 다운스트림 제약 조건의 최솟값으로 만들었으며, 한 라우터가 전체 경로에 대해 선언할 수 있는 속성이 아니었다.
  • 감소는 빠르게 전달되어야 했다. 낡은 낙관 정보가 초과 크기 트래픽을 폐기할 수 있기 때문이다. 반면 증가는 기다릴 수 있었다. 낡은 보수적 정보는 주로 용량을 미사용으로 남겨둘 뿐이기 때문이다.

2005년 2월,RFC 3988은 라벨 분배 프로토콜(LDP)에 대한 실험적 확장을 제안했다. 그상태 기록,오류 기록,Datatracker 이력이 정확한 문제를 보존하고 있다. LDP는 라벨을 분배할 수 있었지만, 인그레스에 전체 라벨 스위칭 경로(LSP)가 담을 수 있는 패킷의 크기가 얼마인지 알려 주지는 않았다. 그렇지 않으면 운영자가 그 사실을 정적 구성이나 오프라인 시스템을 통해 제공해야 했다. 잘못된 큰 값은 엣지 라우터가 내부 라벨 스위칭 라우터가 조용히 폐기할 패킷을 주입하도록 만들 수 있었다.

이 확장은 포워딩 등가 클래스(FEC)에 대한 라벨 매핑에 하나의 MTU 타입-길이-값(TLV) 필드를 추가했다. 겉보기 단순함 뒤에는 중요한 권한 배분이 숨어 있었다. 물리적 인터페이스는 보편적인 답을 알리지 않았다. 각 노드는 로컬에서 알고 있는 것, 선택된 다운스트림 노드가 주장하는 것, 포워딩 테이블이 실제로 사용하는 이웃이 무엇인지를 바탕으로 계산했다.

이 마지막 조건이 인접성과 결과를 구분했다. 피어는 LDP 메시지를 교환하면서도 해당 FEC의 패킷을 운반하지 않을 수 있었다. RFC 3988은 다운스트림 LSR을 해당 트래픽을 포워딩할 피어의 선택된 부분집합으로 정의했다. 오직 그런 경로만 최솟값 계산에 포함되었다. 제어 세션은 이웃과의 통신 증거였지, 그 이웃이 활성 데이터 경로 위에 있다는 증거가 아니었다.

계산은 서로 범위가 다른 여러 수취에서 시작했다. 링크 MTU는 IP 헤더, 페이로드, 라벨 스택을 포함하되 하위 계층 헤더는 제외했다. '링크' 자체가 인터페이스일 수도, GRE 또는 IPsec 터널일 수도, 또 다른 LSP일 수도 있었다. 홉 MTU는 하나의 업스트림 LSR과 하나의 다운스트림 LSR 사이의 사용 가능한 한도를 다루며, 여러 포워딩 링크가 연결되어 있을 때는 최솟값을 취했다. LSP MTU는 계산 노드에서 이그레스에 이르는 모든 유효한 포워딩 경로를 다루었다.

RFC 3032와 그상태,오류 기록,Datatracker 기록은 라벨 스택 회계를 제공한다. 일반 MPLS 라벨은 4옥텟을 소비한다. 따라서 RFC 3988의 예시 경로에서는 라벨 하나가 추가되면 1,500옥텟 링크가 1,496옥텟 홉이 된다. 다른 LSP를 운반하는 터널은 사용 가능한 수치를 다시 줄일 수 있다. 이 숫자는 단순히 물리적 포트의 프레임 크기가 아니라, 그 지점에서 캡슐화된 패킷에 대한 주장이다.

구성 알고리즘은 업스트림으로 흐른다. 이그레스는 65,535를 감시 값으로 시작한다. 각 선택된 다운스트림 LSR에 대해 현재 노드는 로컬 홉 MTU와 다운스트림이 광고한 LSP MTU 중 작은 값을 취하고, 그다음 모든 선택된 다운스트림에 대해 최솟값을 취한다. 다운스트림 매핑에 이 확장이 없으면 그 광고 기여는 65,535로 취급되어, 알려진 로컬 제약이 경계를 정한다. 이 감시 값은 미지의 경로가 거대 패킷을 운반한다는 측정치가 아니었다.

정책은 보수적일 수 있었다. 노드는 계산한 값보다 작게 광고할 수는 있었지만 크게 광고할 수는 없었다. 이 규칙은 허용 가능한 오류의 방향을 드러낸다. 과소 표현은 용량을 낭비할 수 있었다. 과대 표현은 인그레스 너머에서 사라지는 패킷을 유입시킬 수 있었다. 분배된 최솟값은 처리량 보장이 아니라 안전 경계였다.

RFC 3988은 이어서 시간을 증거의 일부로 만들었다. 다운스트림 광고의 변경이나 포워딩 다음 홉 집합의 변경은 재계산을 강제했다. 결과가 떨어지면 노드는 즉시 재광고해야 했다. 올라가면 노드는 업데이트를 지연할 수 있었다. 새 토폴로지가 안정되는 동안 낡은 더 작은 값은 안전하게 유지되었지만, 낡은 더 큰 값은 그렇지 않았다. 따라서 '충분히 신선한' 것은 현실이 어느 방향으로 움직였는지에 달려 있었다.

미지 TLV 규칙은 또 하나의 미묘한 경계를 드러냈다. 두 전파 비트가 모두 설정되었다. MTU 확장을 인식하지 못하는 라우터는 로컬 처리에서는 이를 무시하되 업스트림으로 전달해야 했다. RFC는 이것이 잘못된 계산을 초래할 수 있음을 공개적으로 인정하면서도, 이를 이해하는 노드들을 위해 최대한의 정보를 보존했다. 투명한 운반은 출처를 보존했지만, 중개자를 검증자로 바꾸지는 않았다.

이 동작은RFC 3036과 그상태,오류 기록,이력에 담긴 LDP 기계 장치에서 비롯되었다.RFC 5036과 그상태,오류 기록,Datatracker는 나중에 기본 LDP 사양을 대체했다. 어느 기록도 특정 네트워크가 RFC 3988을 구현했다는 증명은 아니다. 이들은 불투명 속성이 혼합된 능력 환경 속에서 살아남을 수 있는 경계를 정의한다.

인그레스에서 계산된 LSP MTU는RFC 1191의 IPv4 논리를 위한 다음 홉 네트워크 한도가 되었으며, 이 RFC의상태,오류 기록,Datatracker 이력이 관련 규칙을 담고 있다. 허용된 IPv4 패킷은 단편화될 수 있고, 너무 큰 DF 패킷은 ICMP fragmentation-needed 보고와 함께 폐기되어야 했다. 이는 제어 평면 경계에 대한 인그레스의 반응이다. 그래도 맞춤 크기의 패킷이 모든 홉을 통과했거나, 엔드포인트에 도달했거나, 애플리케이션이 수용했다는 것을 증명하지는 않는다.

RFC 3209와 그상태,오류 기록,이력은 RFC 3988이 또 다른 링크로 다룰 수 있는 RSVP-TE 터널 설정을 제공했다. 터널은 모델을 재귀적으로 만들었다. 경로 한도는 다른 경로 한도에 또 다른 라벨을 더한 값에 의존할 수 있었다. 따라서 운영 대장에는 'MTU'라고 붙은 하나의 숫자만이 아니라, 선택된 다운스트림 집합, 각 로컬 조리개, 캡슐화 깊이, 수신한 주장, 주장의 나이, 계산된 결과가 필요했다.

RFC 3988의 역사적 교훈은 증거의 비대칭성이다. 현실이 더 제한적으로 되면, 지연은 위험한 낙관을 낳는다. 덜 제한적으로 되면, 지연은 보수적인 미사용을 낳는다. 그 차이를 이해하는 제어 평면은 최종 숫자를 전달 영수증처럼 꾸미지 않으면서도 손실을 막는 업데이트를 우선시할 수 있다.

출처