Transmission Control Protocol (TCP)
TCPはコネクション指向のプロトコルで、エンドエンドのパケット配送を提供します。
TCPは接続指向のプロトコルで、エンドツーエンドのパケット配信を行います。
-
Transmission Control Protocol (TCP)は、OSIモデルのトランスポート層に相当します
-
TCPは信頼性の高いコネクション指向のプロトコルです。
-
TCPは以下を提供します:
-
ストリームデータ転送
-
信頼性
-
効率的なフロー制御
-
全二重動作。
-
多重化
-
TCPは、コネクション指向のエンドツーエンドのパケット配信を行います。
-
TCPは、ソースが受け取ることを期待している次のバイトをデスティネーションに示す転送確認番号でバイトをシーケンスすることで、信頼性を確保します。
TCPサービス
TCPは、アプリケーション層のプロセスに以下のサービスを提供します。
-
ストリーム配信サービス
-
送受信バッファ
-
バイトとセグメント
-
全二重サービス
-
接続指向サービス
-
信頼性のある サービス
ストリームデリバリサービス
TCPプロトコルは、送信側プロセスがデータをバイトのストリームとして送信し、受信側プロセスがデータをバイトのストリームとして取得することができるため、ストリーム指向です。
送受信バッファ
送信側と受信側が同じ速度でデータを生成・取得できるとは限らないため、TCPは送信側と受信側に保存用のバッファを必要とします。
バイトとセグメント
トランスポート層のTCP(Transmission Control Protocol)は、バイトをパケットにまとめます。 このパケットをセグメントと呼びます。
全二重サービス
二重モードでのデータ送信は、両方向に同時にデータが流れることを意味します。
接続指向型サービス
TCPは次のような方法で接続指向型サービスを提供しています。
プロセス-1のTCPとプロセス-2のTCPは、両方向でデータを交換します。
データ交換の完了後、双方のバッファが空になると、2つのTCPはバッファを破棄します。
信頼性の高いサービス
信頼性を高めるために、TCPは確認応答メカニズムを使用しています。
インターネットプロトコル(IP)
インターネットプロトコルは、コネクションレスで信頼性の低いプロトコルです。
信頼性を高めるためには、トランスポート層でTCPのような信頼性の高いプロトコルとペアにする必要があります。
インターネットプロトコルは、次の図に示すように、データグラムの形でデータを送信します。
覚えておくべきポイント:
-
データグラムの長さは可変です。
-
データグラムはヘッダーとデータの2つの部分に分かれています。
-
ヘッダーの長さは20~60バイトです。
-
ヘッダーには、パケットのルーティングと配信のための情報が含まれています。
User Datagram Protocol (UDP)
IPと同様に、UDPもコネクションレスで信頼性の低いプロトコルです。 データ交換のためにホストとの接続を必要としません。 UDPは信頼性のないプロトコルなので、送信したデータを確実に受信するためのメカニズムはありません。
UDPは、データグラムの形でデータを送信します。
留意点
-
UDPは、通常、一度に少量のデータを送信するアプリケーションで使用されます
-
UDPは、使用するプロトコルポートを提供します。
File Transfer Protocol (FTP)
FTPは、あるホストから別のホストへファイルをコピーするために使用されます。
-
FTPは、クライアントとサーバーの両方で、制御プロセスとデータ転送プロセスの2つのプロセスを作成します。
-
FTPは、データ転送用と制御情報用の2つの異なる接続を確立します。
-
制御接続は制御プロセス間で行われ、データ接続はデータプロセス間で行われます。
-
FTPは制御接続にポート21を、データ接続にポート20を使用します。
Trivial File Transfer Protocol (TFTP)
Trivial File Transfer Protocolもファイルの転送に使用されますが、認証なしでファイルを転送します。 FTPとは異なり、TFTPは制御情報とデータ情報を分離しません。 認証が存在しないため、TFTPはセキュリティ機能に欠けており、TFTPを使用することはお勧めできません。
キーポイント
-
TFTP はデータ転送に UDP を使用します。
-
TFTP メッセージの最初の 2 バイトは、メッセージのタイプを指定します。
-
TFTP セッションは、TFTP クライアントがファイルをアップロードまたはダウンロードする要求を送信するときに開始されます。
-
リクエストは、エフェメラルUDPポートからTFTPサーバーのUDPポート69に送信されます。
FTPとTFTPの違い
S.N. | Parameter | FTP | TFTP |
---|---|---|---|
1 | Operation | Transferring Files | |
2 | Authentication | Yes | No |
3 | Protocol | TCP | UDP |
4 | Ports | 21 – Control, 20 – データ | ポート3214、69, 4012 |
5 | 制御とデータ | 分離 | |
6 | データ転送 | Reliable | Unreliable |
Telnet
Telnetは、インターネット上のリモートコンピュータにログインするために使用されるプロトコルです。 使いやすいユーザーインターフェイスを持つTelnetクライアントが多数あります。
Hyper Text Transfer Protocol (HTTP)
HTTPは通信プロトコルの一つです。 ブラウザとWebサーバ間の通信の仕組みを定義しています。 ブラウザとサーバー間の通信は、リクエストとレスポンスのペアで行われるため、リクエスト&レスポンスプロトコルとも呼ばれます。
HTTPリクエスト
HTTPリクエストは次のような行で構成されています:
-
リクエスト行
-
ヘッダーフィールド
-
メッセージボディ
キーポイント
-
最初の行、つまりリクエスト行は、リクエストを指定します。
-
2行目は、index.htmが取得されるサーバーのドメイン名を示すヘッダーを指定しています。
-
ステータスライン
-
ヘッダー
-
メッセージボディ
広告 -