Skip to main content

任务一 TCP传输控制协议18

知识点​

1. 传输层控制协议是什么​

传输层有两大协议:TCP、UDP。 TCP就是传输控制协议,属于传输层;UDP是用户数据报协议。

传输层协议作用:端到端(进程到进程)通信,使用端口号区分不同应用程序。

2. TCP协议是什么​

TCP是TCP/IP传输层,面向连接、可靠传输的协议。 特点(必背):

  1. 面向连接:通信前必须建立连接,通信结束正常断开连接
  2. 可靠传输:保证数据完整、有序、不重复送达目的主机
  3. 全双工通信:双方可以同时收发数据
  4. 基于字节流:把数据看成连续字节流,没有报文边界

对比:UDP无连接、不可靠。

3. 简述TCP连接的建立过程(三次握手)​

目标:通信双方协商初始序列号,确认收发能力正常。

  • 第一次握手:客户端 → 服务器,SYN报文(同步,请求建立连接),客户端序列号seq=x
  • 第二次握手:服务器 → 客户端,SYN+ACK报文。SYN:服务器请求连接,seq=y;ACK确认收到客户端SYN,确认号ack=x+1
  • 第三次握手:客户端 → 服务器,ACK报文,ack=y+1。服务器收到ACK,连接正式建立。

一句话背诵:SYN、SYN+ACK、ACK,三次握手建立TCP连接

4. TCP报文的基本结构中各字段的作用是什么​

TCP报文段 = TCP首部 + 数据 最小首部20字节,选项字段最长40字节,最大60字节。

字段作用
源端口号、目的端口号标识两端应用进程,传输层寻址
序号seq本报文段数据第一个字节的编号,字节流编号
确认号ack期望收到下一字节的序号,ack=N代表N之前全部收到
数据偏移TCP首部长度(单位:4字节)
控制位(标志位)SYN、ACK、FIN、RST、PSH、URG(考试重点:SYN建立,FIN断开)
窗口流量控制,告诉对方本机接收缓冲区剩余大小
校验和校验TCP首部+数据,检测传输差错
紧急指针URG标志生效,标记紧急数据位置

考试一句话:TCP报文段包含源端口、目的端口、序号、确认号、控制标志、窗口、校验和等字段。

5. TCP可靠数据传输是如何做到的​

4个核心机制:

  1. 序号与确认应答(ACK):每个字节分配序号;接收方收到数据返回ACK确认,告诉发送方哪些数据已经收到。
  2. 超时重传:发送数据启动计时器,超时没收到ACK,重新发送报文,解决丢包。
  3. 流量控制:滑动窗口机制。接收方通过窗口大小告诉发送方,不要发送超出缓冲区能力的数据,防止接收缓冲区溢出。
  4. 拥塞控制:慢启动、拥塞避免等,防止网络链路过载。

6. 简述TCP连接的终止过程(四次挥手)​

TCP全双工,两个方向独立关闭,需要四次报文交互。

  1. 第一次挥手:客户端发送FIN报文,请求关闭客户端→服务器方向的数据传输
  2. 第二次挥手:服务器返回ACK,确认收到客户端FIN。此时服务器还能继续向客户端发数据
  3. 第三次挥手:服务器数据发送完毕,发送FIN报文,请求关闭服务器→客户端方向传输
  4. 第四次挥手:客户端返回ACK确认,服务器收到ACK,连接彻底释放。

一句话背诵:FIN、ACK、FIN、ACK,四次挥手断开TCP连接。

DP试题​