文档介绍:网络工程师
传输层协议
传输层协议
本课
目录
01
TCP与UDP基本概念
02
TCP协议三次握手与四次握手
03
TCP协议四大机制
考点1
TCP基本概念及报文结构
TCP是一种面向连接的、可靠的、面向字节的传输层通信协议,在IP报文中的协议号为6。一般用于对可靠性要求较高的应用。
考点1
TCP基本概念及报文结构
① 源端口和目的端口:是传输层与应用层的服务接口。
② 序号:TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
③ 确认号:是期望收到对方下一个报文段的数据的第一个字节的序号。
④ 数据偏移:它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。
⑤ 保留:保留为今后使用。一般设置为0。
考点1
TCP基本概念及报文结构
⑥ 控制位:URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。
URG:紧急指针标志,当URG=1时,表明紧急指针有效,告诉系统报文段中有紧急数据应尽快传送。
ACK:确认序号标志,ACK=1时确认号字段才有效,ACK=0时确认号字段无效。PSH:push标志,接收方接收到PUSH=1的报文段时会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。
RST:重置连接标志,RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。SYN:同步序号,在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,应在应答的报文段中使SYN=1和ACK=1。因此,SYN=1就表示这是一个连接请求或连接接收报文。
FIN:finish标志,当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。
考点1
TCP基本概念及报文结构
⑦窗口:滑动窗口大小,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。窗口大小是一个16bit字段,因而窗口大小最大为65535。
⑧ 校验和:奇偶校验,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。
⑨ 紧急指针:指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特URG=1时才有效。
⑩ 选项和填充:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),长度可变。每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。通过填充位,保证TCP头是32的整数倍。
考点2
UDP基本概念及报文结构
UDP是一种无面向连接、不可靠的、面向字节的传输层通信协议,主机不需维持连接状态,不会降低发送速率。在IP报文中的协议号为17。一般多用于不需要确认机制可靠机制,而是只关心传输效率,UDP的可靠性由应用层来提供。
考点3
TCP三次握手
考点3
TCP四次握手
考点4
TCP连接状态
(1)CLOSED:关闭状态,没有连接
(2)LISTEN:侦听并等待对端的TCP连接请求
(3)SYN-SENT:发送SYN连接请求后,等待对端回复SYN请求
(4)SYN-RECEIVED:收到来自对端的SYN请求,并回复SYN请求后,等待对端响应SYN请求的ACK消息
(5)ESTABLISHED:代表连接建立,双方在这个状态下进行TCP数据交互
(6)CLOSE-WAIT:等待本地用户(进程)发送FIN关闭请求给对端
(7)CLOSING:双方同时发送FIN关闭请求时,会进入CLOSING状态,等待对端发送FIN报文的响应ACK消息
(8)TIME-WAIT:该状态是为了确保对端收到了FIN请求的ACK响应。-----被动关闭