网络互联与互联网 - TCP 协议详解

文章目录

  • 1 概述
  • 2 TCP 传输控制协议
    • 2.1 报文格式
    • 2.2 三次握手,建立连接
    • 2.3 四次挥手,释放连接
  • 3 扩展
    • 3.1 实验演示
    • 3.2 网工软考

1 概述

  • 在 TCP/IP 协议簇 中有两个传输协议
    • TCP:Transmission Control Protocol,传输控制协议,是面向连接的、可靠的。
    • UDP:User Datagram Protocol,用户数据报协议,是面向无连接的、不可靠的。

2 TCP 传输控制协议

2.1 报文格式

网络互联与互联网 - TCP 协议详解_第1张图片

参数 英文名 说明
源端口 Sorce Port
目的端口 Destination Port
序号 Sequence Number 保证数据的可靠性
确认号 Acknowlegement Number
首部长度 Header Length
保留 Reserved
控制位 Control bits
窗口大小 Window Size 进行流量控制
校验和 Checksum
紧急指针 Urgent
可选项 Options

【其中,控制位有以下参数,其值为 1 时,表示启用。】

控制位 全称 描述
URG Urgent 紧急。表示本报文中是否包含紧急数据
ACK Acknowledgement 确认。表示前面的字段是否有效
PSH Push 推送。表示立即将数据推送给上层
RST Reset 重置。表示是否重置连接
SYN Synchronization 同步。在建立连接时使用,用来同步序号。
① 当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段。
② 当 SYN=1,ACK=1 时,表示对方同意建立连接。
FIN Finish 完成。表示数据已经发送完成,可以释放连接。

2.2 三次握手,建立连接

网络互联与互联网 - TCP 协议详解_第2张图片

说明
序号 seq:表示本次通信的字节流序号。初始序号 x、y 是自动生成的,如上图:seq = x 表示 客户端 本次的初始序号为 x,seq = y 表示 服务器 本次的初始序号为 y。
确认号 ack:确认上一步的序号,并进行 + 1 (目的:表明数据包是连续的)。
③ 当 控制位 ACK = 1 时,确认号 ack 才有值。

2.3 四次挥手,释放连接

网络互联与互联网 - TCP 协议详解_第3张图片

说明
① 请求释放连接 中的 x、y 为上一次通信中的值
② MSL:Maximum Segment Lifetime(最大段时长)

3 扩展

3.1 实验演示

【eNSP:网络拓扑图,对接口 Ethernet 0/0/2 抓包】
网络互联与互联网 - TCP 协议详解_第4张图片

【客户端 Client1 和 服务器 Server1 配置】
网络互联与互联网 - TCP 协议详解_第5张图片

【抓包参数信息】
网络互联与互联网 - TCP 协议详解_第6张图片

网络互联与互联网 - TCP 协议详解_第7张图片

3.2 网工软考

【2021上半年 - 21,22】TCP使用的流量控制协议是( ),TCP头中与之相关的字段是( )。
(21)A.停等应答
   B.可变大小的滑动窗口协议
   C.固定大小的滑动窗口协议
   D.选择重发ARQ协议
(22)A.端口号
   B.偏移
   C.窗口
   D.紧急指针

参考答案:21=B,22=C
通过数据抓包,可以看到,窗口大小是变化的

网络互联与互联网 - TCP 协议详解_第8张图片

【2019下半年 - 22】建立TCP连接时,被动打开一端在收到对端SYN前所处的状态为( )。
A. LISTEN
B. CLOSED
C. SYN RESECEIVD
D. LASTACK

参考答案:A

你可能感兴趣的:(网络工程,TCP,传输控制协议)