本章主要讲解传输层协议
1.TCP传输控制协议:
特点:面向连接,可靠,字节流,全双工
三次握手建立连接,四次挥手释放连接
状态转换(简化):
CLOSED -> SYN_SENT -> ESTABLISHED -> FIN_WAIT_1 -> FIN_WAIT_2 -> TIME_WAIT -> CLOSED
服务端:LISTEN -> SYN_RCVD -> ESTABLISHED -> CLOSE_WAIT -> LAST_ACK -> CLOSED
-
UDP用户数据报协议
特点:无连接、不可靠、数据报、无拥塞控制
适用场景:DNS 查询、NFS、RTP(实时音视频)
不保证顺序、不保证送达、无流量控制 -
SCTP流控制传输协议
特点:面向连接、可靠、消息(非字节流)、多宿、多流
比 TCP 优势:多宿(multi-homing)、多流(multi-streaming)、消息边界
主要用于:SIGTRAN(信令)、WebRTC 等 -
协议选择
TCP:需要可靠传输的应用(HTTP、FTP、SMTP)
UDP:能容忍丢失、低延迟优先(DNS、游戏、流媒体)
SCTP:需要多流、多宿特性的应用 -
套接字类型与协议对应
SOCK_STREAM + IPPROTO_TCP -> TCP
SOCK_DGRAM + IPPROTO_UDP -> UDP
SOCK_SEQPACKET + IPPROTO_SCTP -> SCTP
通常用 0 作为 protocol,系统自动选择(如 SOCK_STREAM 默认 TCP)
浙公网安备 33010602011771号