Ethernetのオーバーヘッドサイズとフレームフォーマットについて

このQ&Aのポイント
  • EthernetにはEthernet(2)(DIX仕様)とIEEE802.3Ethernetの2種類があり、普段使われているのはどちらかを教えてください。
  • Ethernet(2)(DIX)とIEEE802.3Ethernetのフレームフォーマットの違いを調べています。各フィールドの長さやCRCの有無など、正確な情報が欲しいです。
  • PPP、HDLC、フレームリレーのフレームフォーマットやオーバーヘッドサイズについて教えてください。
回答を見る
  • ベストアンサー

Ethernetについて

専用線などの必要帯域を計算するためにIPパケットのオーバーヘッドサイズを調べています。 TCP/IPのオーバーヘッドは40bytesなんですが、L2の規格がよくわかりません。(Ethernet、PPP、HDLC、FR等) 特にEthernetのオーバーヘッドサイズについてネット調べてるのですが、見るページによって微妙に書いてあることが違います。 そこでいくつか教えてください。 <1> Ethernetには主に「Ethernet(2)(DIX仕様)」と「IEEE802.3Ethernet」の2種類がありますが、私たちが普段使っているのはどちらですか? <2> Ethernet(2)(DIX)とIEEE802.3Ethernetのフレームフォーマットを教えてください。 見るページによって微妙に違うので困ってます・・・ 私が調べた限りでは以下のようになってますが、間違ってますか? 【Ethernet(2)(DIX)】 +----------+----+---+----+----+-----+-----+ |プリアンブル| SFD | DA | SA | Type |データ| FCS | +----------+----+---+----+----+-----+-----+ プリアンブル:7bytes StartFrameDemilita:1bytes Dst Addr:6bytes Src Addr:6bytes EtherType:2bytes データ部:46~1500bytes FCS(CRC):4bytes 【IEEE802.3Ethernet】 +----------+----+---+----+----+----+------+-----+----+ |プリアンブル| SFD | DA | SA | Leng | LLC | SNAP |データ| FCS | +----------+----+---+----+----+----+------+-----+----+ プリアンブル:7bytes StartFrameDemilita:1bytes Dst Addr:6bytes Src Addr:6bytes Length :2bytes LLC   :3bytes SNAP  :3bytes データ部:38~1492bytes FCS(CRC):4bytes <3> PPP、HDLC、フレームリレー、のフレームフォーマットかオーバーヘッドサイズがわかれば教えてください。 わかる部分だけでも良いのでお願いします。

  • kurio
  • お礼率62% (260/417)

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

下記の本などで調べてみました。 http://www.njg.co.jp/cgi-local/kensaku.cgi?isbn=ISBN4-534-03488-1 <1> ほとんどの場合、DIX仕様のフォーマットを使用するのが通例だそうです。 <2> 【Ethernet(2)(DIX)】は、合っていると思います。 【IEEE802.3Ethernet】の方は、正確に言うと、IEEE802.3とIEEE802.2とSNAPを組み合わせたフォーマットということになります。 DIXと異なる部分の仕様のうち、IEEE802.3では“Length”の部分のみ定義しており、“LLC”はIEEE802.2で定義、“SNAP”もそれらとは別の仕様です。 <3> 【PPP】 プロトコルID | 制御メッセージ or レイヤー3プロトコル プロトコルID:2byte 実際にはHDLCなどと組み合わせて使われることが多いようです。 ・ダイアルアップ接続の場合 フラグシーケンス | アドレスフィールド | 制御フィールド | プロトコルID | 情報フィールド | FCS | フラグシーケンス 【HDLC】 フラグシーケンス | アドレスフィールド | 制御フィールド | 情報フィールド | FCS | フラグシーケンス フラグシーケンス:8bit(7Eh固定) (フレームの最初・最後共に) アドレスフィールド:? 制御フィールド:8bit 情報フィールド:任意長 (回線品質等によって最大長を定める場合もある) FCS:16bit 【フレームリレー】 何の上位プロトコルを運ぶかなどによって、フォーマットが何種類かあるようです。 ・TCP/IPを運ぶ場合(RFC1490) フラグシーケンス | アドレス | コントロール | パディング | NLPID | IPパケット | FCS | フラグシーケンス フラグシーケンス:8bit(7Eh固定) (フレームの最初・最後共に) アドレス:16bit コントロール:8bit(03h固定) パディング:0 or 8bit NLPID:8bit(cch固定) FCS:16bit

