Tech Sketch Bucket of Technical Chips by TIS Inc.

イーサネットとIEEE 802.3は別物? 〜 IEEE 802.3小ネタ(3)

Pocket

 banner-ieee8023topics.png

技術標準規格ってお堅いものの代表ですが,そんなお堅い標準規格のひとつ,イーサネットの標準規格を定めているIEEE 802.3を,ちょっとマニアックな視点からイジってみようというシリーズです。
もしかしたら第1回目から気になっていた方がいらっしゃるかもしれません。"「IEEE 802.3」は「イーサネット」の標準規格を定めている"と書いているのですが,これって正しいのかどうかをテーマにしてみます。

同軸ケーブルで結ばれた世界をCSMA/CDが統治していた昔話の中では,「イーサネットとIEEE 802.3を混同するなかれ!」という戒めの言葉がありました。でも今は「これはIEEE 802.3?イーサネット?どっちですか?」なんて話は聞きません。気にもしません。では,なぜ昔は「混同するなかれ」と言っていたんでしょう。

イーサネットとIEEE 802.3のフレームフォーマットは次の様になっています。ここで"イーサネット"と呼んでいるのは(今この時点では),オリジナルのDIX(DEC/Intel/Xerox)仕様のイーサネットIIです。

Figure_ieee8023topics_2_1.png

参考 [★2]など

この点について,ある文献では次の様に説明されています(要約してあります)。...[★1]

イーサネットIIとIEEE 802.3のフレームのフォーマットは,よく似てはいるが,わずかな違いが1つあるため,イーサネットII準拠の通信ノードと,IEEE802.3準拠の通信ノードとでは通信が出来なくなっている。けれど,IEEE802.3方式のLANを使っている人も,正確ではないにもかかわらず"イーサネット"と呼ぶことがある。

つまり,『イーサネットとIEEE802.3を混同するのは間違いだ』と言ってますね。そうそう,この話,以前は何度も聞きました。

しかし,別の文献では次の様に書かれています(これも要約してありますが,表現がやや物語調なのは元からです)。...[★2]

イーサネットとIEEE 802.3は,2つの軽微な違いを除いて同一で,多くの人々は 「イーサネット」と「IEEE 802.3」という用語を同じ意味で使用しているので,本書でもそのように使用する。
〜〜中略〜〜
IEEE 802.3 ではイーサネットII書式に2つの変更が加わっているが,IEEE 802.3が公表されたときにはイーサネットIIが多く使われていたので,IEEE 802.3が変更した規格を採用する機器はほとんどなかった。1997年にIEEEはついにあきらめて,両方と互換性がある規格に変更した。(両規格で中身が違っていたのは,イーサネットIIでのタイプフィールド/IEEE 802.3での長さフィールドだが),幸いなことに1997年まで,すべてのタイプフィールドは1500よりも大きい値が用いられていたので,値が1500以下の場合は長さとして,1500より大きい値の場合はタイプとして解釈することにできた。

こちらでは,『イーサネットとIEEE802.3は同じ意味で使って大丈夫だよ』と。

実は,上記の文献[★1]は1997年の初頭に原著が出版されたものです。執筆は1996年までのことと思いますので,上記の様な記述になっていてもやむを得ないというか,この時点では極めて正しい解説をしていることになります。

もう1点,奇妙なズレがありますね。前者では『違いは1か所だけ』ですが,後者では『2か所変えた』と書いてあります。
タイプ/長さフィールドと,もう1点の違いは,上の図を見ればわかりますが,プリアンブルとSFD(Start Frame Delimiter)の部分です。ただ,ここは単に区切り方と呼び方を変えただけで,実質的には同じものなので差異ではないということですね。 ( [★3])。

なお,ここでは省略しますが,IEEE 802.3の原典でも,文献[★2]に沿った内容で規定されています。...[★4]
つまり,"イーサネットとIEEE802.3は厳密には別物だ"という古(いにしえ)の教え自体が,今ではもう古いということで割り切って良さそうです。

screenshot-WireShark(2).png

WiresharkでLAN上のパケットをキャプチャしてみたもの:
DHCPv6 (IPv6用DHCP) のパケットの中身を見てみると,type/長さフィールドには,IPv6パケットを示す86ddのタイプが設定されているのがわかります。


■今回の小ネタ

『IEEE 802.3とイーサネットとは本当は違うんだよ』は年寄りの戯れ言

"戯れ言"ではなくて本気でまだそう思っているベテランもいらっしゃるかもしれません。気をつけましょう。また,次の様に主張される場合もあるかもしれません: 「IEEE 802.3がイーサネットとも互換性があるように規格を拡張したからと言って,まったく同じものになったわけじゃ無い」と。これは一理あります。次節でこの話を続けます。



[★1] Philip Miller(著), 刈田幸雄(監訳),「マスタリングTCP/IP 応用編」,オーム社,1998年
このコラムでは悪者にしてしまいましたが,この本はたいへんに良書です。ただ,1998年以降に状況が変わってしまった点は折り込まれていませんので,いかにせよちょっと古くなりましたね。なお,同じ「マスタリングTCP/IP」シリーズの姉妹本の「入門編」をご存知の方も多いでしょう(著者は異なります)。入門編の方は改訂を重ねて第5版が出版されました。

[★2] Andrew S. Tanenbaum(著), 水野忠則/他(訳),「コンピュータネットワーク 第4版」,日経BP,2003年
この本もオリジナルは古いんですが,数年ごとに改訂版が出て,最新状況にアップデートされています。新しいネットワーク技術が追加解説されている点も評価できますが,既存の部分もちゃんと見直しされている様なのが偉いと思います。薄い本ではないので,かなりの労力を掛けて改訂していると思われます。なお,私が参考にしたのは上記の通り"第4版"なんですが,最近第5版の邦訳が出版されました。

[★3] http://www.atmarkit.co.jp/ait/articles/0107/05/news001_3.html

[★4] IEEE Std 802.3-2012, Section 1, p.53, ("3. Media Access Control (MAC) frame and packet specifications").
http://standards.ieee.org/about/get/802/802.3.html から入手できます。

エンジニア採用中!私たちと一緒に働いてみませんか?