2017-09-28 5 views
0

IPヘッダーのバージョンフィールドには、使用されているIPプロトコルのバージョン(IPv4/IPv6)が含まれています。 イーサネットヘッダーのタイプフィールドには、カプセル化解除されたパケットを転送するレイヤ3プロトコル(IPv4、IPv6)が含まれています。 IPヘッダーに「Version」というフィールドがあるのはなぜ重要なのですか?それは何のために使用されていますか?ipヘッダーのバージョンフィールドとイーサネットヘッダーのタイプフィールドの実際の違いは何ですか?

答えて

1

ネットワークプロトコルは、複雑さを軽減し、一般性を向上させるために、階層的に設計されています。 IP層は、各システムがパケットの転送方法を気にせずにパケットを処理するのに適したIP層ソフトウェアを持つことができるように設計されています。このようにして、IPパケットは、その下の層の知識とは独立して、イーサネット層または任意の他の層(例えば、FCまたはATM)によって転送することができる。 IP処理ソフトウェアはIPのバージョンを知る必要があるため、IPパケットはそのバージョンを持っています。

同じ階層化の概念は、それが輸送されているプロトコルの詳細を知らなくても、IPパケットが、パケットの他の種類(例えば、IPX)だけではないの輸送に助けることができるイーサネット層に適用されます。しかし、各端のイーサネット層の処理は、それが次の処理のために適切な層にパケットを引き渡すことができるように、彼らが運んでいるパケットのタイプを知るべきです。

0

IPは別の(イーサネットではない)レイヤ2プロトコルでカプセル化できるためです。 IPプロトコルは、特定の下位層プロトコルを要求しないので、この層で利用可能な情報(例えば、上位層のプロトコルバージョン番号)を推測することができない。したがって、レイヤ2プロトコルが次のレイヤとして「IP」だけを指定している場合は、IPヘッダからIPプロトコルバージョンを正しく処理する必要があります。

+0

ですから、イーサネットプロトコルは、イーサネットプロトコルに「Type」フィールドを埋めるためにIPヘッダから「バージョン」フィールド内にある情報の一部を必要としていることを言います。もしそうなら、なぜIPプロトコルは、 "次のヘッダ"フィールドを埋めるためにトランスポート層ヘッダからの情報を必要としないのですか? –

+0

いいえ、イーサネットプロトコル(またはその他のレイヤ2プロトコル)は、次に来るもの、次のレイヤ/データブロックが埋め込まれるものを指定する必要があります。だから、ちょうどIPと言うことができます。この時点では、異なるバージョンのIPが存在する可能性はないと考えられています。 IPデザイナーは、新しいバージョンが登場すると、フォーマットを変更し、独自のヘッダーに新しいバージョン/レイアウトを指定することができます。 –

関連する問題