2.7.1 以太网 TCP协议(数据交互过程、窗口机制)

环境介绍:

 1、客户端访问FTP服务器进行下载文件,由于FTP是基于TCP协议进行工作的,所以客户端在访问FTP服务器时必然会进行建立TCP连接。

 2、通过在交换机上对任意端口进行抓包,来分析TCP的传输数据时报文交互的过程,以及TCP的窗口机制凸显的现象。

一、TCP数据报文交互

为什么说TCP协议可靠的?

 其中一项就是因为TCP协议在传输数据的过程对,会对接收到的TCP数据进行一个确认。

 当对方发来一个Seq报文序号2、并承载100Byte的TCP数据,我成功收到且FCS检查无误之后,回复Flags-ACK置位1、ack序号=(收到的Seq+收到的数据大小)=4+100=104TCP报文进行确认。对方收到Seq为104的报文,就知道了我成功接收到了100Byte的数据。

简述TCP数据报文交互过程:

抓包信息:

(1)总体信息

(2)FTP-DATA(1)

(3)FTP-DATA(2)

(4)FTP回复的ACK

华为官网教材截图(HCIA-02 网络参考模型):

为什么PC1所发的Ack字段没有增长?

 TCP成功建立之后,回复的TCP报文ackp字段只会将收到的报文中seq字段与Data字段大小进行相加成为ack字段的新值。

 即:ack=seq+data,如果收到的TCP报文中data(载荷)=0,即ack=seq,也就是图中ack=seq=b+1的原因。

二、TCP窗口机制

 TCP通过滑动窗口机制来控制数据的传输速率,保障数据传输时不会因为其中一端传输太快导致数据丢失。

 在TCP三次握手建立连接时,双方都会通过Window(win)字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小,单位Byte)。

TCP窗口机制如何进行工作的?

  1. 连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据。
  2. 接受方 接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放。
  3. 接收方 根据自身的缓存空间大小,在回复TCP报文时更新窗口大小( Window )。
  4. 发送方 根据接收方回复的窗口大小,实时更改发送相应数量的数据。

TCP窗口机制对数据交互有什么影响?

TCP中的PSH字段作用?


华为官网教材截图(HCIA-02 网络参考模型):

注:图中的win=3,表示可接收的数据包为3个。在实际环境中,该字段通常表示目前可接受处理的数据大小,单位Byte。

为什么PC1所发报文的Win字段没有变化?

 因为win表示的是本端目前所能接收的数据窗口大小,即目前可处理的数据量大小。自己发送的数据并不会占用win窗口量。

为什么PC1所发报文的Win字段没有变化?

 因为win表示的是本端目前所能接收的数据窗口大小,即目前可处理的数据量大小。自己发送的数据并不会占用win窗口量。

展开阅读全文

页面更新:2024-04-21

标签:机制   窗口   数据   报文   缓冲区   以太网   字段   文中   客户端   大小   协议   过程   服务器

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top