Internet运输层协议(TCP)(6 源端口号和目的端口号字段用于分别表示发送方和接 收方的端口号,TCP协议中对每一个字节都给予编号, 序号和确认号都是字节的编号,序号表示发送的用户 数据第一个 的编号,而确认号表示的是下一个希 望接收的字节的编号 TCP头部长度是TCP头部(包括20字节的固定部分和 选部分)的32位字的数目,所以,选项的32位字的数 目=TCP头部长度-5。 URG标志是紧急数据标志,当有紧急数据时,该指针 为1,同时,紧急指针是本TCP段中,紧急数据的开始 位置(一个字节偏移量),即序号+紧急指针。 ACK表明确认号有效,如果ACK为0,则,确认号无效
Internet运输层协议(TCP)(6) ◼ 源端口号和目的端口号字段用于分别表示发送方和接 收方的端口号,TCP协议中对每一个字节都给予编号, 序号和确认号都是字节的编号,序号表示发送的用户 数据第一个字节的编号,而确认号表示的是下一个希 望接收的字节的编号。 ◼ TCP头部长度是TCP头部(包括20字节的固定部分和可 选部分)的32位字的数目,所以,选项的32位字的数 目=TCP头部长度-5。 ◼ URG标志是紧急数据标志,当有紧急数据时,该指针 为1,同时,紧急指针是本TCP段中,紧急数据的开始 位置(一个字节偏移量),即序号+紧急指针。 ◼ ACK表明确认号有效,如果ACK为0,则,确认号无效
Internet运输层协议(TCP)(7) PSH标志表示要求马上发送数据,用于实现PUSH功能。 RST标志用于对本TCP连接进行复位,通常在TCP连接发生故障时 设置本标志,以使通信双方实现重新同步,初始化某些连接变量 SYN标志用于建立TCP连接,一般SYN=1和ACK=0表示发起TCP连 接的建立,而SYN=1和ACK=1表示接受TCP连接 FIN表示连接释放。 窗口大小字段用于实现TCP协议的流量控制和差错恢复,TCP协议 中窗口大小是可变的。 校验和用于对TCP的头部实现校验。 选项部分用于实现除TCP头部指定功能外的附加功能 数据部分用于传送TCP用户所要求发送的数据
Internet运输层协议(TCP)(7) ◼ PSH标志表示要求马上发送数据,用于实现PUSH功能。 ◼ RST标志用于对本TCP连接进行复位,通常在TCP连接发生故障时 设置本标志,以使通信双方实现重新同步,初始化某些连接变量。 ◼ SYN标志用于建立TCP连接,一般SYN=1和ACK=0表示发起TCP连 接的建立,而SYN=1和ACK=1表示接受TCP连接。 ◼ FIN表示连接释放。 ◼ 窗口大小字段用于实现TCP协议的流量控制和差错恢复,TCP协议 中窗口大小是可变的。 ◼ 校验和用于对TCP的头部实现校验。 ◼ 选项部分用于实现除TCP头部指定功能外的附加功能。 ◼ 数据部分用于传送TCP用户所要求发送的数据
Internet运输层协议(TCP)(8) ■TCP协议建立连接冲突处理 SYNSEG∞) 02 主机 主机
Internet运输层协议(TCP)(8) ◼ TCP协议建立连接冲突处理
Internet运输层协议(TCP)(9) TCP协议连接管理状态图(下页) 状态转换图由状态和状态转换组成,状态表 达了系统所处的状态,在一定的状态下,系 统只能进行该状态所允许的动作,状态转换 表示一个状态到另一个状态的迁移,包括迁 移的条件和迁移的动作,用“条件/动作” 表示
Internet运输层协议(TCP)(9) ◼ TCP协议连接管理状态图 (下页) ◼ 状态转换图由状态和状态转换组成,状态表 达了系统所处的状态,在一定的状态下,系 统只能进行该状态所允许的动作,状态转换 表示一个状态到另一个状态的迁移,包括迁 移的条件和迁移的动作,用“条件/动作” 表示
Internet运输层协议(TCP)(10) Closed LISTEN/-LCLOSEA Listen SYN SYN R SYN/SYN+ACK Sent Established 主动释放 Aw·-被动释放 FINACK Clo Close Wait AGK ACK/- FIN FIN/ACK Wait 2
Internet运输层协议(TCP)(10) Closed Listen SYN Received SYN Sent Established FIN Wait 1 FIN Wait 2 Timed Wait Closing Close Wait 开始 ACK/- LISTEN/- CLOSE/- CLOSE/- CONNECT/SYN SYN/SYN+ACK RST/- SYN/SYN+ACK CLOSE/FIN ACK/- SYN+ACK/ACK FIN/FIN+ACK 超时 ACK/- CLOSE/FIN FIN/ACK FIN+ACK/ACK FIN/ACK ACK/- 主动释放 被动释放