概要
TCP/IPでのデータ送信時の処理については、以前の投稿にてデータに対して各層で必要な情報をヘッダー情報として付加(カプセル化)して受け渡ししていくとい説明しましたが、今回はそれぞれを電子メールを例にもう少し具体的に確認し解説していきます。
パケットの送信処理
①アプリケーションの処理
順番 | OSI参照モデル | 内容 |
---|---|---|
1 | アプリケーション層 | アプリケーションプログラムであるメールソフト(Officeなど)を起動して宛先や送信文章の入力後に送信ボタンをクリックする事で開始されます。 |
2 | プレゼンテーション層 | 符号化という処理を「UTF-8」といった規則に基づいて実行されます。 |
3 | セッション層 | メールを「即時送信するのか」、「ある程度まとめて送信するのか」といった判断を行い、それに従ってコネクションの確立を指示します。 |
②TCPモジュールの処理
セッション層からのコネクションの確立やデータ送信の指示に従って実際に処理を行い、異常が発生した際には再送処理などを行い信頼性のあるデータ送信を実現しています。この層で付加するヘッダー情報にはアプリケーションを識別するポート番号やパケットの中で何バイトのデータなのかを示すシーケンス番号やデータ破損を確認するためのチェックサムなどがTCPヘッダとして付加されます。
③IPモジュールの処理
IPではTCPから受け取ったTCPヘッダーとデータをまとめてデータとして扱い、IP処理の中でTCPヘッダーの前にIPヘッダーを付加して次処理へ渡します。このようにデータのカプセル化が完了すれば経路制御表を参照して次の宛先を決定後、ネットワークインターフェースドライバーで転送処理を実行してもらいます。この時に転送処理に必要なMACアドレスが分からない場合にはARP(Address Resolution Protocol)を使用してIPアドレスからMACアドレスを調べて処理してもらいます。
④ネットワークインターフェースの処理
ここではネットワークインターフェースとしてイーサネットドライバについて解説します。ここでも上位のIPから受け取ったデータにイーサネットのヘッダーを付加して処理を行っていきますが、ヘッダーには宛先及び送信元のMACアドレスやデータのプロトコルを示すイーサネットプロトコルなどが含まれます。これらの処理の後に物理層によってデータが転送され、その処理の中FCSがハードウェアで計算されパケットの末尾に付加されます。
コメント