ヘッダーを無視した場合、セグメント、パケット、およびフレームは同じサイズですか?


12

私はセグメント、パケット、フレームの違いについて、そして私が読んだものからいくつかの説明を探しました:

  • セグメントは、元のデータ+トランスポートレイヤーヘッダーです。
  • パケットは、セグメント+ネットワーク層ヘッダーです。
  • フレームは、パケット+データリンク層ヘッダーです。

つまり、基本的には、ヘッダーを別にすると、Segments = Packets = Framesになります。

データリンク層は、ネットワーク層によって転送されたデータを取得し、物理層が転送するためにデータの小さなチャンクに分割することを読んだことを覚えています。したがって、これらのフレームは特定のパケットの小さい部分であると想定しました。

しかし、私が検索するすべての場所で、セグメント、パケット、フレームの唯一の違いは、異なるレイヤーの元のデータに添付されたヘッダーであり、名前は基本的には各レイヤーに固有であるため異なることを読みました同じこと。

セグメント、パケット、およびフレームは、それぞれに含まれるヘッダーを除いて、本当に同じものですか?それらはすべて同じサイズですか?


1
「塗りつぶし」またはデータの量は異なる場合があります。:ネットワークスタックの数で実装「Nagleアルゴリズム」、見ていen.wikipedia.org/wiki/Nagle's_algorithm
フィレンツェKley

回答:


16

ここに画像の説明を入力してください

ご覧のとおり、各レイヤーにはヘッダーがあります。

  • セグメント:トランスポート層(TCP / UDP)=トランスポートヘッダー+データ(上位層から)
  • パケット:インターネット層(IP)=ネットワークヘッダー+トランスポートヘッダーとデータ(上位層からのトランスポートとデータの両方)
  • フレーム:ネットワーク層(イーサネット)=フレームヘッダー+ネットワーク、トランスポートヘッダーおよびデータ(3つの上位層から)。

したがって、質問に答えるために、セグメント、パケット、およびフレームの違いは、基本的にそれぞれの層が「データ」と見なすものです。セグメントでは、データはアプリケーション層から取得されます。パケットでは、データはトランスポート層から送信されます(トランスポートヘッダー+データ)。フレーム上では、データはインターネット層から取得されます(トランスポートおよびインターネットヘッダー+アプリケーション層からのデータ)。


1
そして、最終的に物理層を介してデータが転送される方法についてはどうでしょうか?すべてのデータが一度に転送されていない場合、分割はどのように機能しますか?それは、ネットワーク層とデータリンク層で同時に発生しますか(およびトランスポート層で処理されますか)?回答の中でこのプロセスについて詳しく説明していただけますか?
-amiregelz

Diogoは正しいですが、誤解を招く可能性のある考慮事項もいくつかあります。100バイトのデータを送信している可能性がありますが、パケットは依然として回線上の完全なMTU(通常〜1500バイト)を占有しています。欠点は、小さなパケットを大量に送信する場合、ネットワークリンクの最大帯域幅を取得できないことです。カプセル化されたトンネルの中には、この無駄を削減/最小化できるものもありますが、それは別の問題です。
TheCompWiz

@Diogo私のコメントに従って回答を編集できますか?ありがとうございました。
-amiregelz

0

セグメント、パケット、およびフレームは、それぞれに含まれるヘッダーを除いて、本当に同じものですか?

http://www.inetdaemon.com/tutorials/basic_concepts/communication/frames_packets_n_pdus.shtml

それらはすべて同じサイズですか?

レイヤーを単一のエンティティと考える場合、いいえ。それらはすべて異なる最大サイズと最小サイズを持っています。それらを互いに関連して考える; 下位層は、上位層から渡すことができるデータの最大サイズを決定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.