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

接続実験 開催概要

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
    土屋 師子生 (シスコシステムズ合同会社)
    大久保 修一 (さくらインターネット株式会社)

    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

    プログラム 発表者 時間 資料
    Openning シスコシステムズ合同会社 土屋 師子生
    さくらインターネット株式会社 大久保 修一
    18:00-
    IETF Status ソフトバンクテレコム株式会社 松嶋 聡 18:10-
    STUN/P2P検証用Client 株式会社コナミデジタルエンタテインメント
    佐藤 良
    18:25-
    ベンダ発表 古河ネットワークソリューション株式会社
    村井 朋生
    18:35-
    シスコシステムズ合同会社 土屋 師子生 18:50-
    休憩 19:05-
    ベンダ発表 IP Infusion Inc. 柏木 千里 19:15-
    ASAMAP
    有限会社 銀座堂 浅間 正和
    19:30-
    株式会社インターネットイニシアティブ
    佐原 具幸
    19:45-
    ヤマハ株式会社 里吉 一浩 20:00-
    CERNET
    フリービット株式会社 陳 茂科 (CHEN, Maoke)
    20:15-
    JANOG31会場NW インターネットマルチフィード株式会社 川上 雄也
    NTTコミュニケーションズ株式会社 西塚 要
    20:30-
    Wrapup 20:40-

    ■現地での参加
    相互接続試験参加者のみでお願いします。

    ■リモートからの参加
    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関連のコマンドを叩いてみる

    1. ASAMAP CEの場合
      • 設定を確認する
      • $ show configuration
      • 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
    2. SEIL/x86 CEの場合
      • MAP の動作状況やポート番号の利用状況を表示する
      • $ show status frd
      • MAP 関連の設定を表示する
      • $ show config frd
      • NAPTセッションテーブルを表示する
      • $ show status nat
      • NAPT関連のサマリ情報を表示する
      • $ show status nat summary
    3. IP Infusion CEの場合
      • MAP-E統計情報を確認する
      • $ /sbin/ip -f inet6 tunnel stats map1
      • MAP-E設定情報を確認する
      • % /sbin/ip -f inet6 tunnel show map1
    4. ASAMAP BRの場合
      • 設定を確認する
      • $ 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 {
                }
            }
        }
    }
    (略)
    

    参考文献

    参考資料

    * I-D

    * RFC

    * ENOG17 Meeting

    * JANOG31

    * その他