후렛츠망과 일본 특색 PPPoE
현 세대 NTT의 백본망은 NGN(Next Generation Network)이라고 합니다. Full IPv6 기반의 네트워크이고, 이것을 이용해 플레츠(FLET'S, フレッツ 후렛츠)라는 광인터넷 서비스를 제공하기 때문에 흔히 후렛츠망이라고도 부릅니다.
하지만 NGN은 그 자체로는 인터넷에 연결되어 있지 않은 폐쇄망입니다. NTT법에 따라 NTT동/서는 인터넷 연결서비스를 직접 제공하면 안 되고, 후렛츠망과 다크 파이버(사용되지 않고 있는 예비 광케이블 용량)를 타 통신사에 개방할 것이 의무화되어 있기 때문입니다. 계열사인 도코모나 NTT커뮤니케이션즈가 인터넷 연결서비스를 제공하고, NTT데이터는 세계구급 규모의 IX를 운영하고 있는 걸 보면 솔직히 눈 가리고 아웅이 아닌가 싶긴 한데요. 아무튼 이 때문에 일본에서는 ISP=프로바이더(プロバイダー)랑 회선제공자가 별개의 개체로서 존재한다는 것입니다.
과거에는 IPv6 폐쇄망인 NGN을 거쳐 ISP에 연결하기 위해 보통 PPPoE 터널을 사용했습니다. PPPoE나 그 모태가 되는 PPP 등은 과거 전세계에서 사용되었던 것이니 우리에게도 비교적 친숙한 개념이라고 할 수 있겠지요.
그리고, NGN의 끝단에 위치한 ISP의 PPPoE 서버이자, 인터넷을 향한 게이트웨이 역할을 하는 서버를 망종단장치(網終端装置 Network Termination Equipment; NTE)라고 합니다.
※ 일본에서는 광랜 사용자 가정 내에 설치되는 ONU(Optical Network Unit)를 광회선 종단장치(光回線終端装置)나 가입자 망종단장치(加入者網終端装置)라고 부르기도 하는데, 당연히 이거랑은 전혀 다른 물건입니다.

하지만 보통 ISP의 망종단장비는 빈약해서 사람이 몰리는 시간대만 되면 느려지는 현상이 발생했습니다. 일본에서 경험적으로 'IPv6을 쓰면 인터넷이 빨라진다'는 괴소문이 널리 퍼져 있는 데에는 이러한 이유가 있습니다 - 그 괴소문이 사실이기 때문입니다.
일본 특색 IPv6과 VNE
IPoE의 원래 뜻은 IP over Ethernet- 그러니까 "이더넷 위에서 IP쓰기"입니다. 너무나 당연한 얘기를 하는 게 아닌가 생각하실 수도 있지만, 이건 후렛츠망 하에서 이용되었던 IPv4/PPPoE와 대조를 위해 만들어진 표현이라고 생각하시면 됩니다.
여기서 VNE라는 새로운 개념이 등장합니다. VNE는 Virtual Network Enabler의 약자로, ISP를 대신하여 NGN망의 끝단에서 IPv6 인터넷으로 향하는 게이트웨이를 운영하는 업체를 가리킵니다. 어원적으로는, 원래 이동통신업계에서 MVNO 사업자에게 OSS(Operation Support System)과 BSS(Business Support System) 등의 서비스와 솔루션을 제공하는 업체를 가리키는 단어인 "MVNE(Mobile Virtual Network Enabler)"에서 맨 앞의 "Mobile" 부분만 떼어 낸 것입니다.
MVNO 사업자가 실제 망을 가지고 있지 않고 MNO의 설비와 MVNE의 시스템을 빌려 쓰는 것처럼, IPoE 환경에서 ISP는 NTT의 설비와 VNE의 게이트웨이를 빌려 쓰는 것뿐이며 실제 인터넷 연결 서비스를 제공하지 않습니다.
일본에서 IPoE 환경을 이용해 인터넷에 연결하면 global IPv6 주소가 할당됩니다. 이것은 NGN 내부에서 사용되는 private IPv6주소와는 다른 public IPv6 주소로, VNE사에서 보유하고 있는 IPv6 주소 풀 중에서 하나가 부여됩니다.
IPv6/IPoE환경에서 IPv6호스트로 패킷을 전송하는 경우, IPv4/PPPoE에서와는 달리 패킷은 별도의 캡슐화를 거치지 않고, 그대로 NGN망으로 홀러갑니다. NGN의 라우터는 패킷의 sender address를 보고, 해당 주소가 어느 VNE사의 것인지를 확인하여 VNE사가 보유한 NGN-인터넷 게이트웨이로 패킷을 라우팅합니다(policy based routing).

IPv6/IPoE 환경에서는 IPv4/PPPoE와는 달리 encapsulation-decapsulation 연산으로 인한 오버헤드가 없고, 낡은 망종단장비 대신 대용량의 VNE 게이트웨이로 바로 가기 때문에 더 빠른 속도를 실현할 수 있는 것입니다.
지금까지 설명한 내용을 보면 아시겠지만 일본식 IPoE의 경우 정확히는 IPv6oE라고 하는 게 맞을 것입니다. 사용자 컴퓨터에서 NGN을 거쳐 VNE에 도착하기까지 전 구간이 IPv6이니까요.
IPoE에서 IPv4 사용하기: 일본 특색 MAP-E
그럼 IPv4 통신은 어떻게 하느냐? 두가지 방식이 있습니다.
- IPv4는 PPPoE로 IPv6은 IPoE로 통신한다
- IPoE만 사용하고, IPv4패킷을 보낼 일이 있으면 IPv6위로 캡슐화해서 보낸다
이 중 2번 방법을 위해 가장 보편적으로 사용되는 방식이 MAP-E이고, MAP-E를 이용한 IPv4서비스에 대해 일본 최대 규모의 VNE사인 JPIX(구 JPNE)에서 붙인 서비스명이 v6플러스(v6プラス)입니다.
MAP-E에서는 global IPv6주소와 사전할당된 몇 가지 값에 따라 특정 IPv6주소의 사용자가 사용할 수 있는 global IPv4주소와 포트범위가 정해지게 됩니다. 고객 측에 설치된 CPE는 MAP Rule에 따라 사용자에게 할당된 IPv4 집피와 포트번호를 계산하여 가지고 있습니다. 이 때 MAP rule은 DHCPv6-PD나 Router Advertisement에 의해 가정의 CPE에 배포됩니다.

IPv4 네트워크와 통신을 할 때, 고객 측 CPE는 IPv4패킷을 IPv6 위에서 캡슐화하여 NGN으로 던지게 됩니다. NGN을 넘어 VNE측 게이트웨이에 도착하면 게이트웨이는 캡슐에 담긴 IPv4패킷의 source 주소와 허용된 포트 범위가 허용된 값과 일치하는지 확인하고, 일치한다면 그대로 외부 인터넷으로 던지는 것입니다.
이러한 구조를 통해 ISP...가 아니라 VNE의 입장에서는, 일반적인 CGNAT을 사용했을 때와는 달리 NAT을 위한 상태관리를 해 줄 필요가 없다는 장점이 있습니다. 하지만 엔드유저 입장에서는 대충 랜덤 포트 범위를 포트포워딩으로 열 수 있는 CGNAT64처럼 동작한다고 생각하면 되겠습니다.
MAP-E는 IETF에 의해 RFC 7597로 표준화되어 있습니다만 실제 NTT에서 사용하는 MAP-E는 일본 특색 MAP-E...가 아니라 표준 확정 이전의 draft-ietf-softwire-map입니다. (draft버전이 00인지 03인지는 확실하게 컨펌된 바가 없습니다)