Part2では,パソコン内部に目を向けて,IPの役割を具体的に解説していこう。
Webブラウザや電子メール・ソフトなどのアプリケーションを使って,データを送ることを考えてみよう(図1)。
まず,アプリケーションは送りたいデータを作り,TCP/IPソフトに渡す。TCP/IPソフトはTCP/IP関連プロトコルの処理機能を持つプログラムで,OSの一部として組み込まれている。
TCP/IPソフトの役割は主に三つある。(1)アプリケーションから受け取ったデータからIPパケットを作ること。(2)IPパケットをあて先に届けるための経路を見つけること,具体的には経路にある中継ルーターのIPアドレスを見つけること。(3)その中継ルーターのIPアドレスに対応したMACアドレスを手に入れることである。
Part2では(1)と(2),すなわちIPパケットを作り,経路を見つけるところまでを説明しよう。(3)のMACアドレスを手に入れる手順はPart3で説明する。
TCPかUDPかはアプリで決まる
TCP/IPというプロトコル群は,そのデータをやり取りするアプリケーション別の階層構造になっている(図2)。一番上の階層に当たるプロトコルは,アプリケーションと密接に関係している。例えばWebブラウザとWebサーバーは「HTTP」というプロトコルで通信することが決められているし,電子メール・ソフトがメール・サーバーにメールを送るときは「SMTP」を使うことになっている。これらのアプリケーション・プロトコルはメッセージ形式が決まっており,アプリケーションはそれらのメッセージを交換することでデータをやり取りする。
アプリケーションはメッセージを作成して,TCP/IPソフトに渡す。メッセージをTCPとUDPのどちらで送るかは,そのアプリケーションごとに決まっている。
WANならPPPが
IPパケットを運ぶ
TCPかUDPかが決まれば,あとはIPパケットにするだけ。TCPもUDPもIPパケットの一部になる。あて先IPアドレスと送信元IPアドレスが付けられ,IPパケットが完成する。
完成したIPパケットは,パソコンに接続しているネットワークの種類に応じたさまざまな伝送プロトコルで運ばれる。LANの場合はMACフレームとなる。
一方,モデムやTA(ターミナル・アダプタ)を使ってダイヤルアップ接続するときは,PPPと呼ばれるプロトコルが使われる。PPPにもデータを運ぶための独自のフレームがある。PPPはIPパケットをこの中に入れてから,通信回線に送り出す。