0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP头部格式是什么

麦辣鸡腿堡 来源:盼盼编程 作者:盼盼编程 2023-10-08 16:45 次阅读

在学习 TCP 连接之前,还要学习一下 TCP 头部格式。因为 TCP 连接建立,需要用 TCP 包来交换和管理数据,下面看一下 TCP头部格式。

图片

TCP 头部里每个字段都为管理 TCP 连接和控制数据流起了重要作用。

16 位端口号:告知主机该报文段是来自哪里(源端口)以及传给哪个上层协议或应用程序(目的端口)的。

进行 TCP 通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号。所有知名服务使用的端口号都定义在/etc/services 文件中。

32 位序号(sequence number):一次 TCP 通信(从 TCP 连接建立到断开)过程中个传输方向上的字节流的每个字节的编号。

32 位确认号(acknowledgement number):用作对另一方发送来的 TCP 报文段的响应其值是收到的 TCP 报文段的序号值加1。

4 位头部长度(header length):标识该 TCP 头部有多少个 32bit ( 4 Byte 因为最大能表示 15 ,所以 TCP头部最长是 60 Byte。

6 位标志位包含如下几项:

URG 标志,表示紧急指针是否有效。

ACK 标志,表示确认号是否有效,一般称携带 ACK 标志的 TCP 报文段为“确认报文段”。

PSH 标志,提示接收端应用程序应该立即从 TCP 接收缓冲区中读走数据,为接收后续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会直停留在TCP 接收缓冲区中)。

RST 标志,表示要求对方重新建立连接,一般称携带 RST 标志的 TCP 报文段为“复位报文段”。

SYN 标志,表示请求建立 个连接,一般称携带 SYN 标志的 TCP 报文段为“同步报文段”。FIN 标志,表示通知对方本端要关闭连接了,一般称携带FIN 标志的 TCP 报文段为“结束报文段”。

16 位窗口大小(window size):是 TCP 流量控制的一个手段。这里说的窗口,指的是接收通告窗口( Receiver Window,RWND)。它告诉对方本端的 TCP 接收缓冲区还能容纳多少字节的数据,这样方就可以控制发送数据的速度。

16 位校验和(TCP checksum):由发送端填充,接收端对 TCP 报文段执行 CRC 算法,以检验 TCP 报文段在传输过程中是否损坏。注意,这个校验不仅包括 TCP 头部,也包括数据部分。这也是 TCP 可靠传输的一个重要保障。

16 位紧急指针(urgent pointer):是一个正的偏移量。它和序号字段的值相加表示最后一个紧急数据的下一字节的序号。确切地说,这个字段是紧急指针相对当前序号的偏移,不妨称之为“紧急偏移”。TCP 的紧急指针是发送端向接收端发送紧急数据的方法。

综上,你需要注意如下几点:

TCP 的包是没有 IP 地址的,那是 IP 层上的事,但是有源端口和目的端口。

一个TCP 连接需要四元组( src_ip,src_port,dst_ip,dst_port )来表示是同一个连接 准确说是五元组,还有一个是协议但因为这里只是强调 TCP 协议,所以,只说四元组。

图片

Sequence Number 是包的序号,用来解决网络包乱序(reordering )问题。

Acknowledgement Number 就是 ACK ,用于确认收到,用来解决不丢包的问题。

Window Advertised Window ,也就是著名 的滑动窗口 Sliding Window ),用于解决流量控制问题。

TCP Flag ,也就是包的类型,主要是用于操控 TCP 的状态机的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    17

    文章

    5374

    浏览量

    133584
  • 网络
    +关注

    关注

    14

    文章

    7020

    浏览量

    86856
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1097

    浏览量

    77852
  • 接收端
    +关注

    关注

    0

    文章

    17

    浏览量

    8341
