chouxiaoya8100 发表于 2016-02-16 16:53

tcp 分成segment后,请问收方需要应答几次?

比如,某个报文过大,所以发方分成多个segment,然后发给收方,收方手打后,需要应答几次给发方?

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

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

chouxiaoya8100 发表于 2016-02-17 08:58

:dizzy::shutup::D)

Godbach 发表于 2016-02-17 11:24

回复 1# chouxiaoya8100
你指的是分片吗?


   

Godbach 发表于 2016-02-17 11:35

回复 1# chouxiaoya8100

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

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

对于 ipfragment,那应该是需要等报文凑齐才能 ACK 的。


   

chouxiaoya8100 发表于 2016-02-17 15:44

回复 4# Godbach





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

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

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

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



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

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

   

chouxiaoya8100 发表于 2016-02-17 15:46

回复 4# Godbach


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



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

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


   

Godbach 发表于 2016-02-17 17:10

回复 6# chouxiaoya8100

TCP/IP 详解 卷1, 看一下相关章节吧,亲


   

chouxiaoya8100 发表于 2016-02-17 19:54

回复 7# Godbach

这本书正在看,

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

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

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

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

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

Godbach 发表于 2016-02-18 12:24

本帖最后由 Godbach 于 2016-02-18 12:25 编辑

回复 8# chouxiaoya8100
既然是 PPPoE 的话,那么肯定最后的帧要遵守以太网的要求。

所以实际的最大 IP Payload 就得相应的减小。


   

chouxiaoya8100 发表于 2016-02-18 13:15

回复 9# Godbach


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

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

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


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


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

   
页: [1] 2
查看完整版本: tcp 分成segment后,请问收方需要应答几次?