IPv4 over IPv6ステートレストンネリングプロトコル相互接続性テストWG
- テーマ・目標:
IETF Softwire WGでWG documentとして議論されているMAP/4rdなどのプロトコルの実装促進
IPv6時代のIPv4運用に関するオペレーターからのフィードバックによる標準化促進 - チェア: 土屋 師子生 氏、大久保 修一 氏
- 期間: 2012年 7月27日〜2013年 1月30日
- 予定される成果物:
JANOGでの発表
IETFでのインプリメントレポートの提出
ベンダー実装の促進化(間接的)
Standard RFC発行の促進化(間接的) - メーリングリスト: softwire-wg_at_janog.gr.jp
参加方法: https://www.janog.gr.jp/mailman/listinfo/softwire-wg
- JANOG31における中間報告: Softwire WG 活動報告
接続実験 開催概要
IPv6のネットワーク上でIPv4パケットを運ぶ標準化は非常に困難を極めていました。
既に全国規模にIPv6アクセスが提供されている日本においては、この技術は必要不可欠と考えられ、多くの日本ベンダーも4rdという形で実装しています。
IETF84では標準化プロトコルとしてMAP-Eが選定されました。
JANOG Softwire WGでは、各ベンダーの実装促進およびオペレーターコミュニティのフィードバックによる標準化促進を実現すべく、MAP-Eでの相互接続試験を実施する事になりました。
今回、相互接続試験を実施するにあたり、株式会社NS・コンピュータサービス様に機器設置場所、インターネット環境をご提供頂く事になりました。
また開催場所の検討をENOGメンバーにご協力頂いてます。
■開催場所
株式会社NS・コンピュータサービス 情報センター(新潟県長岡市)
■開催期間
2012年10月24日(水),25日(木),26日(金)
■参加者リスト (50音順、敬称略)
- ベンダー
- IP Infusion Inc.
小野 航平 、柏木 千里 - 株式会社インターネットイニシアティブ
佐原 具幸 - 有限会社 銀座堂
浅間 正和 、石本 勝一 - CERNET
Congxiao Bao - シスコシステムズ合同会社
土屋 師子生 - 古河ネットワークソリューション株式会社
神谷 尚秀、斉藤 秀一、村井 朋生 - ヤマハ株式会社
里吉 一浩 、鋤崎 岳広 - 試験協力者
- 株式会社NS・コンピュータサービス
江部 仁士 、長部 隆幸 - 株式会社グローバルネットコア
金子 康行 - 株式会社コナミデジタルエンタテインメント
佐藤 元彦 、佐藤 良 - さくらインターネット株式会社
大久保 修一 - シスコシステムズ合同会社
飯村 卓也 、印南 鉄也 - ソフトバンクテレコム株式会社
松嶋 聡 - ソフトバンクBB株式会社
岡 薫 - 日本ネットワークイネイブラー株式会社
久保田 聡 - フリービット株式会社
陳 茂科 (CHEN, Maoke) - 高田 美紀
■協力
越後ネットワーク・オペレーターズ・グループ(ENOG)
- Softwire WG Chairs
土屋 師子生 (シスコシステムズ合同会社)
大久保 修一 (さくらインターネット株式会社)
- ASAMAP CEの場合
- 設定を確認する
$ show configuration
JANOG Softwire WG Interim Meeting
JANOG Softwire WG では、2012年10月末、新潟県長岡市にて相互接続試験を実施致しました。
開発の早い段階および厳しいパラメーターの中での試験となり、幾つかの不具合などを発見することができました。
本「JANOG Softwire WG Interim Meeting」にて、参加ベンダーの方々にその後の修正内容などをご報告頂きたく思います。
当日現地での参加は試験参加者に限らせて頂きますが、会議の様子は全ての方々にWebEXにて公開予定です。
尚、発表者の判断によりWebEXを中断する可能性があります。ご理解ご協力の程、よろしくお願い致します。
■開催場所
シスコシステムズ合同会社
六本木ミッドタウン21階
地図: http://www.cisco.com/web/JP/news/ga/map_tokyo.html
■開催日時
2012/12/20 (木) 18:00-21:00 (開場 17:45)
■Agenda
■現地での参加
相互接続試験参加者のみでお願いします。
■リモートからの参加
Cisco WebEXにて会議の様子を公開します。
当日会場に来られない方、相互接続試験参加者以外の方も参加可能です。
MAP-Eクラウドテストラボ
MAP-Eクラウドテストラボは、2013/1/31にて提供を終了しました。ご協力いただいた皆様、ありがとうございました。
JANOG Softwire WGでは、 JANOG31でのWG活動報告の発表、 またそれに関連して、MAPチュートリアルの実施、 JANOG31会場ネットワークへのMAP-E環境提供といった活動を行なっております。
しかし、説明を聞いたり利用してみたりするだけではなく、実際にMAP-Eの動作している装置を触ってみたいという参加者さんもいらっしゃるかと思います。
そこで、リモートからログインして自由にコマンドを叩いて動作確認できる、MAP-E相互接続テスト環境をクラウド上に構築しました。思う存分いじり倒してみてください。
ここでは、以下の環境を試すことができます。
| 提供者様 | 機器種別 |
|---|---|
| 有限会社銀座堂 浅間様 | ASAMAP(Vyatta) CEとBR |
| 株式会社インターネットイニシアティブ様 | SEIL/x86 CE |
| 株式会社ACCESS / IP Infusion Inc.様 | CE |
※ 提供者の皆様にこの場を借りてお礼申し上げます。
※ クラウド環境にはさくらのクラウドを使用しております。
なお、提供期間は2013年1月15日〜2013年1月31日までとなっております。
ネットワーク構成
MAP-Eパラメータ
| パラメータ | 設定値 |
|---|---|
| Rule IPv6 prefix | 2001:e40:10c::/48 |
| Rule IPv4 prefix | 133.242.63.176/28 |
| End-user IPv6 prefix | 2001:e40:10c:2100::/56 |
| 2001:e40:10c:2200::/56 | |
| 2001:e40:10c:2300::/56 | |
| EA bits | 8bit(56-48) |
| Port-Set ID | 4bit |
| PSID offset | 4 |
| BR IPv6 address | 2001:e40:10c::cafe |
| Topology | Mesh |
MAP-E関連のコマンドを叩いてみる
- MAP-E設定を確認する
$ show interfaces map map0
- NAPTセッションテーブルを確認する
$ show interfaces map map0 napt
- MAP Rule一覧を確認する
$ show interfaces map map0 rule
- カプセル化前のパケットダンプを見る
$ sudo tcpdump -i eth2 -nn
- カプセル化されているパケットダンプを見る
$ sudo tcpdump -i eth1 -nn
- MAP の動作状況やポート番号の利用状況を表示する
$ show status frd
- MAP 関連の設定を表示する
$ show config frd
- NAPTセッションテーブルを表示する
$ show status nat
- NAPT関連のサマリ情報を表示する
$ show status nat summary
- MAP-E統計情報を確認する
$ /sbin/ip -f inet6 tunnel stats map1
- MAP-E設定情報を確認する
% /sbin/ip -f inet6 tunnel show map1
- 設定を確認する
$ show configuration
- MAP-E設定を確認する
$ show interfaces map map0
- MAP Rule一覧を確認する
$ show interfaces map map0 rule
- カプセル化前のパケットダンプを見る
$ sudo tcpdump -i eth1 -nn
- カプセル化されているパケットダンプを見る
$ sudo tcpdump -i eth2 -nn
各機器の設定内容
ASAMAP CE
firewall {
all-ping enable
broadcast-ping disable
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
modify mssclamp {
default-action accept
rule 1 {
action modify
modify {
tcp-mss 1420
}
protocol tcp
tcp {
flags SYN
}
}
}
receive-redirects disable
send-redirects disable
source-validation disable
syn-cookies enable
}
interfaces {
ethernet eth0 {
address 192.168.255.21/24
duplex auto
hw-id 9c:a3:ba:2a:9a:c7
smp_affinity auto
speed auto
}
ethernet eth1 {
address 2001:e40:10c:1002::11/64
duplex auto
hw-id 9c:a3:ba:25:15:7d
smp_affinity auto
speed auto
}
ethernet eth2 {
address 192.168.0.1/24
address 2001:e40:10c:2100::1/64
duplex auto
firewall {
in {
modify mssclamp
}
}
hw-id 9c:a3:ba:23:3f:92
smp_affinity auto
speed auto
}
map map0 {
br-address 2001:e40:10c::cafe/64
default-forwarding-mode encapsulation
default-forwarding-rule true
ipv6-fragment-size 1500
role ce
rule 1 {
ea-length 8
ipv4-prefix 133.242.63.176/28
ipv6-prefix 2001:e40:10c::/48
}
tunnel-source eth2
}
}
protocols {
static {
interface-route 0.0.0.0/0 {
next-hop-interface map0 {
}
}
route6 ::/0 {
next-hop 2001:e40:10c:1002::1 {
}
}
}
}
(略)
SEIL/x86 CE
mape-ce2> show config frd frd mode ce frd ce-address 2001:e40:10c:2200:85:f23f:b200:200 frd br-address 2001:e40:10c::cafe frd rule add MAP-JANOG31 external-ipv4-prefix 133.242.63.176/28 internal-ipv6-prefix 2001:e40:10c::/48 index-length 8 psid-offset 4
IP Infusion CE
[user@mape-ce3 ~]$ /sbin/ip -f inet6 tunnel show map1
map1: ip/ipv6 map_border_router 2001:e40:10c::cafe
encaplimit none hoplimit 255 tclass 0x00
flowlabel 0x00000 (flowinfo 0x00000000)
map_mode map-e lan_if_name any wan_if_name lo
rule_ipv4_prefix 133.242.63.176/28
rule_ipv6_prefix 2001:e40:10c::/48
rule_ipv6_suffix 0
rule_eabits_length 8
MAP Auto set address : on
MAP Auto Default Route : on
PSID offset 4
u_byte 0
ttl_propagation : on
debug_level 0
MAP Filter information:
fmr (on)
splithorizon (off)
in6src_gw_only (off)
outv4src_map_only (off)
outv4src_deny_map (off)
outv4dst_deny_map_icmpecho (on)
encap_src_check (on)
allow_private (on)
mss (none)
ASAMAP BR
vyatta@mape-br:~$ show configuration
firewall {
all-ping enable
broadcast-ping disable
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
receive-redirects disable
send-redirects disable
source-validation disable
syn-cookies enable
}
interfaces {
ethernet eth0 {
address 192.168.255.31/24
duplex auto
hw-id 9c:a3:ba:2a:30:65
smp_affinity auto
speed auto
}
ethernet eth1 {
address 133.242.63.164/28
description "network is /27 but configuration is /28 due to use proxyarp"
duplex auto
hw-id 9c:a3:ba:23:4a:6d
ip {
enable-proxy-arp
}
smp_affinity auto
speed auto
}
ethernet eth2 {
address 2001:e40:10c:1001::2/64
duplex auto
hw-id 9c:a3:ba:21:5e:64
smp_affinity auto
speed auto
}
map map0 {
br-address 2001:e40:10c::cafe/64
default-forwarding-mode encapsulation
ipv6-fragment-size 1500
role br
rule 1 {
ea-length 8
ipv4-prefix 133.242.63.176/28
ipv6-prefix 2001:e40:10c::/48
}
}
}
protocols {
static {
interface-route 133.242.63.176/28 {
next-hop-interface map0 {
}
}
route 0.0.0.0/0 {
next-hop 133.242.63.161 {
}
}
route6 ::/0 {
next-hop 2001:e40:10c:1001::1 {
}
}
}
}
(略)
Router(Vyatta)
vyatta@router:~$ show configuration
interfaces {
ethernet eth0 {
address 133.242.63.166/27
duplex auto
hw-id 9c:a3:ba:27:7d:f6
smp_affinity auto
speed auto
}
ethernet eth1 {
address 2001:e40:10c:1001::1/64
duplex auto
hw-id 9c:a3:ba:20:c2:97
smp_affinity auto
speed auto
}
ethernet eth2 {
address 2001:e40:10c:1002::1/64
duplex auto
hw-id 9c:a3:ba:23:cc:30
smp_affinity auto
speed auto
}
ethernet eth3 {
address 192.168.255.5/24
hw-id 9c:a3:ba:23:e6:10
}
tunnel tun0 {
description to-rs01
encapsulation sit
local-ip 133.242.63.166
mtu 1280
multicast disable
remote-ip 61.211.224.99
}
}
protocols {
static {
interface-route6 ::/0 {
next-hop-interface tun0 {
}
}
route 0.0.0.0/0 {
next-hop 133.242.63.161 {
}
}
route6 2001:e40:10c:2100::/56 {
next-hop 2001:e40:10c:1002::11 {
}
}
route6 2001:e40:10c:2200::/56 {
next-hop 2001:e40:10c:1002::12 {
}
}
route6 2001:e40:10c:2300::/56 {
next-hop 2001:e40:10c:1002::13 {
}
}
route6 2001:e40:10c::cafe/128 {
next-hop 2001:e40:10c:1001::2 {
}
}
route6 2001:e40:10c::/48 {
blackhole {
}
}
}
}
(略)
参考文献
- SEIL/SMFコミュニティ: JANOG31 MAP-Eクラウドテストラボに SEIL/x86 を提供しました
- MAP 対応 Vyatta(ASAMAP)仮置き場
https://www.seil.jp/community/node/97
参考資料
* I-D
- Mapping of Address and Port with Encapsulation (MAP)
http://tools.ietf.org/html/draft-ietf-softwire-map - Stateless IPv4 over IPv6 report
http://tools.ietf.org/html/draft-janog-softwire-report - MAP Testing Results
http://tools.ietf.org/html/draft-xli-softwire-map-testing
* RFC
- Network Address Translation (NAT) Behavioral Requirements for Unicast UDP
http://tools.ietf.org/html/rfc4787 - Session Traversal Utilities for NAT (STUN)
http://tools.ietf.org/html/rfc5389 - NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)
http://tools.ietf.org/html/rfc5780
* ENOG17 Meeting
- ENOG17 Meeting を開催しました
http://enog.jp/archives/820 - IPv4 over IPv6 技術の最新動向 – 馬渡将隆
http://enog.jp/wp-content/uploads/2012/10/ENOG17_IPv4_over_IPv6.pdf - JANOG Softwire WG 相互接続試験の中間報告 – 土屋師子生
http://enog.jp/wp-content/uploads/2012/10/enog17-shtsuchi.pdf - ASAMAP 開発秘話 – 浅間正和
http://www.slideshare.net/m-asama/asamap
* JANOG31
- MAPチュートリアル
http://www.janog.gr.jp/meeting/janog31/tutorial/index.html - Softwire WG 活動報告
http://www.janog.gr.jp/meeting/janog31/program/softwire.html - MAP-BR redundancy demo
http://www.youtube.com/watch?v=ulvAaSM9nPc
* その他
- Paris MAP 実装してみた – 浅間正和
http://www.slideshare.net/m-asama/map-14353679 - JANOG Softwire WG Activity@APRICOT 2013 – Shishio Tsuchiya
http://www.apricot2013.net/program/apricot-ipv6-session