kurio
質問者

お礼

>ほとんどの場合、DIX仕様のフォーマットを使用するのが通例だそうです。 Webで調べると802.3が主流と書かれていることもあったので迷っていたのですが、本にそう書かれてあるなら信用できますね。 あと、わかれば教えて欲しいのですが、DIX仕様を使った場合でもVLANのTag(4byte)は使えるのでしょうか?VLAN自体はIEEE802.1Qで規定されているので、IEEEとは違うDIX仕様のフレームでも使用できるのか疑問です。 >【PPP】 今回はデジタル専用線を使うときにルータ間をPPPで接続しようと思ってます。その場合もダイヤルアップのフレームフォーマットと同じでしょうか?また各フィールドのサイズもわかれば教えてください。 >【HDLC】 私も調べてみたところ、アドレスフィールドは1byteのようです。 何にせよ技術的なことをWebで調べるには限界がありそうです。 個人で作成してるサイトだとたまに間違いを見つけることもありますので、しっかりした書籍を買ったほうが良いですね。近いうちに本屋にでも言って書籍を探してみます。 回答ありがとうございました。

その他の回答 (2)

  • root139
  • ベストアンサー率60% (488/809)
回答No.3

ちなみに、今、我が家のLANのパケットキャプチャをしたところ、DIX仕様のフレームが流れていました。 我が家は、ごく一般的なブロードバンドルータを使ったネットワークです。

kurio
質問者

お礼

結局本屋でいくつかの本を見て1冊買ってきました。 色々調べていただいてありがとうございました。

  • root139
  • ベストアンサー率60% (488/809)
回答No.2

> あと、わかれば教えて欲しいのですが、DIX仕様を使った場合でもVLANのTag(4byte)は使えるのでしょうか?VLAN自体はIEEE802.1Qで規定されているので、IEEEとは違うDIX仕様のフレームでも使用できるのか疑問です。 件の本では、DIX仕様のフレームでVLANタグの説明がしてあったので、機器が対応していれば使用できるかと。 下記のサイトの図でも、IEEE802.3・DIXのどちらとも取れるフォーマットの様です。 http://www.atmarkit.co.jp/fwin2k/network/tcpip009/tcpip02.html > >【PPP】 > 今回はデジタル専用線を使うときにルータ間をPPPで接続しようと思ってます。その場合もダイヤルアップのフレームフォーマットと同じでしょうか?また各フィールドのサイズもわかれば教えてください。 デジタル専用線とダイアルアップは、同期通信か非同期通信かの違いだけで、フレームフォーマットに違いは無い様です。 フィールドサイズはHDLCと同じかと。 フラグシーケンス | アドレスフィールド | 制御フィールド | プロトコルID | 情報フィールド | FCS | フラグシーケンス フラグシーケンス:8bit(7Eh固定) (フレームの最初・最後共に)) アドレスフィールド:8bit(FFh固定) 制御フィールド:8bit(03h固定) プロトコルID:16bit 情報フィールド:0~1500byte FCS:16bit

