首页 > 其他分享 >TCP报文详解

TCP报文详解

时间:2024-06-20 23:21:09浏览次数:19  
标签:int 报文 unsigned TCP 详解 报头 端口号

简介

其实协议的形式就是结构化的数据,TCP协议也是,它的报头格式如下

TCP报头,实际上是一个结构化的数据,也就是一个结构体。例如:

struct tcp_hdr
{
    unsigned int stc_port : 16;
    unsigned int desc_port : 16; 
    unsigned int seq;
    unsigned int ack_seq;
    ....
};

目的端口号&&源端口号

其中16位源端口号,就是你当前发送报文的端口号。目的端口号则是目标主机的端口号。

这也就是我们在用accept时,能够获取连接套接字的同时,还能获取到对端主机的端口号(ip也获取到了,这个在网络层的时候解释)。 而目的端口号也很好理解,因为端口号能够确定一台主机中唯一的一个进程。当你的报文被发送到对端主机的时候,就能够通过端口号去锁定对应的PCB进程。

4位首部长度代表的是报头占多少大小,这回有人问了,4位不是 0000 - 1111 ,也就是 0 -15这个区间吗?

可是报头的基本大小都20了。 实际上上,4位首部长度 * 4 才等于报头的实际大小。也就 0 - 60区间,报文长度默认是20字节,也就说明4位首部长度默认为5。

标签:int,报文,unsigned,TCP,详解,报头,端口号
From: https://www.cnblogs.com/shuijibaobao/p/18257896

相关文章

  • Linux基础命令大全(详解版)
    Linux基础命令(详解版)文章目录Linux基础命令(详解版)1.Linux的目录结构**2.Linux路径的描述方式**3.Linux命令基础格式4.ls命令隐藏文件、文件夹5.pwd命令6.cd命令特殊路径符7.mkdir命令文件操作命令8.touch命令9.cat命令10.more命令11.cp命令12.mv命令13.rm命令通配符......
  • Kotlin 变量详解:声明、赋值与最佳实践指南
    Kotlin变量变量是用于存储数据值的容器。要创建一个变量,使用var或val,然后使用等号(=)给它赋值:语法var变量名=值val变量名=值示例varname="John"valbirthyear=1975println(name)//打印name的值println(birthyear)//打印birthyear的......
  • Kotlin 变量详解:声明、赋值与最佳实践指南
    Kotlin变量变量是用于存储数据值的容器。要创建一个变量,使用var或val,然后使用等号(=)给它赋值:语法var变量名=值val变量名=值示例varname="John"valbirthyear=1975println(name)//打印name的值println(birthyear)//打印birthy......
  • 从零开始学Web安全,文件包含漏洞详解
    从零开始学Web安全,文件包含漏洞详解大家好,我是[小羽],一个对网络安全充满热情的小白。今天,我将与大家分享我的网络安全中的Web安全学习笔记什么是文件包含漏洞?,这里很详细的介绍了Sql注入的各种类型防御的方法。靶场:dvwa,pikachu服务器:centos7数据库:mysql5.7php:8.0nginx:1.......
  • 详解 ClickHouse 的表引擎
    一、简介表引擎决定了如何存储表的数据。包括:数据的存储方式和位置,写到哪里以及从哪里读取数据支持哪些查询以及如何支持并发数据访问索引的使用(如果存在)是否可以执行多线程请求数据复制参数表引擎的使用方式:必须显式在创建表时定义该表使用的引擎,以及引擎使用的相关......
  • MoneyPrinterPlus:AI自动短视频生成工具-阿里云配置详解
    MoneyPrinterPlus是一个很好的自动短视频生成工具,虽然是一个非常好的工具,但是有些小伙伴可能不太清楚具体应该如何配置才能让它跑起来。因为MoneyPrinterPlus依赖一些具体的配置信息,所以还是很有必要给大家讲解清楚如何进行配置。项目已开源,代码地址:https://github.com/ddean200......
  • 4.13 拔掉网线后, 原本的 TCP 连接还存在吗? (转载)
    4.13拔掉网线后,原本的TCP连接还存在吗?大家好,我是小林。今天,聊一个有趣的问题:拔掉网线几秒,再插回去,原本的TCP连接还存在吗?可能有的同学会说,网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的TCP连接就不会存在的了。就好像,我们拨打有线电话的......
  • TCP与UDP详解:层次、区别及应用场景
    TCP和UDP的层次及区别详解所属层次TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDatagramProtocol,用户数据报协议)都属于OSI模型中的传输层(第四层)。在传输层,协议的主要作用是为端到端的通信提供逻辑通信,并确保数据在网络上传输的可靠性和顺序。TCP和UDP的区别......
  • 【数据结构与算法】二叉树的性质 详解
    在二叉树的第i层上至多有多少个结点。在二叉树的第i层上至多有2i−1......
  • 【数据结构与算法】树,二叉树 详解
    给出树的不同的几种表示形式。邻接矩阵:这是一种二维数组,其中的元素表示两个节点之间是否存在边。这种表示形式适用于稠密图,但对于稀疏图可能会浪费很多空间。邻接表:这是一种数组和链表的组合结构。数组的每个元素都是一个链表,链表中的元素表示与该节点相连的其他节点。这种......