收藏 人收藏

    评论

    相关推荐

    大侠 求助啊 关于TCP模块中的数据格式

    tcp模块与下位机通讯,但是发现tcp模块收发数据都只能是字符串格式的。那这样一来的话我发数据到下位机的时候 下位机接受到的是数据字符的ASCII码值。 这该怎么解决啊 ?
    发表于 06-27 20:59

    图中的箭头部分是什么意思

    头部分是什么意思
    发表于 12-11 18:36

    请问SIM800C AT HTTP和ONENET提交数据的head头部怎么处理?

    头部head
    发表于 05-07 02:46

    labview采用TCP传输数据时转化字符串的编码格式是哪种?

    TCP传输数据,需要先进行字符串转化,平化或者强制转换,请问转换的字符串采用哪种编码格式:ASCII、GBK、Unicode、UTF-8。网上查资料有两种观点:(1)默认情况下
    发表于 08-22 13:35

    TCP实现:TCP概要

    TCP-IP的很好的书。TCP-IP详解卷3。
    发表于 05-09 16:07 5次下载

    TCP实现:TCP函数

    TCP-IP的很好的书。TCP-IP详解卷3。
    发表于 05-09 16:07 5次下载

    TCP IP相关知识的详细资料说明免费下载

    TCP IP相关知识的详细资料说明免费下载。主要内容包括了:TCP报文格式TCP通信过程,ICMP协议。
    发表于 12-05 11:19 19次下载
    <b>TCP</b> IP相关知识的详细资料说明免费下载

    tcp报文格式详解

    TCP(Transmission ControProtocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。TCP报文是TCP层传输的数据单元,也称为报文段。
    发表于 12-08 11:11 3.1w次阅读
    <b>tcp</b>报文<b>格式</b>详解

    tcp和udp协议的异同

    TCP协议 TCP协议基于网络层的 IP 协议提供的是有连接、可靠服务,是基于字节流的。TCP协议包括了超时重传、流量控制、差错控制等服务。 TCP数据报格式 TCP首部的数据格式。如果不计任选字段,
    的头像 发表于 11-12 14:45 3296次阅读
    <b>tcp</b>和udp协议的异同

    tcp数据包接口封装的介绍

    TCP报文格式 TCP协议有着自己的数据包格式,这里把TCP的数据包称为报文段(segment),TCP报文段封装在IP数据报中发送,TCP报文段由TCP首部和TCP数据区组成,首部区域包含了连接
    的头像 发表于 03-22 09:39 2654次阅读
    <b>tcp</b>数据包接口封装的介绍

    基于集成PN接口的Modbus TCP通讯概述

    TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式,Modbus TCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(Modbus Application Protocol)分4个域,共7个字.
    的头像 发表于 03-09 17:55 3940次阅读

    详解TCP报文的头部结构

    TCP头部。一个TCP连接由一个4元组构成,分别是两个IP地址
    的头像 发表于 05-05 15:08 4438次阅读

    如何解释TCP报文的内容

    TCP协议有着自己的数据包格式,这里把TCP的数据包称为报文段(segment),TCP报文段封装在IP数据报中发送,TCP报文段由TCP首部和TCP数据区组成,首部区域包含了连接建立与断开、数据确认、窗口大小通告、数据发送相关的所有标志和控制信息。如下图:
    的头像 发表于 08-31 09:12 1358次阅读

    以太网通讯的MODBUS TCP通讯协议和自由格式通讯协议的区别

    TCP 结合了以太网物理网络和网络标准 TCP/IP 以及以 MODBUS 作为应用协议标准的数据表示方法。MODBUS TCP 通信报文被封装于以太网 TCP/IP 数据包中,MODBUS 协议规范一帧数据的最大长度为 256 个字节。
    的头像 发表于 10-19 17:17 3899次阅读

    TCP协议网络安全攻击

    TCP协议的概念、主要功能、主要特点、报文格式以及相应的工作方式
    的头像 发表于 04-07 11:40 334次阅读
    <b>TCP</b>协议网络安全攻击