現在のインターネットは TCP/IP と呼ばれるプロトコルに従って通信が行われている.
TCP/IP とはインターネットで通信を行うための複数のプロトコルの集まり.
TCP/IP の通信ではプロトコルを4つの階層に分類する:
1. アプリケーション層 (HTTP, LDAP)
2. トランスポート層 (TCP, UDP)
3. ネットワーク層 (IP)
4. ネットワークインタフェース層
データは [パケット, Packet]
IPv4 と IPv6 のバーションがある.
IP アドレスはインターネット上でホストを識別するための番号である. IPv4 における IP アドレスは, 32 ビットの長さを持っており, 8 ビットずつに区切って 10 進数で表記する.
IP アドレス = ネットワークアドレス部 + ホストアドレス部
IP アドレスの分類:
1. クラス A: 0.0.0.0 ~ 127.255.255.255
2. クラス B: 128.0.0.0 ~ 191.255.255.255
3. クラス C: 192.0.0.0 ~ 223.255.255.255
4. クラス D: 224.0.0.0 ~ 239.255.255.255
5. クラス E: 240.0.0.0 ~ 255.255.255.255
TCP はトランスポート層のプロトコルであり, 下位層の IP を利用する.
IP は基本的に [信頼性の無い] プロトコル. TCP は [コネクション型] である.
TCP の重要な役割の一つは通信の信頼性を確保する.
もしもある時間が経過しても受信確認応答が送られてこなければ, 送信側はパケットが届かなかったと判断し, 再度パケットを送る.
注意:
1. [送信パケットが届かなかったか] (送信側 -> 受信側)
2. [送信パケットが届いたが受信確認パケットが届かなかったか] (送信側 <- 受信側)
送信ホストは 1, 2 の場合を区別することができない.
ポート番号は, 上位のアプリケーションプロトコルを識別するために, また一台のホストで同時に複数の通信を行うために用意されている:
ポート番号は 16 ビットの長さを持っており, 範囲は: 0 ~ 65535
Well-known ポート番号: 1 ~ 1023
UDP は TCP と同じ IP を利用し, トランスポート層のプロトコル. TCP のような信頼性は確保されていない.
UDP は [コネクションレス型] 通信と呼ばれる.