요약

  • 10월 28일 개인 인터넷 초안은 IPv4·IPv6 단일 목적지 경로에 4옥텟 IP MTU를 싣는 선택적·비전이적 BGP 속성 NEXT_HOP_MTU를 제안한다. 값은 특정 네트워크 경계가 받아들이는 패킷 크기이지, 목적지까지 전체 경로의 최솟값이 아니다.
  • 값을 붙이는 라우터는 자기 경계 인터페이스의 MTU를 기준으로 한다. 유효한 이웃 값을 받아들이면 둘 중 작은 값만 알리고, 지역 정책은 더 낮출 수 있을 뿐이다. 목적지별 전달 MTU는 가능한 모든 전달 경로에 유효한 값이 있을 때만 설정할 수 있다.

한 문이 잰 폭으로 모든 문을 통과할 수는 없다

외부에서 경로를 배운 라우터가 자기 접속 구간의 IP MTU를 안다고 하자. 초안은 그 값을 경로 광고에 붙여 내부 장비에 알리는 방법을 제시한다. 그 구간을 향하는 송신자에게는 유용하다. 하지만 목적지 앞에 다른 접속 구간이 남아 있다. 문서는 이 속성이 전체 경로의 MTU가 아니며, 그 값 하나로 BGP 경로 선택도 바꿀 수 없다고 못 박는다. 경계의 측정치를 전 구간 통행증처럼 쓰면, 가장 좁은 구간에서 패킷 손실로 답이 돌아온다.

계산은 값이 커지는 방향을 막는다. 지역 경계의 IP MTU를 L, 이웃에게서 받고 지역 정책으로 신뢰한 유효값을 R이라 할 때 새 광고값은 min(L,R)이다. R을 받아들이지 않으면 L에서 시작한다. 지역 정책은 결과를 더 낮출 수 있지만 높이지 못한다. 관계없는 내부 인터페이스의 MTU를 실제 경계의 수치로 바꿔치기해서도 안 된다. 여러 홉을 거치는 외부 BGP 세션에서는 엉뚱한 인터페이스를 경계라고 지을 수 없으며, 수동 설정값도 다음 홉을 향한 인터페이스의 MTU 이하여야 한다.

속성을 붙이는 기능과 이웃 값을 받는 기능은 이웃별·주소 계열별로 따로 켜고 끌 수 있어야 하며 기본 활성화는 의무가 아니다. 속성이 없으면 약속도 없다. 다음 홉이 그대로인 내부 경로 반사기는 값을 유지해야 하지만, 다른 외부 경계를 통과할 때는 그곳의 값과 다시 최솟값을 계산한다. 집계 경로의 모든 구성 경로에 값이 있어야 집계값을 붙일 수 있다. 목적지별 전달 MTU도 모든 가능한 경로에 유효값이 있어야 하며, 그중 가장 작은 값으로 정해야 한다. 하나의 미확인 경로가 전체 수치에 제동을 건다.

형식이 틀린 속성은 RFC 7606의 방식대로 버리되 BGP 세션과 경로는 유지한다. 경계 MTU가 달라지면 대체 경로 광고를 내야 한다. 속성 번호는 아직 TBD이며 실제 배정 여부는 IANA 등록부에서 확인해야 한다. 값을 크게 쓰면 패킷이 버려질 수 있고, 작게 쓰면 용량을 낭비한다. 외부 이웃의 값을 받아들이는 일은 신뢰 정책이기도 하다.

전체 구간의 최솟값에는 IPv6 경로 MTU 탐색 등이 계속 필요하다. IETF 기록은 이를 개인 초안으로 분류하며 실제 배포나 성능 향상 측정은 제시하지 않는다. 여러 경계에서 원래 인터페이스, 수신값, 정책상 감액, 최종 전달 경로를 추적한 시험이 이 약속의 효력을 보여줄 것이다.

자료: 초안; IETF 상태; IANA; RFC 7606; RFC 8201.