パケット構造
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/31 23:34 UTC 版)
「User Datagram Protocol」の記事における「パケット構造」の解説
UDPは最小メッセージ指向のトランスポート層プロトコルで、仕様は IETF RFC 768 にある。 上位層プロトコルへのメッセージ配送を全く保証せず、送信済みのUDPメッセージについて何の状態も保持しない。このため、UDPを Unreliable Datagram Protocol(信頼できないデータグラム・プロトコル)と呼ぶこともある。 UDPは(ポート番号による)アプリケーション多重化と、(チェックサムによる)ヘッダおよびペイロードの完全性検証を提供する。高信頼転送が必要なら、上位アプリケーションが実装しなければならない。 オフセット(ビット)0 – 1516 – 310送信元ポート番号 宛先ポート番号 32データ長 チェックサム 64+ データ UDPヘッダには4つのフィールドがあり、それぞれ2バイト(16ビット)である。そのうち2つ(ピンク色の部分)はIPv4ではオプションである。IPv6では送信元ポート番号だけがオプションである(後述)。 送信元ポート番号 送信元のポート番号で、相手からの応答が不要の場合はゼロ。それ以外の値の場合、必要なら相手からの応答を受け付けるポート番号を示す。送信元がクライアントの場合、エフェメラルポート番号ということが多い。送信元がサーバの場合、ウェルノウンポート番号ということが多い。 宛先ポート番号 宛先のポート番号であり、必須である。送信元ポート番号と同様、宛先がクライアントならエフェメラルポート、サーバならウェルノウンポートということが多い。 データ長 ヘッダとデータを含むデータグラム全体のバイト数を指定する。ヘッダが8バイトなので、それが最小値となる。理論上の上限は65,535バイト(ヘッダ8バイト + データ65,527バイト)である。下位層がIPv4の場合、実際の上限は65,507バイト(IPヘッダ20バイトとUDPヘッダ8バイトを差し引いた値)となる。 IPv6のジャンボグラム機能では、65,535バイトを越えるサイズのUDPパケットを扱える。この場合、IPv6のオプションヘッダでサイズを指定し、最大4,294,967,295バイト(232 - 1)を指定できるので、ヘッダ部の8バイトを差し引くと最大4,294,967,287バイトのデータを扱える。 チェックサム ヘッダとデータの誤り検出に使用。送信元がチェックサムを生成しない場合、このフィールドの値はゼロとする。IPv6ではオプションではないので、ゼロにはできない。
※この「パケット構造」の解説は、「User Datagram Protocol」の解説の一部です。
「パケット構造」を含む「User Datagram Protocol」の記事については、「User Datagram Protocol」の概要を参照ください。
パケット構造
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/09 14:23 UTC 版)
「Address Resolution Protocol」の記事における「パケット構造」の解説
ARPは、1つのアドレスのみの解決要求または応答を含む単純なメッセージフォーマットを使用する。ARPメッセージのサイズは、リンク層とネットワーク層のアドレスサイズによって異なる。メッセージヘッダで、各層で使用されているネットワークの種類とそれぞれのアドレスのサイズを指定する。メッセージヘッダには、要求(1)と応答(2)のどちらかであるかを示すオペレーションコードが含まれる。パケットのペイロードは、送信側ホストと受信側ホストそれぞれのハードウェアアドレスとプロトコルアドレス、計4つのアドレスで構成されている イーサネット上で実行されているIPv4ネットワークの場合のARPパケットの構造を次の表に示す。この例では、パケットには送信元ハードウェアアドレス(SHA)と送信先ハードウェアアドレス(THA)用の48ビットフィールドと、対応する送信元プロトコルアドレス(SPA)と送信先プロトコルアドレス(TPA)用の32ビットフィールドがある。この場合のARPパケットサイズは28バイトである。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14~41 イーサネット宛先アドレス イーサネット送信元アドレス フレームタイプ 下図参照 イーサネットヘッダ ARPの要求と応答 Internet Protocol (IPv4) イーサネット ARP パケットOctet offset010ハードウェアタイプ(HTYPE) 2プロトコルタイプ(PTYPE) 4ハードウェアアドレスサイズ(HLEN) プロトコルアドレスサイズ(PLEN) 6オペレーション(OPER) 8送信元ハードウェアアドレス(SHA) 10 12 14送信元プロトコルアドレス(SPA) 16 18送信先ハードウェアアドレス(THA) 20 22 24送信先プロトコルアドレス(TPA) 26 ハードウェアタイプ (HTYPE) ネットワークプロトコルの種類。イーサネットの場合は1。 プロトコルタイプ (PTYPE) ARPリクエスト要求が意図するインターネットプロトコル。IPv4の場合、0x0800以降の値。使用される値は、EtherTypeのものを流用する。 ハードウェア長 (HLEN) オクテットによるハードウェアアドレスの長さ。イーサネットアドレス(MACアドレス)のサイズは6。 プロトコル長 (PLEN) 上位層のプロトコル(PTYPEに指定された上位層プロトコル)が使用するオクテットによるアドレス。IPv4のアドレスサイズは4。 オペレーション 送信者が実行している動作。1は要求、2は返信。 送信元ハードウェアアドレス (SHA) 送信側のメディアアドレス(Media address、MACアドレス)。ARPリクエストでは、要求を送信するホストのアドレスを示す。ARP応答では、要求が探していたホストのアドレスを示す。(必ずしも、仮想メディアのように応答するホストのアドレスではない。)スイッチはMACアドレスを学習するが、このフィールドに注意を払っていないことに注意が必要である。ARP PDUは、イーサネットフレームにカプセル化され、データリンク層(第2層)のデバイスが調べる。 送信元プロトコルアドレス (SPA) 送信元のインターネットワークアドレス(internetwork address、IPアドレス)。 送信先ハードウェアアドレス (THA) 受信側のメディアアドレス(Media address、MACアドレス)。ARPリクエストでは、このフィールドは無視する。ARP応答では、このフィールドは、ARPリクエストを送信したホストのアドレスを示す。 送信先プロトコルアドレス (TPA) 送信先のインターネットワークアドレス(internetwork address、IPアドレス)。 ARPプロトコルのパラメータ値は Internet Assigned Numbers Authority (IANA) によって標準化され、維持されている.。 ARPのEtherTypeは0x0806である。これは、イーサネットヘッダ内で使用されてペイロードがARPパケットであることを示すものであり、カプセル化されるARPパケット内に含まれるPTYPEとは別である。
※この「パケット構造」の解説は、「Address Resolution Protocol」の解説の一部です。
「パケット構造」を含む「Address Resolution Protocol」の記事については、「Address Resolution Protocol」の概要を参照ください。
- パケット構造のページへのリンク