IT

TCP/IPの基礎【LPIC level1】

目次

  • 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アドレスの範囲サブネットマスク
A0.0.0.0~127.255.255.255255.0.0.0
B128.0.0.0~191.255.255.255255.255.0.0
C192.0.0.0~223.255.255.255255.255.255.0

IPアドレスは、インターネット内で重複しないよう一意に割り当てる必要がありますが、一部のアドレスはローカルネットワーク内で自由に使うことが出来ます。

これがプライベートアドレスで、クラスごとにプライベートアドレスの範囲が定められています。

以下、プライベートアドレスです。

クラスIPアドレスの範囲
A10.0.0.0~10.255.255.255
B172.16.0.0~172.31.255.255
C192.168.0.0~192.168.255.255

CIDR

クラスによる区分を用いると、最小でも組織ごとに256個のIPアドレスが消費されてしまうため、より柔軟な運用の為にCIDRが規定されました。

IPv6

IPv6アドレスの分類IPv6の表記
ローカルループバックアドレス::1/128
グローバルユニキャストアドレス2000::/3
リンクローカルユニキャストアドレスfe80::/10
マルチキャストアドレスff00::/8

ポート

送信元のアプリケーションや、送信先のアプリケーションを識別する為に、ポート番号が使われます。

以下、代表的なウェルノウンポートです。

ポート番号プロトコルTCP/IP用途
20FTPTCPファイル転送(データ用)
21FTPTCPファイル転送(制御用)
22SSHTCPリモートホストの遠隔操作
(暗号化有)
23TELNETTCPリモートホストの遠隔操作
(暗号化なし)
25SMTPTCP電子メール送信
53DNSTCP/UDP名前解決
80HTTPTCPWebサーバとWebクライアント間の通信(暗号化なし)
110POP3TCP電子メール受信
143IMAPTCP電子メール受信
443HTTPSTCP WebサーバとWebクライアント間の通信(暗号化有)

最後まで読んで頂き、ありがとうございました。

他の分野へ移動できる全体ページへは下記リンクから移動できます。