传输层协议介绍
TCP是传输层协议中的传输控制协议
TCP是面向连接的、可靠的进程到进程通信的协议
TCP提供全双工服务、即数据可在同一时间双向传输
TCP将若干个字节构成一个分组,叫做报文段(Segment)
TCP报文段封装在IP数据报中
TCP报文段
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可以接收数据段的数目,窗口大小是可变的
SYN:同步序号位,TCP需要建立连接时将该值设为1
ACK:确认序号位,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时,将该位置设为1
TCP建立连接的过程称为三次握手
① 电脑A向电脑B发送连接请求
② 电脑B收到向A发送确认信息以及连接请求
③ 电脑A收到向B发送确认信息
半连接:发生在TCP三次握手中,如果A向B发起连接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。
半连接攻击:半连接中,会造成B分配的内纯资源就一直这么耗着,直到资源耗尽(SYN攻击)。
TCP断开连接的四次挥手
① 电脑A向电脑B发送断开连接请求和确认信息
② 电脑B向A发送确认信息(电脑A收到确认信息后,断开了与B的连接,但B没有断开A的连接。从而是半关闭状态)
③ 接着电脑B向A发送断开连接请求和确认信息
④ 电脑A向B发送确定信息
半关闭:当TCP连接中,A向B发送FIN请求关闭,另一端回应ACK之后,并没有立即发送FIN给A,A方处于半开关状态,此时A可以接收B发送的数据,但是A已经不能再向B发送数据。
无连接,不可靠的传输协议
花费的开销小
UDP的报文格式