世界を動かす技術を、日本語で。

IPv6が優れた設計であった世界 (2017)

2026年4月19日原文(apenwarr.ca)

概要

  • IPv6の設計と複雑さの背景をIETF会議で探求した体験記
  • ネットワーク技術の歴史的進化と設計思想の違いを解説
  • バス型LANやEthernet、MACアドレスの登場とその課題を説明
  • ブリッジやルーティング、ARPの仕組みと問題点に言及
  • IPv6がIPv4の単純な拡張ではない理由を技術的・歴史的文脈から考察

IPv6が「良い設計」だった世界

  • 2023年11月、初めてIETF会議に参加した体験
  • IETFは、 保守作業既存技術の拡張先端的な新規提案 が混在する場
  • TCP BBRの初発表に対する反応は「 期待と疑念 が入り混じる」もの
  • 会議ではIPv6関連の発表が多く、「 IPv4の時代は終わるべき」という意見が目立つ
  • IPv6がなぜ複雑なのか、なぜ単純なIPv4の拡張ではないのかを現場で調査

バス型ネットワークの誕生と混乱

  • 初期の電話網は物理的な回線交換で、 アドレス不要 の単純な構造
  • TDMや仮想回線交換の導入で、複数回線の効率的利用が可能に
  • インターネット(当時は別名)は 点対点回線 を利用し、IPアドレスやルーティングの概念が誕生
  • ローカル接続のためのバス型LANが登場し、 MACアドレス など独自のアドレス体系が乱立
  • arcnetやEthernetなど、各方式ごとにアドレス設定や管理方法が異なる

EthernetとMACアドレスの進化

  • Ethernetは 48ビットのMACアドレス で一意性を確保、設定の手間を削減
  • LANプロトコルごとに異なる方式が存在し、NetwareやIPXなども普及
  • 大規模ネットワークの登場で、 複数バスの相互接続(ブリッジング) が必要に
  • MACアドレスは 階層化できず、効率的なルーティングが困難
  • ブリッジテーブルの自動生成やスパニングツリーアルゴリズムの誕生

ブリッジングの問題点と限界

  • ブリッジは 高速だがデバッグ困難 で、ネットワーク規模拡大で問題が顕在化
  • Ethernetの速度(10Mbps)を最大限活用するためのハードウェア最適化が進む
  • ブリッジのルート最適化やブロードキャストフラッドが運用上の課題

インターネットとバス型LANの接続

  • インターネット技術者は LAN技術の進化 を積極的に取り入れ
  • 個別コンピュータ間の接続から、 LAN同士の接続 (長距離ブリッジ)への発展
  • Ethernetブリッジは 帯域・混雑制御が未発達 で、WAN接続には不向き
  • インターネットプロトコルによるLAN接続の標準化が進行

ルーティングとARPの複雑化

  • IPパケットをLAN上で転送する際、 どのルータが転送するか の指定が必要
  • ルータの指定に MACアドレス が必要だが、設定時はIPアドレスで指定するのが一般的
  • OSはARP(Address Resolution Protocol)で IPアドレスからMACアドレスへ変換
  • ARPは ブロードキャスト を多用し、大規模LANではネットワーク負荷増大の原因
  • ブリッジやルータの混在環境で、 運用とデバッグの複雑化 が進行

このような歴史的経緯と設計思想の違いが、IPv6が単なるIPv4の拡張にとどまらず、 複雑な仕様 となった背景である。

Hackerたちの意見

すごく面白い記事をシェアしてくれてありがとう!でも、一つよくわからない点があって、誰か教えてくれたら嬉しいな。著者が「Wi-FiでもCSMA/CDプロトコルはもう使われていない」と言っているけど、実際にはどうやって動いているの?このことについて、著者はこう説明してるんだよね。>「同じアクセスポイントに接続された2つのWi-Fiステーションは、直接お互いに話さないんだ。たとえお互いの声が聞こえていてもね。だから、各ステーションは、自分が聞いているものが自分のためのものかどうかを判断しなきゃいけない。別のステーションがAPに話しかけているかもしれないし、APが別のステーションに話しかけているかもしれないから。CSMA/CD(またはそれに似たもの)を使わずに、これはどうやって実現されているの?」

