요약

  • RFC 2516은 PPPoE에서 PPP MTU를 1,492바이트로 제한했다. 1,500바이트 이더넷 페이로드 가운데 PPPoE 헤더가 6바이트, PPP Protocol ID가 2바이트를 차지했다.
  • RFC 4638은 더 큰 MTU/MRU를 선택적으로 협상하는 기능으로 정의했다. 세션이 추가 8바이트를 보내려면 클라이언트, 액세스 집중 장치, 인터페이스 설정, 중간 이더넷 구간이 모두 이를 지원해야 했다.

한도는 뺄셈에서 나왔다

이더넷 페이로드가 1,500바이트라면 같은 크기의 인터넷 패킷도 들어갈 것처럼 보인다. 하지만 PPPoE는 패킷이 선로에 닿기 전에 8바이트를 가져간다. 6바이트는 PPPoE 헤더, 2바이트는 PPP 프로토콜 식별자에 쓰인다. 1999년 2월 RFC 2516은 표준 이더넷 구간의 PPP MTU를 1,492바이트로 정했다.

계산은 간단했다. 더 어려운 질문은 따로 있었다. 가입자 접속 장비가 이미 이더넷을 쓰는데, 광대역 사업자는 왜 PPP를 계속 유지했을까?

광대역은 이더넷과 가입자별 세션을 원했다

RFC 2516의 답은 운영상의 이유였다. 이더넷은 가입자 집의 브리지 뒤에 여러 기기를 저렴하게 연결했다. PPP는 사용자별 접근 제어와 과금, 서비스 세션을 유지했다. 집 안 기기는 하나의 로컬 매체를 공유하면서도 사업자는 가입자마다 별도의 PPP 세션을 둘 수 있었다.

그 선택의 비용은 패킷마다 8바이트였다. 사업자는 세션 경계를 유지했고, 가입자의 IP 패킷은 통상적인 이더넷 페이로드 1,500바이트 안에서 8바이트의 여유를 잃었다. RFC 2516은 다음 링크에 빈 공간이 있는지 장비가 추측하게 두지 않고 한도를 명시했다.

한쪽은 1,500바이트 PPP 단위를 기대하고 다른 쪽은 1,492바이트로 협상할 때 차이가 드러났다. 2006년 RFC 4638 서문은 이런 혼합 광대역 경로에서 많은 패킷 조각이 생길 수 있다고 설명했다. 확장 규격의 목표는 차세대 광대역망에서 분할을 줄이는 것이었다.

8바이트는 협상할 능력이 됐다

RFC 4638이 모든 PPPoE 세션을 1,492바이트보다 크게 만든 것은 아니다. 다만 문서가 설명하는 차세대 광대역망 설계에서는 PPPoE 서버 역할을 하는 BRAS가 이보다 큰 값의 협상을 지원해야 한다고 규정한다. 실제로 특정 클라이언트와 서버가 큰 크기를 쓸 수 있는지는 선택 기능인 PPP-Max-Payload 태그로 정한다. 두 바이트 태그 값은 클라이언트가 송수신 양방향에서 지원하는 최대 PPP 페이로드다. 1,492바이트보다 큰 값을 요청하는 클라이언트는 PADI와 PADR에 태그를 넣고, 요청을 지원할 수 있는 서버는 PADO와 PADS에 돌려보낸다.

서버에도 자체 한도가 있다. RFC 4638은 서버의 로컬 설정과 클라이언트가 선언한 최대값에 따라 더 큰 MRU를 협상할 수 있게 했다. 최종값은 태그 값과 서버 인터페이스 MTU에서 8바이트를 뺀 값 중 작은 쪽을 넘을 수 없다. 태그는 협상을 시작할 뿐, 물리 인터페이스를 확장하거나 경로 중간 구간의 설정을 바꾸지 못한다.

하나의 숫자가 경로 전체의 결정으로 바뀌었다. 클라이언트는 더 큰 값을 요청할 수 있다. 집중 장치는 자신이 지원하는 범위에서 답한다. 로컬 인터페이스에는 캡슐화 공간이 필요하다. 경로의 모든 이더넷 구간은 최종 패킷을 운반해야 한다. 가입자 화면에 1,500바이트가 표시돼도 집에서 집중 장치까지 모든 스위치가 그 값을 받아들였다는 뜻은 아니다.

경로에도 거절할 기회가 있었다

RFC 4638은 세션이 열린 뒤의 시험도 설명한다. 송신 측은 MRU 크기의 Echo-Request를 수신 측과 중간 이더넷 장비에 통과시킬 수 있다. 큰 시험에는 Echo-Reply가 오지 않고 1,492바이트 시험에는 응답이 오면, 송신 측은 그 세션에서 더 큰 패킷을 보내지 않아야 한다.

이 하향 복귀가 중요하다. 태그를 주고받지 않았거나 한쪽에 더 큰 설정이 없으면 RFC 2516의 1,492바이트 한도가 계속 적용된다. 경로가 큰 패킷 시험을 통과하지 못해도 연결은 낮은 한도로 돌아갈 수 있다. 기존 합의는 작동 가능한 바닥으로 남고, 호환되는 경로만 더 큰 값으로 협상한다.

RFC에 선택지가 실려도 이더넷 표준이 커진 것은 아니다

RFC 4638은 정보 제공 RFC다. 첨부된 IESG 주석은 문서가 발표될 당시 1,500바이트 MTU를 넘는 점보 프레임을 지원하는 현행 IEEE 표준이 없었다고 밝히고, 비표준 확장의 상호운용성과 신뢰성을 보장할 수 없다고 경고한다. PPPoE 양 끝은 더 큰 값을 제안할 수 있지만 각 이더넷 포트가 실제로 받아들여야 한다.

따라서 이야기는 “1,492가 자동으로 1,500이 됐다”가 아니다. RFC 4638은 경로가 필요로 할 때 기존 한도를 유지하고, 기능 교환을 정의하고, 구현체가 큰 크기를 시험하는 방법을 제시했다. 프로토콜은 제안을 적을 수 있다. 그 제안이 성립할지는 참여 장비와 실제 경로가 결정한다.

두 RFC는 설계와 패킷 분할 감소 목표를 기록하지만, 어떤 접속망이 태그를 활성화했는지는 밝히지 않는다. 특정 망의 도입 여부를 확인하려면 날짜가 있는 집중 장치 설정이나 실제 PPPoE 검색 메시지 캡처가 필요하다.

출처