7. 传输层协议(TCP、UDP)
TCP(Transmission Control Protocol)传输控制协议
特点:
- 面向连接的,可靠的传输层协议
- 先建立TCP连接,再访问业务。
可靠性保证:
- 确认机制
- 重传机制
TCP报文结构
承载在IP之上,协议号:6
长度:20~60B(20B固定大小)
(1) 源端口: 发送方的端口号。
(2) 目的端口: 接收方的端口号。
(3) Sequence Number: 序列号,由发送方随机产生。
(4) Acknowledge Number: 应答序列号,对上一份TCP报文的序列号进行回应。
作用:
a. 确认
b. 重传
(5) Flag: 标志位。用于标识TCP报文的功能。
a. Syn: 初始化。用于标识报文是否为第一份TCP报文。
Syn=1,第一份。
Syn=0,不是第一份。
b. ack: 应答位。
c. RST: 重置位。标识TCP连接建立失败,需要重新建立连接。
d. FIN: 拆链位。用于拆除TCP连接。
(6) Window: 滑动窗口。用于流量控制。
慢启动:TCP流量在发送过程中,会逐渐增大。
滑窗减半机制:当网络拥塞时,TCP流量会减半。
TCP三次握手
作用:用于建立TCP连接。
第一次握手报文
第二次握手报文
第三次握手报文
TCP重传机制
通过应答序列号(Acknowledge Number)实现确认和重传功能。
TCP四次挥手
作用:用于断开TCP连接。
第一次挥手
第二次挥手
第三次挥手
第四次挥手
TCP端口号
端口的作用: 为应用层提供网络服务的接口。
取值范围: 0~65535
0~1023 保留,给特定的协议使用
1024~65535 其他应用程序使用
FTP(文件传输协议) 21(控制连接)/20(数据连接)
SSH (安全远程) 22
Telnet(远程登录) 23
SMTP(简单邮件传输协议) 25
DNS(域名服务) 53
HTTP(超文本传输协议) 80
POP3(邮局协议) 110
UDP(User Datagram Protocol)用户数据协议
特点:
a. 面向无连接的,不可靠的协议。
b. 可靠性由应用层保证
c. 适用于语音业务、视频业务等对时延敏感的业务。
UDP报文结构
长度: 8B
源port
目的port
DHCP 67(服务器)/68(客户端)