目次
- TCP/IPの基礎
- TCP/IPプロトコル(TCP、IP、UDP、ICMP)
- IPアドレス
- IPv6
- ポート
TCP/IPの基礎
TCP/IPの基礎
通信を行う上での取り決めをプロトコルといいます。
TCPとIPは別々のプロトコルですが、これにUDPなどの関連プロトコルを含め、プロトコル群として、TCP/IPと総称します。
TCP/IPの構造をOSI参照モデルと対比すると、以下のようになります。
OSI参照モデル | TCP/IPの構造 |
アプリケーション層 プレゼンテーション層 セッション層 | アプリケーション層 (HTTP、SMTP、TELNETなど) |
トランスポート層 | トランスポート層(TCP、UDPなど) |
ネットワーク層 | インターネット層(IP、ICMPなど) |
データリンク層 物理層 | ネットワークインターフェース |
TCP
信頼性の高い通信を実現する為のコネクション型のプロトコルです。
コネクション型とは、相手に通信データが正しく届いていることを確認しながら通信するもので、信頼性を高くなります。
TCPを利用する上位のプロトコルは、信頼性を高めるためのエラー制御などをTCPに任せてしまうことが出来ます。
TCPの代表的な機能は以下の通りです。
- 途中で消失やエラーが発生したパケットを再送
- パケットの伝送順序を整列
IP
TCPやUDP、ICMPなどのデータ転送をつかさどるコネクションレス型のプロトコルです。
コネクションレス型とは、相手に通信データが正し宇届いているかどうかを確認せず、一方的に送信するもので、信頼性は低くなりますが、伝送速度は速くなります。
IPの代表的な機能は以下の通りです。
- IPアドレスの規定
- データグラムの規定
- データグラムが伝送されるネットワーク経路の制御
UDP
データ転送速度に重点を置いたコネクションレス型のプロトコルです。
相手に通信データが正しく届いているか確認する機能はありませんが、その分通信の処理にかかるコストが少なく済みます。
UDPは、音声や映像のストリーミング配信で利用されます。
ICMP
エラーメッセージや制御メッセージを伝送するコネクションレス型のプロトコルで、pingコマンドやtracerouteコマンドで利用されます。
IPアドレス
TCP/IPでは、ネットワークに接続された機器を識別するのにIPアドレスを使います。
IPアドレスはネットワークセグメントを識別するためのネットワーク部とネットワークセグメント内の機器を識別する為のホスト部に分割できます。
ネットワーク部とホスト部の教会は、IPアドレスとセットで使われるサブネットマスクより求めることが出来ます。
IPアドレスとサブネットマスクの論理積により、ネットワーク自信を表すネットワークアドレスを算出できます。
ホスト部のビットをすべて1にしたアドレスはブロードキャストアドレスと呼ばれ、同じネットワークに属するすべてのホストに送信する為の特別なアドレスです。
IPアドレスにはクラスという概念があります。
以下、クラスについてです。
クラス | IPアドレスの範囲 | サブネットマスク |
A | 0.0.0.0~127.255.255.255 | 255.0.0.0 |
B | 128.0.0.0~191.255.255.255 | 255.255.0.0 |
C | 192.0.0.0~223.255.255.255 | 255.255.255.0 |
IPアドレスは、インターネット内で重複しないよう一意に割り当てる必要がありますが、一部のアドレスはローカルネットワーク内で自由に使うことが出来ます。
これがプライベートアドレスで、クラスごとにプライベートアドレスの範囲が定められています。
以下、プライベートアドレスです。
クラス | IPアドレスの範囲 |
A | 10.0.0.0~10.255.255.255 |
B | 172.16.0.0~172.31.255.255 |
C | 192.168.0.0~192.168.255.255 |
CIDR
クラスによる区分を用いると、最小でも組織ごとに256個のIPアドレスが消費されてしまうため、より柔軟な運用の為にCIDRが規定されました。
IPv6
IPv6アドレスの分類 | IPv6の表記 |
ローカルループバックアドレス | ::1/128 |
グローバルユニキャストアドレス | 2000::/3 |
リンクローカルユニキャストアドレス | fe80::/10 |
マルチキャストアドレス | ff00::/8 |
ポート
送信元のアプリケーションや、送信先のアプリケーションを識別する為に、ポート番号が使われます。
以下、代表的なウェルノウンポートです。
ポート番号 | プロトコル | TCP/IP | 用途 |
20 | FTP | TCP | ファイル転送(データ用) |
21 | FTP | TCP | ファイル転送(制御用) |
22 | SSH | TCP | リモートホストの遠隔操作 (暗号化有) |
23 | TELNET | TCP | リモートホストの遠隔操作 (暗号化なし) |
25 | SMTP | TCP | 電子メール送信 |
53 | DNS | TCP/UDP | 名前解決 |
80 | HTTP | TCP | WebサーバとWebクライアント間の通信(暗号化なし) |
110 | POP3 | TCP | 電子メール受信 |
143 | IMAP | TCP | 電子メール受信 |
443 | HTTPS | TCP | WebサーバとWebクライアント間の通信(暗号化有) |
最後まで読んで頂き、ありがとうございました。
他の分野へ移動できる全体ページへは下記リンクから移動できます。