首页 > 其他分享 >#yyds干货盘点#TCP的报文格式

#yyds干货盘点#TCP的报文格式

时间:2023-05-25 23:31:30浏览次数:64  
标签:yyds 报文格式 报文 TCP 序号 接收 数据 连接

TCP的报文格式

  • 源端口号:本次TCP连接中,发起连接的主机使用的端口号;
  • 目的端口号:本次TCP连接主,接受连接的主机使用的端口号;
  • 序号:通过TCP传输的每一个数据段,都有一个序号,作用是为了确认此数据段的顺序。网络中允许传输的数据长度是有限制的,所以当我们要通过TCP传输一个较大的数据时,TCP会将数据切割成很多小的数据段进行传输。而将这些小的数据段发送到目的主机时(发送方会同时发送多个数据),并不能保证它们是按顺序到达目的地,所以对于每一个数据段,都要有一个序号,来标识它们是属于总数据的哪一部分,以保证在目的主机中能将他们重新拼接。
  • 确认序号:接收方若接收到一个数据段,会发送一个确认报文给发送方,告诉发送方已经接收到这个数据段,而确认序号的作用就是告诉发送方接收到了哪条数据段。若接收方接收到了序号为n的报文段,则确认序号将是n+1,表示它已经接收了n,下一条想要接收n+1
  • 首部长度TCP报文的首部+选项的字节数;
  • ACK:只有1 bit的标志位,若为1,表示这个数据段中的确认序号是有效的,即这个数据报是对之前接收到的某个报文的确认(一个TCP报文可以同时作为确认报文和传递数据报文)。
  • RST:只有1 bit的标志位,若客户端向服务器的一个端口请求建立TCP连接,但是服务器的那个端口并不允许建立连接(比如没开启此端口),则服务器会回送一个TCP报文,将RST位置为1,告诉客户端不要再向这个端口发起连接;
  • SYN:只有1 bit的标志位,若为1,表示这是一条建立连接的TCP报文段;
  • FIN:只有1 bit的标志位,若为1,表示这是一条断开连接的TCP报文段;

标签:yyds,报文格式,报文,TCP,序号,接收,数据,连接
From: https://blog.51cto.com/u_15452495/6351700

相关文章

  • #yyds干货盘点# LeetCode程序员面试金典:路径总和 II
    题目:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。 示例1:输入:root=[5,4,8,11,null,13,4,7,2,null,null,5,1],targetSum=22输出:[[5,4,11,2],[5,8,4,5]]示例2:输入:root=......
  • #yyds干货盘点# LeetCode程序员面试金典:多数元素
    1.描述:给定一个大小为n的数组 nums,返回其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1:输入:nums=[3,2,3]输出:3示例 2:输入:nums=[2,2,1,1,1,2,2]输出:22.代码实现:classSolution{......
  • 我对TCP三次握手的理解
    客户端:买菜大妈服务端:菜贩两次握手买菜大妈:这萝卜2毛一斤卖不?菜贩:卖。你要几斤?如果这两个人是在app上买的。互相之间看不到,那么大妈不想卖,走了。菜贩还在等她回话,这就浪费时间了。三次握手买菜大妈:这萝卜2毛一斤卖不?菜贩:卖。你要几斤?买菜大妈:我不买,我就问问。买卖不成情谊在,都不......
  • 计算机网络(二)OSI七层模型、TCPIP四层模型与原理五层模型
    1OSI参考七层模型(法律上的标准)OSI七层模型OSI:开放式互连通信参考模型分层的原因:标准化、降低各个层之间的关联依赖①应用层:能产生流量能够和用户交互的应用②表示层:加密压缩,开发人员考虑的问题③会话层:服务器和客户端建立的会话netstat-nb④传输层:进行可靠传输、不......
  • SICK CLV69x TCP/IP与PC通讯调试实例
    ​第一部分:现场需求/问题描述客户购买了CLV690+CMF400TCP/IP模块以及手持枪IDM261,有以下要求: 1.  CLV690读取钢卷信息,没有读到通过手持枪补扫; 2.  条码信息通过TCP/IP与PC端通讯; ​ 第二部分:现场工作内容1.产品功能和参数设置:  a. 安装和电......
  • tracee源码初探(二)TCP处理流程
    handleEvents(ctx),processNetCaptureEvents(若开启Capture.Net)协程一直常驻,并等待netCapChannel消息通知.当有事件传过来时,程序先看该事件是否需要处理,也就是说tracee是上报所有事件的,然后过滤来处理事件。在tracee.go中的initBPF函数里t.bpfModule.InitPerfBuf( "net_cap_......
  • Android tcp、okhttp请求&&python tcp&&a bytes-like object is required, not ‘str
    更多内容欢迎来到我的新博客blog.devilwst.top更多内容欢迎来到我的新博客blog.devilwst.top首先声明一下,本文部分代码来自于博客AndroidpublicstaticvoidGetByHttpURL(finalStringurl){newThread(newRunnable(){@Overridepublicvo......
  • MPTCP(六):MPTCP测试
    MPTCP测试1.注意事项测试主机已替换支持MPTCPv1的内核,并且已使能MPTCP,本次测试中使用的内核版本均为5.18.19测试主机中确保已经正确配置了iproute2和mptcpd,参考文档如下:《MPTCP路径管理工具ip-mptcp》《mptcpd编译及安装》测试用的server主机可以只有一个WAN口,但......
  • #yyds干货盘点# LeetCode程序员面试金典:路径总和
    题目:给你二叉树的根节点 root和一个表示目标和的整数 targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 targetSum。如果存在,返回true;否则,返回false。叶子节点是指没有子节点的节点。 示例1:输入:root=[5,4,8,11,null,13,4,......
  • #yyds干货盘点# LeetCode程序员面试金典:Excel表列名称
    1.简述:给你一个整数 columnNumber,返回它在Excel表中相对应的列名称。例如:A->1B->2C->3...Z->26AA->27AB->28... 示例1:输入:columnNumber=1输出:"A"示例2:输入:columnNumber=28输出:"AB"示例3:输入:columnNumber=701输出:"ZY"示例4:输入:colum......