コンテンツにスキップ

TCP@L4

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. TCPメッセージ

TCPメッセージとは

トランスポート層で作成されるデータをTCPメッセージという。


02. エラー

ECONNREFUSED

クライアントが、TCPリクエストを待ち受けていないサーバーのポート番号に対して、リクエストを送信したとする。

この場合に、サーバーがTCPリクエストを拒否し、クライアントに返信するエラーである。

client(192.168.122.181)                   server(192.168.122.216)
|                                          |
|                                          |
|                                          |
nc server 11111 |--------------- UDP datagram ------------>|
|                                          |
|                                          |
ECONNREFUSED |<-------------- ICMP port unreachable ----|
|                                          |
|                                          |


ECONNRESET

TCPコネクション中にサーバーのプロセスが終了し、コネクションを強制的に切断したとする。

この場合に、サーバーがコネクションの予期せぬ切断としてクライアントに返信するエラーである。

client(192.168.122.181)                   server(192.168.122.216)
|                                          |
|                                          | nc -kl 11111
|                                          |
|                                          |
nc server 11111 |--------------- SYN --------------------->|
|<-------------- SYN+ACK ------------------|
|--------------- ACK --------------------->| -*-
|                                          |  |
|                                          |  |
|                                          |  | TCPコネクション確立状態
|                                          |  |    (ESTABLISHED状態)
|                                          |  |
ECONNRESET |<-------------- RST ----------------------| -*-
|                                          |