TCP报头格式的是什么?

点评

这是一道关于TCP/IP的基础问题,主要考察面试者对网络理解的基本功。

答案

TCP是用于提供可靠的全双工连接的主要传输协议。TCP的最常见用途是交换封装在IP数据报中的TCP数据。尽管IP在主机和路由器上都实现,但TCP通常仅在主机上实现,以提供可靠的端到端数据传输。两台计算机上TCP软件之间的传输单位称为TCP段。交换段以建立连接,传输数据,发送确认,窗口大小和关闭连接。

除非存在额外选项,否则封装在IP数据报中的每个TCP段都有一个TCP标头 - 长度为20个字节。

TCP报头格式如下:

  • 源和目标端口号:识别发送和接收应用程序。与IP中的源和目标IP地址一起将连接标识为套接字。
  • 序列号:此段中第一个数据字节的序列号。如果SYN位置1,则序列号为初始序列号,第一个数据字节为初始序列号+ 1。
  • 确认号:如果设置了ACK位,则该字段包含该段的发送者期望接收的下一个序列号的值。建立连接后,始终会发送此连接。
  • HLEN:TCP报头中的32位字数。这表示数据的开始位置。
  • 标记:TCP报头中有六个标记位。可以同时打开一个或多个
    • URG URGENT POINTER字段包含有效数据
    • ACK 确认号码有效
    • PSH 接收方应尽快将此数据传递给应用程序
    • RST 重置连接
    • SYN 同步序列号以启动连接。
    • FIN 发件方已完成发送数据。
  • 窗口:这是接收者将要接受的字节数,这是一个16位字段,将窗口限制为65535字节。
  • 校验:校验报文完整性
  • 紧急指针:仅当设置了URG标志时,紧急指针才有效。该指针是一个正偏移量,必须添加到段的序列号字段中,以产生紧急数据的最后一个字节的序列号。TCP的紧急模式是发送方将紧急数据传输到另一端的一种方式。此功能很少使用。

相关主题: