2016-08-22 11 views
0

私は実際のネットワークをシミュレートすることを目的としたアプリケーションを開発中です。これを行うには、パケットがシステム内でどのように形成されているかについての詳細な情報が必要です。模擬パケットカプセル化

アプリケーション層のメッセージがあり、トランスポート層のペイロードにカプセル化し、ヘッダーに目的のプロセスの特定のポート番号を追加し、それをネットワーク層のペイロードにカプセル化してIPアドレスを追加するとします。

私の質問は、下位層への上位層プロトコルパケットのカプセル化が起こらないこと

  • のですか?
  • ネットワークカードドライバは、OSやその一部を担当していますか?もしそうなら、どの部分?

私はちょうど私がコンピュータネットワークを読んだことに気づきたい:トップダウンのアプローチとForuzanの本ではあるがすべての情報は非常に理論的だった。

ありがとうございます。

答えて

1

実際の実装について質問している場合、通常、レイヤのすべてのメッセージは、下位レイヤメッセージのペイロード全体として伝達されます。 SSL/TLSなしで、WindowsやLinuxなどのOSのTCP/IPスタックについて言えば、これは使用するソケットの種類によって異なります。 TCP、STREAMソケットを使用すると、システムコールの送信または書き込みで送信するアプリケーション層メッセージは、TCPメッセージのペイロードになります。 TCPセグメントの処理とIPデータグラムは、OSカーネルで発生します。レイヤ2フレームの処理は、NICのデバイスドライバ(カーネル内)の一部とNICハードウェアの一部になります。これは特定のNICによって異なります。

何か他のものは、一部のNICがTCPセグメントとUDPデータグラムのチェックサムを計算できることです。その後、カーネルはこのタスクをNICにオフロードします。チェックサムのみ。