TCP/IP
TCP/IP
TCP/IP 在传输层连个不同协议,传输控制协议(TCP)、用户数据协议(UDP)
TCP——UDP
- TCP 数据传输单位 TCP 报文段,UDP 数据传输单位 UDP 报文或者用户数据报
- TCP 面向连接,UDP 面向无连接
- TCP 高度可靠,UDP 不能保证数据可靠性传输
- TCP 复杂性因此开销大,UDP 简单性具有较高的传输效率
TCP
传输控制协议,面向连接,可靠。一旦数据报被破坏或丢失将会重新传输,TCP 会检测传输错误并予修正,可靠全双工数据传输协议服务
主要功能
- 数据流的多路复用
- 检测数据段完整性
- 重新排序
- 流量监控
- 复杂的时钟机制
- 高校的确认方式
TCP 报文
- 端口号:用来标识同一台计算机的不同的应用进程
- 源端口:源端口和 IP 地址的作用是标识报文的返回地址
- 目的端口:端口指明接收方计算机上的应用程序接口
- 发送序列号
- 确认号
- 报头长度
- 预留
- 编码位
- URG:紧急指针
- ACK:确认号有效
- PSH:要求接收端尽快将这个报文交给应用层
- RST:复位一个 TCP 连接
- SYN:同步序列号用于建立连接
- FIN:发送端完成任务并要求终止传输
- 窗口
- 紧急指针
- 选项
- 填充
- 数据
TCP 三次握手
-
客户端发送—————————–SYN,seq=x—————————————>服务端
SYS(同步信号)、seq(生成序列号)
-
客户端<—————————SYN,ACK=X+1,seq=y————————服务端发送
SYS(同步信号)、ACK(客户端发送序列号加随机数)、seq(生成序列号)
-
客户端发送————————–SYN,ACK=y+1———————————–>服务端
SYS(同步信号)、ACK(服务端发送发送序列号加随机数)、seq(生成序列号)
四次挥手
-
客户端发送———————FIN,ACK—————————->服务端
FIN(终止传输)、ACK(确认收到最后一个包)
-
客户端<————————–ACK————————————-服务端发送
ACK(确认收到)
-
客户端<————————–FIN————————————–服务端发送
FIN(终止发送)
-
客户端发送———————-ACK———————————–>服务端
ACK(确认终止发送)
UDP
This post is licensed under
CC BY 4.0
by the author.