関連するQ&A

  • HDLC手順とイーサネットについて

    表記について質問なのですが、唐突ですが、イーサネットでは、HDLC手順のようなことをやっているのでしょうか? というのは、階層モデルや、Ethernetについて調べていたところ、 1 Ethernetには、基本的にEthernet2と呼ばれるものと、IEEE802.3というものがある。 2 802.3では、データリンク層をLLC層(IEEE802.2)とMAC層(IEEE802.3)に分けている。 3 IEEE802.3仕様のLANでは、LLC層でHDLC手順のようなものや、上位プロトコルの識別を行っていて、MAC層で、MACアドレスをつけたりしている。 と解釈しています。 では、Ethernet2では、HDLC手順のようなことはやっているのでしょうか?Ethernet2の規格の中に丸め込まれていて、特に表に出てきていないだけなのでしょうか? それ以前に、イーサネット上では、HDLC手順のようなデータリンク確立等の制御は必要ないのでしょうか?(ほかの層でやっているのか?) 以上、すっとぼけた質問で申し訳ないのですが、ご存じの方がいらっしゃいましたら、よろしくお願いいたします。認識の間違いの指摘等、どんどんしていただければ光栄です。特に上記3でLLC層がやっていることは、かなり怪しい認識です。

  • Ethernet IIとIEEE802.3仕様はどう違うのでしょう?

     イーサネットにはDIX仕様の「Ethernet II」と「IEEE802.3」仕様との二つがあるそうですが、ネットワーク上への共存は可能である、とされています。とすれば仕様の異なるもの同士の通信はできるのでしょうか?(フレームの内容も少し違うようですし)。  またあるところには「現在はEthernet IIが多く用いられている」との記載がありましたが、私は不覚ながら「IEEE802.3仕様」が圧倒的に多いものと思っていました。  ファーストイーサネットやギガビットイーサネットはIEEE802.3仕様だと思うのですが、これらとDIX仕様の関係はどうなってくるんでしょう?  いずれにせよこの二つの仕様を実際にはあまり意識したことがありません。つまりカタカナの「イーサネット」でひとくくりしています。実用上これは絶対に意識していないとLANの構成上困りますよ、というものがあればご教示ください。

  • イーサネットフレームについての質問です。

    コンピュータネットワークについての質問です。(助けて―) 独学なので、助けてください。 VLANは無いものとする。 MTUが1500バイトの通信回線システムにおいて、300KBのデータを送信することを考える。このとき下記の問いに答えなさい。ただし、1kB=1024Bとして計算しなさい。 (1)IPヘッダに20バイト、TCPヘッダに20バイト付加して送信する。全てのデータを送るためには、何パケットに分割すればよいか。 (2)イーサネットフレーム(ヘッダー+FCS)にプリアンブルを付けて送るとき、すべてのデータを送るのに何ビット送ればいいか。 (3) (2)で計算した総ビットを、回線速度が1Mbpsの回線で送るのに必要な時間を計算しなさい。 あとで、自分で解いて確認したいので、計算式(できれば説明)もお願いします。参考書読んでも分かりません↓

  • IPパケットの開始位置識別方法について

     イーサネットフレームは、同期方式にプリアンブル、フレームの開始を識別するためのSFDがありますが、ネットワーク層のIPパケットのヘッダーには見あたらないのですが、同期、パケットの開始位置はどのように識別するのか教えてください。

  • ネットワークについて

    ネットワークに関して勉強をしております。 そこでいくつかわかない点があるので質問しました。 ・イーサーネットフレームについてですがイーサネットはプリアンブル SED、受信・送信MACアドレス、タイプ、データ、FCSを分けられるそうですが ペイロード長=データ、ヘッダ=それ以外と解釈していいのでしょうか?? ・インフラモードとアドホックモードとは ・ブリッジについて 単語の意味に関してですが一応検索して調べてみた物もよく理解できませんでした。 解説よろしくお願いします。

  • データ送信には何ビットかかるか。

    質問です。書籍やWEBで検索しても一向に分かりませんでした。 問題 MTUが1500バイトの通信回線システムにおいて、300KBのデータを送信することを考える。このとき下記の問いに答えなさい。ただし、1KB=1024Bとして計算しなさい。 (2)イーサネットフレーム(ヘッダー+FCS)にプリアンブルを付け送るとき、すべてのデータを送るのに何ビット送ればよいか。 (3) (2)で計算した総ビットを、回線速度が1Mbps回線で送るのに必要な時間を計算しなさい。 申し訳ありませんがよろしくお願いします。

  • データ送信に何ビットかかるか

    質問です。書籍やWEBで検索しても一向に分かりませんでした。 問題 MTUが1500バイトの通信回線システムにおいて、300KBのデータを送信することを考える。このとき下記の問いに答えなさい。ただし、1KB=1024Bとして計算しなさい。 (2)イーサネットフレーム(ヘッダー+FCS)にプリアンブルを付け送るとき、すべてのデータを送るのに何ビット送ればよいか。 (3) (2)で計算した総ビットを、回線速度が1Mbps回線で送るのに必要な時間を計算しなさい。 申し訳ありませんがよろしくお願いします。

  • イーサネットのフレームサイズ

    すみません。素人です。 イーサネットのフレームサイズは最大1500bytesだと思います。 キャプチャしているとサイズが1820bytesのフレームがあります。 これはMTUが自動調整?された為なのでしょうか? No. Time Source Destination Protocol Length Info 824 14:44:01.923131000 192.168.3.66 192.168.3.63 TDS 1820 SQL batch Frame 824: 1820 bytes on wire (14560 bits), 1820 bytes captured (14560 bits) on interface 0 Interface id: 0 (\Device\NPF_{ECF8F6F2-31BA-4ECF-9C24-209B41990ECE}) Encapsulation type: Ethernet (1) Arrival Time: Jul 13, 2015 14:44:01.923131000 譚ア莠ャ (讓呎コ匁凾) [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1436766241.923131000 seconds [Time delta from previous captured frame: 0.001591000 seconds] [Time delta from previous displayed frame: 0.001591000 seconds] [Time since reference or first frame: 23.520874000 seconds] Frame Number: 824 Frame Length: 1820 bytes (14560 bits) Capture Length: 1820 bytes (14560 bits) [Frame is marked: False] [Frame is ignored: False] [Protocols in frame: eth:ethertype:ip:tcp:tds] [Coloring Rule Name: TCP] [Coloring Rule String: tcp] Ethernet II, Src: WistronI_8c:90:96 (f8:0f:41:8c:90:**), Dst: FujitsuT_ec:2f:66 (00:19:99:ec:2f:**) Destination: FujitsuT_ec:2f:66 (00:19:99:ec:2f:**) Address: FujitsuT_ec:2f:66 (00:19:99:ec:2f:**) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Source: WistronI_8c:90:96 (f8:0f:41:8c:90:**) Address: WistronI_8c:90:96 (f8:0f:41:8c:90:**) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Type: IP (0x0800)

  • CRC32のデータ送りの方向について

     送信されてくるethernetフレームを受信しながらCRC32を計算し、 FCSチェックを実施するハード(VHDLによる)を作成しようとしています。  ハードの構成は、下記URL(の中程)のような、1bit単位でのxorにより実施しようと考えています。 http://homepage3.nifty.com/izushi/OTN/tn2/index.html  ethernetフレームで計算されるCRC32が、下記パラメータ、 (1)ビットシフト方向:右 (2)生成多項式:0xEDB88320 (3)初期値(0xFFFFFFFF) (4)出力XOR(0xFFFFFFFF) (5)フレームのLSB側(FCSデータが格納されている方)からデータ送り と一致することは判明し、検証も終わったのですが、 フレームはFCS側からではなく、MSB側(MACアドレス側)から転送されてくるため、 (5)と相反し、実装できません。 フレームのLSB側(FCSデータ側)からではなく、MSB側(MACアドレス側)から データを送り、(1)~(5)の条件で求めたCRC32の値を再現することはできるのでしょうか? 「CRC32」、「左送り」などで調べてみたのですが、 下記URLのように、MSB側(格納データのアドレス0側)から計算している例も あったのですが、CRC32の値が(1)~(5)パラメータで求めたものとCRC32の値が異なりました。 http://okwave.jp/qa/q5183760.html  要約すると、同一のデータを使用して、MSB側、LSB側から計算し、 同じCRC32の値となるようなパラメータの組み合わせが有るか無いか、 ということになると思うのですが・・・ よろしくお願いします。

  • ネットワーク転送量について

    5MBのデータをethernet上にTCPパケットにて転送する場合、転送に必要なethernetフレームの総数はいくつになるか。 なお、TCPヘッダサイズはオプションなしで20バイト、ethernetフレームは、IEEE802.3フォーマットとし、パケットやフレームの断片化はないものとする。 という問題なのですがどのようにして解けばいいかわかりません。 よろしければ誰か教えていただけないでしょうか???