1.TCP和UDP协议
(1)TCP/IP协议族的传输层协议
TCP:传输控制协议;
UDP用户数据报协议
1)TCP协议:
TCP是面向连接的、可靠的进程到进程通信的协议;比如打电话,双方通话前需要先建立连接。
TCP提供全双工服务,即数据可在同一时间双向传输;每一个TCP都有发送缓存和接收缓存,用来临时存储数据。
TCP报文段:TCP将若干个字节构成一个分组,叫报文段(Segment);TCP报文段分装在IP数据报中
2.传输层(四层)建立主机端到端连接
(1)TCP和UDP的区别
TCP UDP
面向连接的网络协议; 面向无连接的网络协议
可靠传输; 不可靠传输
首部20~60字节; 首部仅8字节
面向字节流的; 面向报文的
只能一对一通信; 支持一对一,一对多,多对一和多对多交互通信
(2)TCP头部组成:源端口号 ; 目的端口号 ; 序号 ; 确认号 ;头部长度(可根据选项变长,20~60字节) ;控制位(URG 、 ACK 、 PSH 、RST 、 SYN 、 FIN);滑动窗口(控制流量大小) ; 校验和 ; 紧急指针 ; 选项
SYN:同步位,SYN=1 表示连接请求报文
ACK:确认位,ACK=1 确认号才生效
FIN:断开位,FIN=1 表示断开连接
RST:重置位,RST=1 重新建立连接
PSH:急迫位/推送位,PSH=1 尽快地把数据送达应用层
URG:紧急位,URG=1 表示紧急数据,配合紧急指针才有效
(3)UDP头部组成:源端口号 ;目的端口号 ; UDP总长度(包含数据和头部) ; 校验和。
3.TCP建立连接的过程称为三次握手
TCP三次握手
客户端 -- SYN=1 --> 服务端
<-- SYN=1,ACK=1 --
-- ACK=1 -->
ESTABLISHED ESTABLISHED
4.TCP断开连接的四次挥手
TCP四次挥手
客户端 -- FIN=1 --> 服务端
<-- ACK=1 --
<-- FIN=1,ACK=1 --
-- ACK=1 -->
TIME_WAIT CLOSE
2MSL时间后进入
CLOSE