`
housen1987
  • 浏览: 345381 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
阅读更多

TCP流量控制(flow control)

首先,为什么进行流量控制?

一般地说,我们总是希望数据传输的更快,但是如果发送方传送的很快,而接收方来不及接收的话,数据就会丢失。

TCP使用滑动窗口来进行流量控制。

TCP窗口单位是字节


其实,滑动窗口只不过是一个装B的说法,“每次传输容量”这个名词更适合这个地方。

注意看上图,上图是从谢老师的《计算机网络》中截出的一幅TCP流量控制的说明图,下面我也来说明一下:

首先先想一个问题,发送方A与接收方B,A想要发送600个字节的内容给B,要如何发送?

有人说,简单,直接全部送过去。

可实际上并不是个简单的问题,要考虑A的发送能力,A一次能发多少字节的数据出去呢?还得考虑B的接收能力,B一次能接收多少字节的数据?还得考虑网络原因,中途出现数据丢失怎么办?

 

首先,针对A,B的每次发送接收能力问题,先约定一个比较合适的容量rwnd,这个容量一般来说,是接收方B的每次处理能力,只要A每次发送的数据不超过这个容量rwnd,那么B就有能力处理地过来。

这个容量rwnd不是恒定的,而是要根据接收方B的实际情况和网络状况而改变的,而且也可能随着发送数据的多少而改变,例如数据发送完毕,则rwnd = 0。

 

现在我们可以看上图了。

在看第一行之前,还得说明一下,A与B之间已经约定好了:rwnd=400字节,至于它们之间是怎么约定的,其实大部分情况下,发送一个1字节的确认信号到B,完成一次数据交互,即可获得B的rwnd。

 

1 现在看第一行:seq=1,DATA,表示A发送了1-100字节的数据到B,此时B的处理容量还没满,还有300字节的处理能力。A可以继续发送。

2 再看第二行:seq=101,DATA,表示A发送101-200字节的数据到B,B的处理容量还没满,还差200字节。

3 看第三行:seq=201,DATA,但是出现“丢失”,不必管怎么丢失的,此时相当于出现了严重的错误了,A不能继续发数据了,B也要调整一下状态了。

4 ACK=1,ack=201,rwnd=300,ACK表示首部确认位,ack表示确认字段的值,此时,B返回自己的rwnd=300,那么A只能发300字节的数据,就要重新确认rwnd了。

5 seq=301,DATA,参照第二步

6 seq=401,DATA,参照第二步

7 seq=201,DATA,这个时候是重发旧的数据,此时,300字节的rwnd满了,要重新确认新的rwnd

8 ACK=1,ack=501,rwnd=100,参照第4步

9 seq=501,DATA,参照第二步

10 ACK=1,ack=601,rwnd=0,因为上一步,就已经把600字节的数据传送完毕了,没必要在继续传了,这个时候,就把rwnd设置成0了。


rwnd=0的问题

有人又要问了,如果rwnd=0,那么发送方A岂不是一直不能传数据了吗?

这个时候,一个叫做“持续计数器”的东东出现了,在发送方,如果收到rwnd=0的通知,那么“持续计数器”启动,经过一段时间之后,发送试探消息到B,如果还是收到rwnd=0的结果,那么继续等待,如果不是0,就可以继续传数据了。

分享到:
评论

相关推荐

    专题资料(2021-2022年)TC型二氧化硫分析仪已升级为液晶显示TCI说明书剖析.doc

    该仪器的核心处理单元是89C55微控制器,它能处理桥流、温度和不平衡电势三路信号,确保数据的准确性和实时性。采用液晶显示屏,用户可以直观地查看实时参数,如桥流、温度和不平衡电势。 仪器的主要技术参数包括...

    IEEE Std 802.1AE-2018—Cor 1-2020 Local and metropolitan area net

    《IEEE Std 802.1AE-2018—Cor 1-2020 Local and metropolitan area networks—Media Access Control (MAC) Security Corrigendum 1》是IEEE组织发布的一份重要的标准文档,它针对局域网和城域网的媒体访问控制(MAC...

    基于LTE的车联网无线通信技术 PC5安全协议一致性测试控制接口规范-201908.pdf

    TCI协议是控制接口的标准,它定义了设备间的交互方式,包括消息类型、消息约束以及消息的具体定义。 4.1节中,文档规定了测试过程中的一些基本约定,例如错误处理、同步机制等。4.2节深入探讨了TCI协议,其中4.2.1...

    VLAN原理培训胶片XXXX0711B.pptx

    VLAN的产生源于对传统LAN网络中广播流量控制的需求。在无VLAN的网络中,广播包会传播到整个网络,可能导致网络性能下降。通过路由器可以分割网络,但每个子网仍然可能面临广播问题。VLAN的出现使得网络管理员可以将...

    MAC帧格式分析与应用

    - **TCI字段**:在802.1Q TAG中,TCI提供了用户优先级和VLAN ID,允许网络对不同流量进行优先级划分和隔离。 这两种帧格式在以太网通信中起到了关键作用。基本帧格式适用于传统以太网,而扩展帧格式则为现代网络...

    VLAN标准和对交换机的帧处理过程规则

    3. **控制通信量**:VLAN能够有效地控制局域网内的单播、多播和广播流量,这些流量仅限于特定的VLAN内传播,从而提高了网络的安全性和效率。 4. **兼容现有设备**:VLAN设计时考虑到了与现有网络设备(如交换机、...

    IEEE Std 802.1Q-2011

    4. Priority Flow Control(PFC):PFC是802.1Q标准的一部分,用于实现基于端口的流量控制,确保高优先级的数据流不会因为低优先级流量的拥塞而受到影响。 5. QinQ:也称为双层VLAN,是802.1Q的一个扩展,允许在...

    VLAN.pptx

    VLAN ID用于识别帧所属的VLAN,优先级则用于流量控制。 交换机的端口类型有两种:Access端口和Trunk端口。Access端口通常连接用户终端,只允许一个VLAN的流量通过;而Trunk端口用于交换机之间的连接,可以承载多个...

    华为培训课件:HC110115002 VLAN原理和配置.ppt

    - **流量控制**:VLAN有助于管理网络流量,避免了由于过多设备在同一广播域内导致的性能下降。 2. **VLAN帧格式**: - VLAN帧与普通以太网帧的区别在于增加了4字节的Tag,其中包含了TPID(Tag Protocol ...

    以太网协议介绍,包括报文

    数据链路层则处理帧的传输,包括错误检测、流量控制和介质访问控制。 二、TCP/IP参考模型的层次结果 TCP/IP参考模型与ISO/OSI模型类似,但简化为四层:网络接口层(对应OSI的物理层和数据链路层)、网络层、传输层...

    VLAN简介 作者文章电子版 需要的下载

    VLAN(Virtual Local Area Network,虚拟局域网)是一种网络技术,用于在单一物理局域网...通过有效的VLAN配置,网络管理员可以更有效地控制流量,减少广播风暴,同时增强网络安全,实现不同部门或服务之间的隔离。

    计算机网络技术实验报告和课程设计4

    VLAN,即虚拟局域网,是一种将物理上的局域网逻辑地划分为多个子网的技术,以便更好地管理和控制网络流量。通过VLAN,可以将网络用户按照部门、功能或安全需求等进行分组,即使这些用户在物理上分布在不同的位置。...

    61850-9-1标准规约_附扩展协议说明

    VLAN标签(IEEE 802.1Q)用于对网络流量进行分割,可以提高网络的带宽使用效率和安全性能。 在标准中还提及了IEC60044-8,它涉及的是电力系统测量和控制设备的数据通信。IEC61850-9-2则是IEC 61850标准系列的另一个...

    在PROFINET应用中如何选择交换机

    在PROFINET应用中,通过使用VLAN可以更有效地管理和控制网络流量,尤其是在大型或复杂网络环境中。例如,可以通过配置特定的VLAN来专门处理实时数据,以确保这些数据的传输不受其他类型流量的影响。 **2. IEEE 802....

    3_华为IPRAN培训文档:路由基础

    其中,Tag字段包含了TPID、TCI等信息,TCI又包括Priority、CFI(Canonical Format Indicator)以及VLAN ID。 通过以上内容的学习,可以更好地理解和掌握路由基础知识,为后续深入学习网络技术和华为IPRAN解决方案...

    vlan-tag总结

    VLAN标签由标签协议标识(TPID)和标签控制信息(TCI)两部分组成。其中,TPID为2字节,固定值为0x8100,用于标识帧的类型,表明这是一个802.1Q标签帧;TCI为2字节,包括用户优先级(UserPriority)、规范格式指示器...

    IP优先级、TOS优先级、DSCP优先级和802.1p优先级的区别

    DSCP允许网络管理员更精确地控制流量,例如,为VoIP或视频流分配更高的优先级。DSCP值通过组合不同的服务类别,可以实现更复杂的流量管理和调度策略。 4. 802.1p优先级: 802.1p是IEEE制定的一种二层优先级标准,...

    OTIS电梯TT使用说明 原件代码含义

    4. GCB:群控控制按钮,用于多台电梯协同工作,优化交通流量。 5. CHC:切断厅外召唤,防止非正常信号干扰电梯运行。 6. PRK:停梯状态,电梯因故停止运行,等待恢复。 二、电梯运行运动状态 电梯的运行状态涵盖了...

    HM-022 VLAN基础(V5.1)

    Tag TPID Priority CFI VLAN ID TCI ``` Tag字段包含了Priority、CFI和VLAN ID,其中VLAN ID用于区分不同的VLAN。 ### VLAN的配置方式 VLAN的配置可以通过多种方式实现,包括: 1. **基于端口的VLAN**:将交换机...

    Vlan故障处理与优化Vlan知识介绍.pptx

    总的来说,VLAN技术是现代网络架构中的重要组成部分,它提供了一种有效管理和控制网络流量的方法,有助于构建高效、安全和可扩展的网络环境。在处理网络故障时,理解和熟练运用VLAN原理与配置技巧,将有助于快速定位...

Global site tag (gtag.js) - Google Analytics