TCPとUDPのtransport特性を比較する。
TCPの説明として適切なものはどれか。
TCPはconnection-orientedなbyte-stream transportで、sequence number、acknowledgment、再送等により順序と信頼性を提供する。
詳細解説
connectionlessと保証ありを混在させた説明である。
誤り。connectionlessなUDPはapplicationへdatagramを渡すが、transport自身で全packetの到達・順序を保証しない。
DHCPの役割でありTCP自体の性質ではない。
誤り。address配布はDHCP等のapplication protocolがUDP上で行い、TCPの一般機能ではない。
TCPの接続・信頼性・stream特性を表す。
正しい。TCPは接続状態を持ち、sequence/ACKと再送でordered byte streamをapplicationへ提供する。
ICMPに近い説明でtransport protocolのTCPではない。
誤り。network reachabilityやerror reportを担うICMPの説明で、TCPはtransport層protocolである。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' 'TCP: connection-oriented ordered byte stream retransmission'期待される結果
TCP: connection-oriented ordered byte stream retransmission理解のポイント
- connection-oriented
- 順序制御
- 再送とACK
確認時の注意
- 確認環境: 概念対応表の表示のみ
基礎のおさらい
TCP stream
message境界を保持せず連続byte列として渡すため、application protocolがrecord境界を定義する。
UDP datagram
message境界を保持しoverheadが小さい一方、loss・重複・順序制御が必要ならapplication側で扱う。