本章では、ソケットシミュレーター(本アプリ)の初期画面(以降、トップ画面)の機能について説明します。
トップ画面では、ソケットの作成、削除、状態確認、および一覧表示を行います。
[補足]
ソケット作成数の上限は設けていません。
アイコン表示 | 説明 | |
---|---|---|
役割 | サーバーソケット listen(2) を発行して接続待ちのリスニングソケット。または、accept(2) を発行して生成したソケットを指す。 | |
クライアントソケット 上記以外 | ||
I/O モード (*1) | 非停止(以降、non-blocking)モード fcntl(2) を発行してファイル状態フラグに O_NONBLOCK をセットしている状態。 | |
停止(以降、blocking)モード 上記以外 | ||
接続 状態 (*2) | 未接続状態 初期状態。または bind(2) を発行してアドレスが割り当て済みの状態。 | |
リスニング中 listen(2) を発行して接続待ち。 | ||
接続処理中 non-blocking ソケットに対する接続処理の完了待ち。 | ||
接続エラー状態 ソケットの接続処理でエラーが発生した。 | ||
接続済み状態(全二重接続状態) ソケットに対する接続処理が正常完了した。または、accept(2) を発行してソケットを生成した。 | ||
接続済み状態 全二重の受信側が閉じている状態。 | ||
接続済み状態 全二重の送信側が閉じている状態。 | ||
切断状態 全二重の全てが閉じている状態。 |
*1 I/O モードのアイコンは、アプリの設定 DESCRIPTION が有効な場合に表示されます。
*2 接続状態のアイコンは、アプリの設定 AUTO MONITORING が有効な場合に、SOCK_STREAM ソケットで表示されます。
Address には、IP アドレスとポート番号(PF_INET の場合)または UNIX ドメインパス(PF_UNIX の場合)が表示されます。
表示名 | 状態 |
---|---|
INET domain socket | AF_INET ソケット(初期表示) |
UNIX domain socket | AF_UNIX ソケット(初期表示) |
Dst Address | ソケットが接続済み。 |
Src Address | ソケットがリスニング中。 または、SOCK_DGRAM ソケットにアドレスが割り当て済み。 |
接続状態 | Icon | 説明 |
---|---|---|
Idle | 初期状態 | |
Bound | アドレスが割り当て済み | |
Listening | リスニング中 | |
Connect in progress | 接続処理中 | |
Connect error | 接続エラー状態 付加情報としてエラー値が表示されます。 Err#<errno 番号> <errno 名> | |
Connected | 接続済み状態 | |
Disconnect | 切断状態 |
ソケットの接続状態は、以下のとおり遷移します。
このステータスは、TCP_CONNECTION_INFO オプションで取得できるパラメータ tcpi_state の値をもとに表示されます。
ステータスの詳細は、RFC#793 やインターネット公開サイトの情報を参考にしてください。
tcpi_state | ステータス |
---|---|
0 | CLOSED |
1 | LISTEN |
2 | SYN_SENT |
3 | SYN_RECEIVED |
4 | ESTABLISHED |
5 | CLOSE_WAIT |
6 | FIN_WAIT_1 |
7 | CLOSING |
8 | LAST_ACK |
9 | FIN_WAIT_2 |
10 | TIME_WAIT |
この情報は、TCP_CONNECTION_INFO オプションで取得できるパラメータの値が表示されます。
表示項目 | パラメータ | 説明 |
---|---|---|
RX | tcpi_rxbytes tcpi_rxpackets | 受信したデータ量(バイト単位 / パケット数単位) |
TX | tcpi_txbytes tcpi_txpackets | 送信したデータ量(バイト単位 / パケット数単位) |
Retransmit | tcpi_txretransmitbytes tcpi_txretransmitpackets | 再送したデータ量(バイト単位 / パケット数単位) |
この情報は、TCP_CONNECTION_INFO オプションで取得できるパラメータの値が表示されます。
表示項目 | パラメータ | 説明 |
---|---|---|
Average RTT | tcpi_srtt | RTT の平均値(秒単位) |
Recent RTT | tcpi_rttcur | RTT の直近値(秒単位) |
以下に示す 3 通りの polling の結果が表示されます。