TCP的特性③

4.滑动窗口

前提条件

确认应答机制下,每次发送方收到一个ack才会发下一个,导致大量的时间浪费在等待ack上了。

此处等待消耗的时间成本是非常多了。

希望保证可靠传输的前提下,能够让效率尽量高点,让消耗的时间成本尽可能少点。

滑动窗口提出就是为了解决上述问题的。

滑动窗口可以在保证可靠传输的基础上,提高效率(降低损失,不是增加速度)

虽然通过这个机制,提高了效率,但不可能高于UDP

引入滑动窗口:

批量传输:之前发了一个数据,等待ack再发下一条数据。现在先发一个数据,不等ack,再发下一个,继续再往下发。连续发了一定的数据后,同一等一次ack。

把多次请求的等待时间,使用同一份时间来等了,减少了总等待时间。

        这四份数据是已经批量传输出去了,传输出四份数据之后,就等待ack,暂时先不传了,就把白色的区域,称为“窗口大小

        批量发四个数据,对应4个ack,不一定同时到达,有先有后。等一个ack回来了,就往后发一组。上述发送/返回ack的过程是很快的。

窗口往后移动的速度很快,直观上感觉是一个“滑动”效果,称为“滑动窗口”

出现丢包,解决方法

1.ack丢了

这种情况下无需进行任何处理,对于可靠性没有影响,不需进行重传。

2.数据丢了

