免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chouxiaoya8100
打印 上一主题 下一主题

[网络子系统] tcp 分成segment后,请问收方需要应答几次? [复制链接]

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-02-16 16:53 |显示全部楼层 |倒序浏览
比如,某个报文过大,所以发方分成多个segment,然后发给收方,收方手打后,需要应答几次给发方?

问题2 : 如果中间有个segment发送在网络中出错,但是其 前驱 和 后继 都对,那么协议栈如何处理?

只是单纯的发送 出错的? 如果只发送出错的,其后继的segment不发的话,收方收到后,岂不是粘包了!!!!!(协议栈就出现吧粘包)

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
2 [报告]
发表于 2016-02-17 08:58 |显示全部楼层

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
3 [报告]
发表于 2016-02-17 15:44 |显示全部楼层
回复 4# Godbach





TCP 协议栈是按照 seq 进行 ACK 的。

对于 tcp segment,肯定可以逐一 ACK,或者合并 ACK。


逐一我理解,但合并ack,能否举例?

为什么问这个问题,因为我有次抓包,遇到个操蛋问题, 服务器再应用层分片(因为数据太多),结果,客户端少了给服务器1次ack。
所以我才来问,是不是每个段,都有ack应答该段?



对于 ip  fragment,那应该是需要等报文凑齐才能 ACK 的。 请问什么是ip 分片?  应用层数据过大的时候,在tcp层就已经分段了,一个包1460个字节,

无法超过160字节,你说的ip segment, 到底是什么意思?

   

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
4 [报告]
发表于 2016-02-17 15:46 |显示全部楼层
回复 4# Godbach


对于 tcp segment,肯定可以逐一 ACK,或者合并 ACK。  什么叫合并ack ?



"对于 ip  fragment,那应该是需要等报文凑齐才能 ACK 的。"   应用层进入传输层的时候,已经分段了,1460个字节。

为什么传输层到 ip 层,还要分段。


   

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
5 [报告]
发表于 2016-02-17 19:54 |显示全部楼层
回复 7# Godbach

这本书正在看,

再请教另一个问题吧,pppoe帧的问题。

pppoe是以太帧中包裹了ppp报文, tcp协议-详解,这本书对pppoe讲解的很不好。      我们知道应用层1460字节分段,进入传输层,网络层,最后进入网络接口层。

驱动程序封装成以太帧。以太帧大小为1518字节(ip头20字节+tcp20字节+以太帧头和尾一共18字节)。然后发送到以太网中。

既然pppoe 是以太帧包裹了ppp报文, ppp报文里也有字段, pppoe肯定会超过1518字节。

以太网规定不能超出1518字节,这不矛盾吗?
   

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
6 [报告]
发表于 2016-02-18 13:15 |显示全部楼层
回复 9# Godbach


说的好, 好了,我可以进一步请教你了。

我记得我曾经抓包,wireshark抓包。

似乎看不到以太帧汇中有ppp 的东东。


我在想,什么时候以太帧里会有ppp的东东? 是不是只有拨号上网的时候,才会出现ppp, 拨号成功后,以后的帧里,就没有ppp了。


tcp协议详解 这本书名气虽大,但很多地方还是欠缺,比如ppp

   

论坛徽章:
7
处女座
日期:2014-08-23 21:10:59程序设计版块每日发帖之星
日期:2015-06-15 22:20:00程序设计版块每日发帖之星
日期:2015-06-20 22:20:00程序设计版块每日发帖之星
日期:2015-07-05 22:20:00每日论坛发贴之星
日期:2015-07-05 22:20:00操作系统版块每日发帖之星
日期:2015-07-13 23:17:46程序设计版块每日发帖之星
日期:2015-12-16 06:20:00
7 [报告]
发表于 2016-02-18 15:02 |显示全部楼层
回复 11# Godbach


看不到额, 不知道是不是wireshrk作怪?

还是公司的带宽环境导致的?反正以太帧头后紧跟着第2个字节是0x04——————也就是ip包的协议版本。

说明是ip包。

0x7e是ppp头的第一个字节。很明显,我没在以太帧头后看到0x7e。 所以我也很无奈。


谁有环境帮忙看看额。

顺便说一句,我刚才查阅过资料,pppoe 是1492自己(ppp头和尾一共8个字节) 。

其实很我郁闷:如果2台机器在一个局域网中,路由器里设置好拨号上网了。

这2个机器通信,帧是什么类型? 纯以太帧?还是pppoe?




如果都不能上网,这2个机器通信,自然是以太帧了。



   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP