tcp 俩端同时发数据,序列号和确认号是多少?

加入tcp三次握手已经建立后,双方开始同时发数据
CLIENT : SEQ: 2000 ACK: 600
SERVER: SEQ: 600 ACK: 2000

CLIENT向SERVER 发送一个数据包100大小
SERVER 向CLIENT发送一个数据包100大小

A包: C -> S seq:2000, ack:600 发送包体100
B包: S -> C seq:600, ack:2000 发送包体100

S 先收到A包,并反馈ACK seq是600还是700? ACK :2100?
C 还没收到A包产生的ACK,但先收到了B包,并反馈ACK seq是2000还是2100? ACK:600:还是700?
C 先收到A包产生的ACK,再收到B包, 反馈ACK seq是2000还是2100? ACK:700?

0

3个回答

哪有资料可以查呢? 求帮助

0

nobody? 急求呀

0

这是做网卡驱动?应用层不需要关心tcp的ack吧?

0
yixiaoqingchen
yixiaoqingchen 做vpn,碰到这个问题了。实在不知道能在哪里能查资料了
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
TCP从建立到关闭的数据流分析(包括序列号和确认序列号的计算)
客户端和服务器的TCP连接的建立通过3步TCP发送和接收完成的。当建立了TCP连接后,客户端和服务器就可以通过TCP传输数据了。当数据传输完成后,如果要关闭TCP连接,那么要通过4步TCP发送和接收完成的。rn客户端IP 192.168.1.103,TCP端口为58178,服务器的IP为183.61.49.185,服务器端口号是80rnTCP连接建立的第一步:客户端发送SYN数据报给服务器,客户端
6-TCP 协议(序号和确认号)
转载请注明出处:http://blog.csdn.net/q1007729991/article/details/69261780接下来的内容是学习后续内容的基础,必须先讲清楚。为了方便你回忆 TCP 首部,这里再次把这个图贴出来,以便对照。 n n图1 TCP 首部 n1. 序号序号占用 4 字节,即 32 位。它的范围是 [0,232−1][0, 2^{32}-1],也就是说一共有 4 294
TCP序列号和确认号详解
1.序列号和确认号的简介及作用TCP协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。 响应包内也包括一个序列号,表示接收方准备好这个序列号的包。在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确
TCP序列号和确认号
哎呦!为什么知识的传播总要夹杂一些废话呢?!!!真是看不下去,还是总结自己的理解吧。好了,我的废话说完了,下面直奔主题:nnbegin:nn序列号:占32位,用来标示本端发送的数据位数,初始序列号是随机的(0-4,294,967,295),之后根据某种规律递增、循环(归零)。nn确认号:占32位,用来通知发送端数据成功接收的数据位数,等于接收的数据包的序列号+接收的数据位数,SYN...
关于TCP报文段丢失,确认号的选择
主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。解析:即题目的意思就是0-69已经全部接收完成,现在就是A发送第一个是70-99和第二个是100-n的报文段(1)第一个报文段携带了多少字节的数据?  解析:70到99一共30个字节。       答:100-70=30 字节(2)主机B收到第一个报文段后发回的确认中的确认号应当是多少? 解析:确认号应为期望收到的报文段的第一个序...
TCP的序列号与确认号实例
1.客户端连接服务器nSEQ ACKn1553492055     0n客户端向服务器发送一个同步数据包请求建立连接,该数据包中,初始序列号(ISN)是客户端随机产生的一个值,确认号是0n2904800932 1553492056n服务器收到这个同步请求数据包后,会对客户端进行一个同步确认。这个数据包中,序列号(ISN)是服务器随机产生的一个值,确认号是客户端的初始序列号+1;n155
[计算机网络] TCP报文段中的序号和确认号
本篇内容参考自:《计算机网络 自顶向下方法》原书第六版前言序号字段和确认号字段是TCP报文段首部中两个最重要的字段,这两个字段是TCP可靠传输服务的关键部分。TCP把数据看成一个无结构的、有序的字节流。序号是建立在传送的字符流之上的,而不是建立在传送的报文段的序列之上序号一个报文段的序号是该报文段首字节的字节流编号,举个栗子~假设主机A的一个进程想通过一条TCP连接向主机B上的一个进程发送一个数据...
【计算机网络】发送包与确认包的序号
在没有数据包丢失的情况下,确认包的确认号是它收到这组数据包后,想要接收的下一个数据包的起始序号。比如,甲向乙发送了包含序号21~60的数据包,则乙在收到这个数据包后会发送给甲一个确认号61,表示61之前的所有数据都接收到了,正准备接收61及61之后的数据。同时,发送方的序号就是这次发出的数据包的初始序号,比如甲发出了21~60的数据,则它的序号就是21.另外,若有数据包丢失了,则确认号必须是最早丢...
TCP连接建立和断开时的序列号
 nn如下图所示,以TCP流客户端192.168.1.110:52582与服务端23.67.181.145::80为例,说明一下在TCP连接建立和断开时的序列号使用情况。nnnn首先在连接建立时,先看一下客户端的序列号的使用。nn客户端第一个SYN数据包,No.1951,Wireshark显示其使用的Seq=0,这是一个相对的序列号,是wireshark自身的显示,数据包中真实的序列号并不为0。使...
TCP之服务器端发送SYN+ACK报文
从《TCP之服务器端接收SYN请求段》中可以看到,当服务器端收到SYN包后,将会调用tcp_v4_send_synack()向客户端发送SYN+ACK报文,这篇笔记就来分析下这个过程。n1. tcp_v4_send_synack()n/*n * Send a SYN-ACK after having received a SYN.n * This still operates on a reque...
TCP面试题(二)之TCP糊涂窗口问题
在说明这个问题之前,我想先说明下大概的脉络:rn                                                                1、何谓“糊涂窗口”;rn                                                                2、如何解决。rn问题描述rn    那么,我就先说说“糊涂窗口”是怎
TCP/IP序列号和确认号
TCP/IP序列号和确认号详解: TCP协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序列号的包。在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包。另外,TCP通过数据分段中的序列号来保证所有传输的数据可以按照正常的顺序进行重组,从而保障数据传输的完整。
计算机网络实验ethereal
直接复制粘贴自己的实验报告,所以没有截图,可自行做实验比对rnrnrn在电脑的某处保存该文件rn rn rnrn rn在窗口输入文件完整的路径rnrn rn点击“Upload alice.txt file”按钮,上传文件,上传成功后,会显示祝贺信息rn rn rnrn rn抓包结果rnrn rn在“Filter”窗口输入“TCP”rn可以看到的是我的计算机和gaia.cs.umass.edu之间的
TCP为什么采用随机初始序列号
在TCP的三次握手中,采用随机产生的初始化序列号进行请求,这样做主要是出于网络安全的因素着想。如果不是随机产生初始序列号,黑客将会以很容易的方式获取到你与其他主机之间通信的初始化序列号,并且伪造序列号进行攻击,这已经成为一种很常见的网络攻击手段。nn...
TCP - 数据段格式
源端口: 16 bits,  呼叫方的TCP端口号。n目的端口: 16 bits, 被呼叫方的TCP端口号。n序号: 32 bits,数据部分第一个字节的编号,占32位。例如一个数据段的序号字段值是101,该数据段共有100个字节,那么最后一个字节编号为200,下一个数据段的序号字段应该为201。n确认号: 32 bits, 期望接收到对方下一个数据段中的数据部分的第一个字节序列号。序号和确
《TCP IP网络编程》尹圣雨----4.第二章习题
(1)什么是协议?在收发数据中定义协议有何意义?n协议使对话中使用的通信规则。在收发数据中定义协议,能够让计算机之间进行正确无误的对话,以此来交换数据。nnn(2)面向连接的TCP套接字传输特性有3点,请分别说明。na.可靠性,传输过程中数据不会消失。nb.字节流,按序传输数据,传输数据不存在数据边界。nc.面向连接,双方之间必须建立连接后,才可进行数据的传递。nnn(3)下列
如果 TCP 协议中三次握手不携带序列号,会造成什么样的后果
之所以需要三次握手,其实就是要双方相互确认彼此能够通信。nnn一般要与对方确认可以通信,就要确认自己能够跟对方通信(1),且能够收到对方的通信(2),反过来对方也能够和自己通信(3),且能收到自己的通信(4)。基于这一点,流程就简化为3次握手通信。nnn首先,client发送一个SYN=1,seq=X(X随机);到server,server收到这个消息,则确认了client能够与ser
TCP协议滑动窗口与确认重传机制?
字节流传输状态分类与滑动窗口的概念:①TCP协议使用以字节为单位的滑动窗口协议,来控制字节流的发送、接收、确认与重传过程。②接收窗口的大小由接收端根据缓存剩余空间的大小,以及应用进程读取数据的速度来决定。发送窗口的大小取决于接收窗口的大小。③发送窗口和接收窗口:发送窗口等于第二类和第三类的字节数之和=9+6=15。可用窗口长度等于第三类的字节数=5。即“尚未发送,但是接收端已经做好接受准备的字节”,
TCP协议发送数据:TCP 协议接收端(服务端)数据,
7 TCP协议发送数据:rn注意:tcp的是 客户端和服务端。客服端可以主动访问服务端,服务端不能主动访问客户端。 但是在建立联系之后,就可以互相访问了。rn创建发送端Socket对象(创建对象,并且需要指向服务器的ip地址和端口号):rnSocket  s = new  Socket(InetAddress.getByName(“javaName”),10000);rnSocket s2 = n
TCP服务端发送与接收数据
TCP服务端发送与接收数据nnimport socketnnnn1.创建套接字nntcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)nnnn(回收你所用的服务器端口)nntcp_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)nnnn2.绑定ip和portn...
浅析TCP之SACK(选择性确认)
1、SACKrnSelective Acknowledgement,选择性确认。rn2、功能rnTCP收到乱序数据后,会将其放入乱序队列中,然后发送重复ACK给对端。对端如果收到多个重复的ACK,认为发生丢包,TCP会重传最后确认的包开始的后续包。这样原先已经正确传输的包可能会重复发送,降低了TCP性能。为改善这种情况,发展出SACK技术,使用SACK选项可以告知发包方收到了哪些数据,发包方收到这
TCP序列号和确认号例解.doc
文档撰写背景为学习“科来网络分析系统6.9技术交流版”使用,及TCP抓包分析后,根据《TCP序列号和确认号详解》验证后,所写。
21. TCP协议之三次握手抓包
上一节分析了三次握手的原理, 而本节来实际抓包来查看三次握手的过程.n环境n操作系统 : linuxn抓包软件 : wiresharkn抓包操作n实验代码 : service_client.cn服务端输入 :n./a.out 1 8080 192.168.1.16nn客服端输入 :n./a.out 2 8080 192.168.1.16nn如果不知道信息哪一个网卡的话, 可以选择any, 然后加上...
【艾琪出品】-【计算机网络基础】测试题系列一
【声明】本博客内容,若有侵权请告之,会删除 非商业用途,如有侵权,请告知我,我会删除nn如回复不及时,或不懂的请加我微信 island68  QQ823173334 可以的话注明来自CSDNnn很希望通过CSDN这个平台与大家交流,试题可以给需要的人参考,也留作自己备用nn nn计算机网络基础nn nn一、计算题nn1.一个TCP连接下面使用256kb/s的链路,其端到端时延为128mS。经测试,...
TCP 多线程 同时发送大量数据 解决办法
向大家分享一下.呵呵 服务器向多个终端传输大量数据。并且同时向他们发送,采用安全的TCP方式。我采用的办法是 首先向多个终端 创建SOCKET数组,创建多个线程 创建多个线程的目的不是要 每个线程向不同的终端发送,而是每个线程发送不同的数据,比如一个1G的数据,我线程1取出他的100M内容第二个线程取出他的第二个100M内容。然后线程同步执行向终端数组里面发送。大大的提高了速率.rn服务器端对数据...
万能注册机2010商业破解版 万能注册码 万能序列号 万能ID号
万能注册机2010商业破解版对目前大部分软件有效,只需输入软件的名称和版本即可以得到相关的注册码 序列号 ID号
TCP数据段
传输控制协议TCP是专门为了在不可靠的互联网上提供可靠的端到端字节流而设计的,它必须动态地适应不同的拓扑、带宽、延迟、分组大小和其他的参数,并且当有错误的时候,能够足够健壮支持TCP的及其都有一个TCP实体,或者是用户进程或者是操作系统内核,都可以管理TCP流和跟IP层的接口发方(封装):TCP实体接受本地进程的用户数据流,将其分割成不超过64KB的分片(实践中,通常分割成1460字节,以通过以太...
tcp协议服务器和客户端相互发送数据
package com.neutron.network.tcp.demo;nnimport java.io.IOException;nimport java.io.InputStream;nimport java.io.OutputStream;nimport java.net.ServerSocket;nimport java.net.Socket;nimport java.net.Unknow
TCP的seq和ack号计算方法
seq和ack号存在于TCP报文段的首部中,seq是序号,ack是确认号,大小均为4字节(注意与大写的ACK不同,ACK是6个控制位之一,大小只有一位, 仅当 ACK=1 时ack字段才有效。建立 TCP 连接后,所有报文段都必须把 ACK 字段置为 1。)seq:占 4 字节,序号范围[0,2^32-1],序号增加到 2^32-1 后,下个序号又回到 0。TCP 是面向字节流的,通过 TCP 传...
由 TCP 报文格式谈 TCP — 源端口号、目的端口号、报文段序号(一)
首先要有一个概念,即 TCP 首部最小为n20 个字节,这n20 个字节分为 n5 行,每行为 n4 个字节,也就是 n32 位;谈到这里大家应该会在脑海中画一个长n32 宽n5 的矩形,如果可以的话再给它分行,分为n5 行。就像下面这个样子:n这 20  个字节是怎么来的呢?又以什么样的形式存在呢?里面包含什么内容呢?nnnn那么让我们来想想这个报文中应该有什么东西,首
TCP数据发送之发送窗口
TCP的发送过程由滑动窗口控制,而滑动窗口的大小受限于发送窗口和拥塞窗口,拥塞窗口由拥塞控制算法的代表,而发送窗口是流量控制算法的代表,这篇笔记记录了发送窗口相关的内容,包括发送窗口的初始化、更新、以及它是如何影响数据发送过程的。n1. 概述nTCP的发送窗口可以用下图表示:nn如图所示,TCB中有三个成员和发送窗口强相关。nstruct tcp_sock {n...n //下一个要发送的序号,即...
17-TCP 协议(迟到的 ACK —— Windows )
1. 引言我们知道,TCP 协议中,需要对接收到 TCP 段进行确认。有两种方式可以减少 TCP 报文段. 一种是累积确认,另一种是捎带确认。n累积确认n有时候,发送方发送速度非常快,接收方一下下接收到了好几个 tcp 段,可以通过累积确认的方式,一次确认好几个 tcp 段,这样减少报文段的传输。n捎带确认n有时候,双方互相发送数据,当接收到对方的 tcp 段后,先不着急确认,而是等待一会儿,连同数
从阿里巴巴的面试题考考你对TCP 中序列号和确认序列号的理解
前言nn关于TCP的序列号与确认序列号的知识我们这里不说,我们看看具体到TCP相关的笔试中是怎么考察TCP的序列号与确认序列号的。。nn关于TCP序列号与确认序列号的说明nnn TCP报文的首部字段中确认序列号是期望收到对方下一个报文段的第一个数据字节的序号。n n n 如果确认序列号为N,则表明上次对方发送的TCP报文段中最后一个字节的序列号为N-1,下一次对方发送序列的起始序列号为Nn n笔试...
TCP数据的传输过程
建立连接后,两台主机就可以相互传输数据了。如下图所示:rnrnrn图1:TCP 套接字的数据交换过程rnrn上图给出了主机A分2次(分2个数据包)向主机B传递200字节的过程。首先,主机A通过1个数据包发送100个字节的数据,数据包的 Seq 号设置为 1200。主机B为了确认这一点,向主机A发送 ACK 包,并将 Ackrn 号设置为 1301。rnrn为了保证数据准确到达,目标机器在收到数据包
计算机网络传输层题库
网络课课后题nn1 下列哪一项不是传输层的作用nnA、可采用标准的传输原语开发自身应用,无惧底层通信网络的变化nnB、提供可靠数据传输、差错控制等服务nnC、处理主机之间通信的事务,而不是进程之间的通信(网络层:主机与主机    传输层:进程与进程)nnD、当数据传输连接中断时,可以建立一个新的连接,在中断处继续数据的传输nn2  传输层协议能提供应用的多路复用/分用服务、可靠数据传送、带宽及延迟...
TCP缓存区与窗口的关系
TCP缓存区与窗口关系网上大多错误的理解n滑动窗口大小=接受缓存区大小n接收方通告窗口大小=发送方缓存区大小n注意:以上两个结论都是错误的我们在学习网络编程时,通常会参考两本很经典的书《UNIX网络编程 卷1》和《TCP/IP 卷1》。然而,我在看与缓存区与窗口相关模块知识点时,通常会犯迷糊。感觉这两本书对其的描述很少,描述得有点模糊。《TCP/IP详解 卷1》第1版的一句重要的描述,因为在小字处
Tcp udp通信发送的十六进制和字符的区别
字符用ASCII集来表示,需要8个二进制位,ASCII表有255个字符 n十六进制是原样发送,需要4个二进制位 n例如发送 A8 n字符发送的是 0000 1010 0000 1000 n而十六进制发送的是 1010 1000 n因此,在收发需要进行转换...
TCP初始化序列号ISN
TCP初始化序列号不能设置为一个固定值,因为这样容易被攻击者猜出后续序列号,从而遭到攻击。rnrnRFC1948中提出了一个较好的初始化序列号ISN随机生成算法。rnrnISN = M + F(localhost, localport, remotehost, remoteport).rnrnM是一个计时器,这个计时器每隔4毫秒加1。rnrnF是一个Hash算法,根据源IP、目的IP、源端口、目的
TCP数据报结构以及三次握手(图解)
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。rnrn客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道。rnrnTCP建立连接时要传输三个数据包,俗称三次握手(Three-
EC20建立一路SOCKT发数据_TCP发GPS定位数据
STM32F407 开发EC20代码,EC20建立一路SOCKT发数据_TCP发GPS定位数据
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学python学费是多少 区块链的学费是多少