收到三个相同的确认应答时,进行重传

        解决该问题的关键要点是:此处返回的应答报文是1001确认序号。(明确告诉对方想要的是1001

        反复索要,就是在给1001的到达留有等待时间。连续多次索要发现1001还没到,应该就是丢了,相当于“超时时间”判定。

        在上述重传过程中,整体的效率是非常高的。这里的重传做到了“针对性”的重传,哪个丢了就重传哪个,已经收到的 数据,是不必要重传的,整体的效率没有额外损失,称为“快速重传”。

    

确认应答 超时重传 滑动窗口 快速重传 =>  并不冲突,同时存在

        滑动窗口也有确认应答,只不过把等待策略稍作调整,转成批量的了。批量的前提是短时间发了很多数据。如果发的数据少了,滑动窗口滑不起来,退化成了确认应答。

        如果当前传输过程是按照滑动窗口(短时间传输大量数据)就按照快速重传,保证可靠性,此时丢包的标准就是看连续有多个ack索要同一个数据

        如果当前传输过程不是按照滑动窗口(没有很多数据)此时仍按超时重传,保证可靠性,此时丢包的标准就是看达到超时时间没有ack到达

5.流量控制

        通过滑动窗口可以提高传输效率,窗口大小越大,更多的数据复用同一块时间等待,效率就高了(传输多少数据不需要等待ack,此时数据的量为“窗口大小”,窗口不能无限大,因为:可靠传输的前提:任何提高效率的行为,不能影响可靠性

        发送的速度不能无限大,此时需要考虑一些情况,保证可靠性。

例如:发的快了,接收方处理不过来,也会丢包(接收方接收缓冲区满了,继续发会丢包)

如果接收缓冲区满了丢包了,就算重传也没有用,反而会浪费硬件资源。

        与其等到接受方满了,再不发,不如提前就感知到,减慢速度,让发送方发送速度和接收方处理速度一致,就接受方反过来影响发送方速度 => 流量控制

通过这个字段来给发送方反馈发送速度

在普通报文中无意义,在ack报文中才有意义。

通过这个大小反馈给发送方接下来要发送的窗口设置为多少合适。

        接收方会按照自己接收缓冲区剩余空间大小,作为ack中的窗口大小的数值,下一步发送方就会根据这个数值来调整自己的窗口大小。

        当窗口大小为0,意味着接收缓冲区满了,此时发送方就应该暂停发送

发送方会周期性的触发“窗口探测包”并不携带载荷,这样的包对于业务并不影响,只是触发了ack,一旦查询出来的结果是非0了,发送方就继续发送。

        如果当前接收方处理速度很快,但中间通信路径处了问题,某个地方堵车了,发送速度再快也没用=> 木桶效应

        针对这种情况,核心思路:把中间路径经过的所有设备看成一个整体,然后通过“实验”的方式,找到一个比较合适的传输速率。

        如果按照某个窗口大小发送数据之后,出现丢包,就视为中间路径存在拥堵,就减少窗口大小,如果没有出现丢包,就视为不拥堵,就增加窗口大小

        上述方案,一方面简化了问题,一方面也能很好的适应,当前网络环境的复杂性,中间这些节点,啥时间拥堵/不拥堵是“随机”的。

        此时按照上述策略,就可以让发送速率动态变化

<think>嗯,用户想了解如何基于5G技术设计矿井无线专网,包括需求分析、网络架构设计以及与工业环网的对接方案。首先,我需要整理矿井环境下的特殊需求。矿井里环境复杂,存在很多障碍物,而且安全要求极高,所以网络覆盖和稳定性是关键。5G的大带宽、低时延和广连接特性应该能满足这些需求,比如高清视频监控、设备远程控制等应用场景。 接下来是网络架构设计部分。根据引用内容,煤矿5G专网通常包括无线接入层、工业环网汇聚层、MEC和核心网。需要确认各个部分的具体配置,比如基站(gNB)的部署要考虑防爆和覆盖范围,可能采用分布式天线系统。MEC边缘计算节点能提供本地数据处理,减少时延,这对实时控制很重要。核心网部分可能需要独立部署,确保数据不出矿井,符合安全要求。 然后是工业环网的对接方案。工业环网一般是环形拓扑结构,5G专网需要通过UPF与环网连接,确保数据传输的可靠性。引用5提到UPF负责流量转发和策略执行,这里可能需要配置冗余链路和QoS策略,优先保障关键业务的数据流。 多媒体调度功能实现方面,可能需要集成语音、视频和数据调度,利用5G的高带宽支持多路高清视频回传,同时结合MEC的本地处理能力进行智能分析,比如人员定位和异常检测。这部分需要参考引用2和4中提到的5G在工业互联网和智能场景中的应用,可能需要部署专用的调度服务器和AI算法。 还需要考虑防爆设计,矿井中的设备必须符合防爆标准,所以基站和终端设备的选择要特别注意。此外,网络切片技术(引用3)可以为不同业务分配专用资源,比如为视频监控和远程控制创建独立的切片,确保服务质量。 最后,测试和优化环节也很重要,需要在矿井不同区域进行信号测试,调整基站位置和参数,确保全覆盖。可能还要考虑未来的扩展性,比如支持更多传感器或自动化设备接入。 总之,整个设计需要结合5G的技术优势,针对矿井的特殊环境进行定制,确保安全、可靠和高效。同时,参考现有的煤矿5G专网架构和工业应用案例,能够提供实用的解决方案。</think>### 矿井5G无线专网设计思路 #### 一、需求分析 1. **环境特殊性** 矿井环境存在巷道狭窄、电磁干扰强、设备防爆要求高等特点,需满足$100\%$无线覆盖、$20ms$以内端到端时延、$99.99\%$网络可靠性[^1]。 2. **业务需求** - 高清视频监控($4K/8K$,带宽$50-100Mbps/路$) - 远程设备控制(时延$\leq 20ms$) - 人员定位(定位精度$\leq 1m$) - 传感器数据回传(连接密度$10^4/km^2$) #### 二、5G网络架构设计 1. **无线接入层** - 部署矿用本安型$5G$基站(gNB),支持$2.6GHz$或$700MHz$频段,采用分布式天线系统(DAS)增强巷道覆盖[^5]。 - 终端设备需通过防爆认证,支持URLLC(超可靠低时延通信)协议。 2. **工业环网汇聚层** - 通过$5G$ UPF(用户面功能)与工业环网对接,采用双归属冗余设计,保障传输可靠性[^5]。 - 配置QoS策略,优先传输控制指令和告警信号,带宽分配公式: $$B_{\text{critical}} = \sum_{i=1}^{n} (B_i + \Delta B_{\text{reserve}})$$ 其中$B_i$为关键业务带宽,$\Delta B_{\text{reserve}}$为冗余带宽。 3. **边缘计算层** - 部署矿用MEC节点,实现视频智能分析、本地数据存储等功能,减少核心网负载[^4]。 - 通过服务化架构(SBA)开放API,支持与矿井自动化系统(如PLC、SCADA)集成[^3]。 #### 、与工业环网对接方案 1. **协议转换** - 在UPF部署工业协议网关(Modbus/TCP、PROFINET转5G NR),实现$5G$空口与工业以太网的无缝对接。 2. **网络切片** - 创建独立切片:控制指令切片(时延$\leq 10ms$)、视频回传切片(带宽$\geq 1Gbps$)、传感器切片(连接数$\geq 10^4$)。 #### 四、多媒体调度功能实现 1. **架构设计** - 调度服务器部署于MEC,集成语音集群(PoC)、视频会议、GIS地图服务。 - 支持动态资源分配算法: $$R_{\text{alloc}} = \alpha \cdot R_{\text{priority}} + \beta \cdot R_{\text{emergency}}$$ 其中$\alpha,\beta$为业务权重因子。 2. **关键技术** - 采用SRT(安全可靠传输)协议保障高清视频质量,丢包率$\leq 0.1\%$[^2] - 基于AI的智能调度(如人员轨迹预测、异常事件自动派单) ```python # 示例:网络切片带宽分配算法 def slice_allocation(total_bandwidth, slices): allocated = {} for slice in slices: allocated[slice['id']] = slice['weight'] * total_bandwidth total_bandwidth -= allocated[slice['id']] return allocated ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值