目录
TCP(Transmission Control Protocol)传输控制协议 ——面向控制
TCP是面向连接的、可靠的进程到进程通信的协议,TCP提供全双工服务,即数据可在同一时间双向传输
TCP报文段
TCP将若干字节构成一个分组,叫报文段(Segment)TCP报文段封装在IP数据报中。
TCP报文段首部格式
序号:发送端为每个字节进行编号,便于接受端正确重组
确认号:用于确认发送端消息
窗口大小:用于说明本地可接收数据的数目,窗口大小是可变的
URG:紧急指针有效位
ACK:确认序号位,当该位为1时,用于确认发送方的数据
PSH:标志位为1时要求接收方尽快将数据段送达应用层
RST:当RST值为1时通知重新建立TCP连接
SYN:同步序号位,TCP需要建立连接时将该值设为1
FIN:当TCP断开连接时将该位置为1
TCP建立连接
*图中Sep表示请求序列号,Ack表示确认序列号
*可以用抓包软件看到网络数据的变化
半连接
发生在TCP三次握手中,如果A向B发起连接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。
半连接攻击:利用半连接原理,造成B分配的内存资源就一直这么耗着,直到资源耗尽(SYN攻击)
TCP断开连接
用抓包软件可以看到数据断开连接的
半关闭:当TCP链接中A向B发送FIN请求关闭,另一端B回应ACK之后,并没有立即发送FIN给A,A方处于半连接状态(开开关),此时A可以接受B发送的数据,但是A已经不能再向发送数据。
常用TCP端口号及其功能
UDP(User Datagram Protocol)用户数据报协议——面向用户
无连接,不可靠的传输协议,花费的开销小,时间少
UDP报文的首部格式
UDP长度:用来指UDP的总长度,为首部加上数据
校验和:用来完成对UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制
常用UDP端口号及功能(一般调成默认搭建)