「これはどうやって実現されているの?CSMA/CD(またはそれに似たもの)を使わずに?」私の知る限り、Wi-Fiは常にCSMA/CAを使っていて、802.11ax規格からはOFDMAも使われているよ。詳しくはここを見てね:https://en.wikipedia.org/wiki/Hidden_node_problem#Background

この記事、何が言いたいの?私のネットワークはMACアドレスに基づいて自動的にIPv6アドレスを割り当てるって?それでステートレスIPv6ができるの?それにしても、IPv6はIPv4の枯渇とNATのせいで、もっとIPアドレスを持つためのものだったよね?私のXboxは「ネットワークがクソだ」って言ってるけど、これは完全に北米的な視点だね。

IPv4がないとXboxは動くの?私の会社のWindowsデバイスは動かないし、他のゲーム機もそうだって知ってる。

「私のXboxはネットワークがクソだって言ってる、IPv6がないから」多分、UPnPがないことについて文句を言ってるんだと思う。確かに、IPv6があれば問題じゃないんだけど…皮肉なことに、コンソールは自分たちでIPv6のサポートを導入するのが遅れてるから、Xboxが本当にサポートしてるのか気になるな。

「私のネットワークはMACアドレスに基づいて自動的にIPv6アドレスを割り当てるって?それでステートレスIPv6ができるの?」ちょっと指摘したいんだけど、RFC8064[0]によると、ほとんどの現代の非サーバーデバイスは、MACアドレス/EUI64を使うんじゃなくて「意味的に不透明なインターフェース識別子」でアドレスを設定するべきなんだ。安定したアドレスは、受信トラフィックに使われて、送信トラフィックはランダム化された一時的なプライバシーアドレスを使って、時間とともに変わるんだ。ステートレス性は、DHCPv6のような中央集権的な設定ではなく、デバイスがSLAACを使ってアドレスを自己割り当てすることで実現されるんだよ。[0] https://datatracker.ietf.org/doc/rfc8064/ [1] https://datatracker.ietf.org/doc/rfc7217/

この投稿のARPに対するネガティブな見方は好きじゃないな。ARPがあるおかげで、ルーターなしでLAN上でIPネットワークができるんだから。デフォルトゲートウェイは、LAN上の一般的なIPネットワークの特別なケースになるだけだよ。それ以外は、この投稿のネットワーキングの歴史部分はすごく面白い。まだIPv6の部分には到達してないけど。

でも、ARPが暗示するレイヤー2アドレスの解決の問題に対処する方法はそれだけじゃないし、ARPが引き起こすレイヤー違反や広範なブロードキャストトラフィックを導入せずに解決できるよ。例えば、IPv6のNDPは実際のIPv6パケット(ICMPv6)に基づいているから、偽のIPに似たものじゃないんだ。レイヤー違反もないし、マルチキャストのおかげで、レイヤー2ネットワークに大量のブロードキャストトラフィックを流す必要もないんだ。

とても興味深い投稿ですね。IPv6が単に大きなIPv4になるだけだとは考えたことがなかったです。それに、1990年に作られたのに、最近やっと50%の普及率に達したのも面白いですね。

年に騙されないで。IPv6は90年代に設計されたけど、実際に使われ始めたのは2012年からなんです。

その50%の普及率は、中国が2017年のほぼゼロから2025年には80%以上に増えたからこそ、ここまで高くなったんだよ。彼らはIPv6の普及を5カ年計画の一環に含めたからね。

我々の世界。私たちの世界では良いデザインだったと思います。v6がプロトコルデザインの絶対的な頂点とは思わないけど、誰かが「悪い」と言って、より良い代替案を考えようとすると、結局はIPv6と同じようなものが出てくるんですよね。もしみんながv6より良いものを一貫して作れないなら、v6はかなり decent だと言えると思います。

Hacker Newsで議論の続きを見る