目录
一、TCP协议介绍
传输层(四层)建立主机端对端的连接
TCP:是面向连接的网络协议;具有可靠性;支持流量控制和拥塞控制;头部最小字节为20 最大为60字节;只能一对一通信
注:tcp就像打电话 需要先建立连接 全双工 可以同时传播数据 一对一
UDP:是面向无线连接的网络协议;不具备可靠性;首部仅8字节;可以一对一,一对多,多对一,多对多通信 效率高
注:udp发送数据 它不管对方有没有接收到 也不管对方有没有做出回应 只管发送信息 它的可靠性又上层协议来保障 效率高
二、TCP报文格式
TCP头部组成:源端口号 目的端口号 序号 确认号 头部长度(最小20字节 可根据选项变长 最多60字节)控制位(ACK FIN SYN UGR PSH RST) 滑动窗口(控制流量大小) 校验和 紧急指针 选项
ACK:确认位 ACK=1 确认号才生效
FIN:断开位 FIN=1 表示断开连接
SYN:同步位 SYN=1 表示连接请求报文
RST:重置位 RST=1 重新建立连接
UGR:紧急位 UGR=1 尽快把数据送达到应用层
PSH:急迫位 PSH=1 表示紧急数据 配合紧急指针才有效
三、TCP三次握手
客户端 服务端
SYN=1
ACK=1 SYN=1
ACK=1
ESTABLISHED
举个例子:相当于两个人结婚 男方说我们结婚吧 (SYN=1) 这个信息发送给女方 女方接收到男方的信息(ACK=1 SYN=1) 并回应可以 男方接收到女方的回应后就确定同意结婚(ACK=1)
四、TCP四次挥手
客户端 服务端
FIN=1
先ACK=1 然后FIN=1 ACK=1
ACK=1
客户端先进入TIME_WAIT状态
等待2个MSL后 断开连接入CLOSE 状态