NATはOSIモデルのどのレイヤーで機能しますか?


8

簡単な質問と答えはもちろんレイヤ3ですが、PATはレイヤ4の機能であるポート番号を扱うため、レイヤ4でも機能していると言えますか?

それともレイヤ3プロトコルだけですか?


「ネットワーク」がキーワードです。ネットワーク層。最も興味深い:この質問はどのようにして6票を獲得しますか?うーん....(私はそれがひどい質問だと言っているわけではありませんが、確かに壮観ではありません)
ロニー・ロイストン

回答:


11

NATはIPヘッダーを変更するため、レイヤー3で機能します。PATを使用している場合は、それがレイヤー4でも機能していると主張できます。これは、パケットが一意でない場合にパケットの送信元ポートを変更する可能性があるためです。

NAT機能のサブセットである「オーバーロード」とも呼ばれるポートアドレス変換(PAT)と呼ばれる機能を使用して、いくつかの内部アドレスを1つまたはいくつかの外部アドレスにのみNAT変換できます。

PATは、内部グローバルIPアドレスで一意の送信元ポート番号を使用して、変換を区別します。ポート番号は16ビットでエンコードされているため、合計数は理論的にはIPアドレスあたり65,536にもなる可能性があります。

この送信元ポートがすでに割り当てられている場合、PATは元の送信元ポートを保持しようとします。PATは、適切なポートグループ0-5111、512-1023、または1024-65535の先頭から始まる最初の使用可能なポート番号を見つけようとします。

適切なグループからまだ利用可能なポートがなく、複数のIPアドレスが構成されている場合、PATは次のIPアドレスに移動し、元のソースポートを再度割り当てようとします。これは、使用可能なポートとIPアドレスがなくなるまで続きます。

したがって、ポートは一意でない場合にのみ変更されます。

シスコへのこのリンクは、NATのかなり良い概要です。


問題は、就職の面接筆記試験でこの質問を得たことです。この単純な質問を単純に考え過ぎているかどうかを知る必要があります... natは間違いなくレイヤー3プロトコルですが、PATと静的ポートマッピングはIPだけでなく..iは、natがレイヤー4プロトコルである可能性があるが、運が悪いと言うことについての文を検索しました。あなたはその答えを正しい答えと間違った答えのどちらにとりますか?cisco.com/en/US/tech/tk175/tk15/...
aia87

5
面接では、候補者がバイナリの正誤だけでなく、どのように推論するかを探しています。NATはレイヤー3ですが、PATとレイヤー4を論じた場合、私はそれが良い知識であり、バイナリの回答を探すことで気にしないと思います。
Daniel Dib 2013

3
さらに複雑なのは、Linux(etables)と一部のSPキット(ALU ISAM)がMACアドレスNATをサポートしていることです。つまり、ほとんど何でもかまいません。しかし、確かに通常、人々がNATを言うとき、それらはNAPT / PATを意味します。しかし、@ DanielDibの候補者と完全に合意し、記憶された回答ではなく概念の理解を示す方が優れています。
ytti、2013

3
さらに、変換されるプロトコルにアドレスが埋め込まれている場合、一部のNATはレイヤー7で動作する必要があります。FTPはその一例です。
クリリス

「基本NAT」でさえ、使用するにはレイヤー4ヘッダーの変更が必要です。
Peter Green

4

Natはクロスレイヤープロセスです。これには、少なくともレイヤー3(IP)および4(TCP、UDPなど)が含まれます。場合によっては、レイヤー7(アプリケーション)も含まれます。

IPアドレス(レイヤー3)、IPチェックサム(レイヤー3)、およびTCP / UDPチェックサム(レイヤー4)を変更するには、少なくとも1対1のNATが必要です。

IPアドレス(レイヤー3)、IPチェックサム(レイヤー3)、TCP / UDPポート(レイヤー4)、TCP / UDPチェックサム(レイヤー4)を変更するには、最低でも1対多のNATが必要です。

そのような最小限のNATは、多くのものを壊します(たとえば、アクティブモードのFTP)。したがって、ほとんどのNATは基本を超えて、アプリケーションデータ(レイヤー7)の少なくとも一部のIPアドレスの変換と追跡も実行します。


0

同じデバイスからのパケット間でこれがどのように一貫している必要があるかを考えてください...少なくともセッション内で。したがって、これをレベル5以上に設定する必要があると主張できます。IPヘッダーを変更するために到達したからといって、上位層からの検討からそれを失格にするべきではありません。下位層は上位層について何も知らない場合がありますが、上位層は下位層を認識して操作できます。実際、レイヤー6が適切なようです。ウィキペディアから:

アプリケーション層エンティティは、プレゼンテーションサービスがエンティティ間の大きなマッピングを提供する場合、異なる構文とセマンティクスを使用する場合があります。

アドレスがレベル​​7ではなくレベル3である場合でも、アドレス間のマッピングは、プレゼンテーション層で行うべきことのようです。


レイヤー5〜7を個別に実装したOSはありません。簡単に言えば、レイヤー5〜7は単一のアプリケーションレイヤーとして実装されます。
Ron Maupin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.