基本情報技術者のネットワークのまとめPart3です。
今回は、TCP/IPについてまとめていきます。
TCP/IPの中核プロトコル
現在のインターネットのデファクトスタンダードは、TCPとIPという2つのプロトコルの組み合わせです。
TCP/IPネットワークを構成する上で中核となるプロトコルが、OSI基本参照モデルのネットワーク層のIPと、トランスポート層のTCPとUDPです。IPはどのようにして経路制御をするかで、TCP、UDPがパケットをどのように運ぶかということを約束事として定義しています。
IP(Internet Protocol)
IPは経路制御を行い、ネットワークからネットワークへとパケットを運んで、相手に届けます。
このIPによって構成されるネットワークはコンピュータの識別のために、IPアドレスという番号を用います。
接続確認を取ることなく、一方的にパケットを送りつける通信のため、通信品質の保証は、TCPやUDPが行います。
TCP(Transmission Control Protocol)
TCPでは、通信相手とのコネクションを確立してからデータを送受信するプロトコルです。このコネクションを確立して通信することをコネクション型の通信と言います。
パケットの順序や送信エラーしたときの再送などを制御し、送受信するデータの信頼性を保証します。
UDP(User Datagram Protocol)
UDPは、事前に送信相手との接続確認を取らずに一方的にパケットを送るプロトコルです。このような通信方法をコネクションレス型の通信と言います。
パケットの再送処理などをせず、信頼性が保証されませんが、その分高速です。これは、映像の生配信などのリアルタイム性を重視するときに使われます。
IPアドレス
IPアドレスとは、ネットワークの住所のようなものです。TCP/IPのネットワークに繋がれているコンピュータなどの機器をIPアドレスで管理しています。また、IPアドレスは必ず一意で、重複があってはいけません。
IPアドレスは、32ビットの数値で表されています。例としては、
11000000101010000000000100000011
のようなものです。この数値の羅列をわかりやすくするために8ビットずつに分けて、それを10進数で表すと、
11000000 10101000 00000001 00000011 → 192.168.1.3
このように表記します。
グローバルIPアドレス、プライベートIPアドレス
IPアドレスには、グローバルIPアドレスと、プライベートIPアドレスがあります。
- グローバルIPアドレス:インタネットの世界で使用するIPアドレス。世界中で一意であることが保証、管理されている。
- プライベートIPアドレス:企業内などのLAN内で使えるIPアドレス。LAN内で一意であればシステム管理者が自由に割り当てて使うことができる。
ネットワークアドレス部、ホストアドレス部
IPアドレスには、ネットワークアドレス部とホストアドレス部に分かれています。これは、実世界でいうところの、住所と名前に相当するものです。
先程の192.168.1.3のIPアドレスでは、192.168.1の部分がネットワークアドレス部で、3の部分がホストアドレス部のように分かれています。
また、IPアドレスでは使用するネットワークの規模によって、クラスA、クラスB、クラスCというクラスに分けられています。それぞれ、32ビットの何ビットをネットワークアドレス部に割り振るかを規定することで、持つことのできるホストの数を変えています。
- クラスA:大規模ネットワーク用。前半の8ビットをネットワークアドレス部、それ以降の24ビットをホストアドレス部としている。割り当て可能なホスト数は16777214台。
- クラスB:中規模ネットワーク用。前半の16ビットをネットワークアドレス部、それ以降の16ビットをホストアドレス部としている。割り当て可能なホスト数は65534台。
- クラスC:小規模ネットワーク用。前半の24ビットをネットワークアドレス部、それ以降の8ビットをホストアドレス部としている。割り当て可能なホスト数は254台。
また、ホストアドレス部が全て0のアドレスをネットワークアドレス、全て1のアドレスをブロードキャストアドレスといい、このアドレスは割り当てには使えません。
サブネットマスク
一番小規模なクラスCでも254台のホストを使えますが、その254台も分けたい時は、サブネットマスクを使用することで、ネットワークの分割をすることができます。
サブネットマスクでは、各ビットの値によって、IPアドレスのどの部分までをネットワークアドレスとみなし、どの部分からホストアドレスとみなすかを指定することができます。このとき、値が1の部分がネットワークアドレス部で、0の部分がホストアドレス部になります。
例えば、クラスCのIPアドレスで次のようにサブネットマスクを指定したとき、62台ずつの割り当てができる4つのサブネットに分割することができます。サブネットマスクの赤く表示している部分がサブネットを表していて、それより前がネットワークアドレス部、0の部分がホストアドレス部を表しています。
IPアドレス :110・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
サブネットマスク:11111111111111111111111111000000
NAT、IPマスカレード
LAN内では、プライベートIPアドレスを使っていますが、外のネットワークと通信するためにはグローバルIPアドレスが必要です。プライベートIPアドレスしか持たないコンピュータが外のネットワークとやりとりするために、ルータなどはNATやIPマスカレードといった、アドレス変換技術を用います。
NAT
グローバルIPアドレスとプライベートIPアドレスを1対1で紐付けて、相互に変換を行います。同時にインターネット接続できるのは、グローバルIPアドレスの個数分だけです。
IPマスカレード(NAPTともいう)
グローバルIPアドレスに複数のプライベートIPアドレスを紐付けて、1対複数の変換を行います。IPアドレスの変換時にポート番号を合わせて書き換えるようにすることで、1つのグローバルIPアドレスでも複数のコンピュータが同時にインタネットに接続することが可能です。
以上が、ネットワークのTCP/IPのまとめでした。