首页
学习
活动
专区
工具
TVP
发布

Rdt 1.0: 可靠信道上的可靠数据传输Rdt 2.0: 产生位错误的信道Rdt 2.1: 发送方, 应对ACKNAK破坏Rdt 2.2: 无NAK消

我们将讨论一下几个方面的内容 信道的(不可靠)特性 可靠数据传输的需求 Rdt 1.0 Rdt 2.0, rdt 2.1, rdt 2.2 Rdt 3.0 流水线与滑动窗口协议...image.png Rdt 2.1: 发送方, 应对ACK/NAK破坏 我们看rdt2.0有什么问题,我们知道确认信号也需要通过信道传播,那么如果ack,nck的信号发生了错误呢?...image.png Rdt 2.1 vs. Rdt 2.0 发送方: 为每个分组增加了序列号 两个序列号(0, 1)就够用,为什么?...image.png rdt3.0效率 Rdt 3.0能够正确工作,但性能很差 示例:1Gbps链路,15ms端到端传播延迟,1KB分组 ?...可靠数据传输原理与协议回顾 信道的(不可靠)特性 可靠数据传输的需求 Rdt 1.0 Rdt 2.0, rdt 2.1, rdt 2.2 Rdt 3.0 流水线与滑动窗口协议 

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

可靠数据传输基本原理

称之为rdt协议。 rdt1.0 在rdt1.0中,我们先考虑一个最简单的情况,即底层信道是完全可靠的。...rdt_send()事件接受上层的数据,产生一个分组(使用make_pkt()产生).,并且发送到信道中。 rdt_rcv()事件从底层信道接受一个分组。...rdt2.0 在rdt2.0中,我们假设底层信道是只具备“比特可能受损”的特性。按照通信原理的内容具体来看,就是指在传输过程中的误码或者是误信率。...接收方 经过上面的改造就形成了rdt2.1版本,此时我们的信道仍旧是只具备“比特可能受损”的特性。 rdt3.0 在rdt2.0中,我们假设的信道模型是只具备“比特可能受损”的特性。...那么在rdt3.0中存在的新问题就是如何解决丢失的数据的重传问题,其他的问题在rdt2.0中就已经解决了。

1.9K20

计算机网络OSI传输层

transfer )的复杂性 提供的服务&服务的实现 RDT基本结构==>接口 RDT特点 渐进式地设计可靠数据传输协议的发送方和接收方 只考虑单向数据传递 控制信息双向流动...重传 FSM规约 无错误场景 有错误场景 Rdt 2.1和2.2 Rdt 2.0有什么缺陷==>如果ACK/NAK消息发生错误/被破坏(corrupted)会怎样?...的技术核心在于timeout时间的确定) Rdt 性能分析 Rdt3.0能够正确工作,但性能很差 示例==>1Gbps链路,15ms端到端传播延迟,1KB分组 发送方利用率 : 发送方发送时间百分比...在1Gbps链路上每30毫秒才发送一个分组,33KB/sec 网络协议限制了物理资源的利用 Rdt 停等操作 滑动窗口协议 流水线机制 回顾RDT3.0的弊端==>由于停等协议==>导致性能极差...NS+NR<=2k 可靠数据传输原理与协议回顾 信道的(不可靠)特性 可靠数据传输的需求 Rdt 1.0 Rdt 2.0, rdt 2.1, rdt 2.2 Rdt 3.0 流水线与滑动窗口协议 GBN

19530

计网——可靠数据传输原理

我们还是以应用层,运输层,网络层为例: 调用rdt_send()函数,上层可以调用rdt发送方,把要传输的数据交付给它 rdt的发送方和接收方都需调用udt_send()发送分组给对方(udt为不可靠数据传输...那么此时,rdt协议应如何设计呢?...rdt2.1(解决rdt2.0的致命缺陷) 在刚刚的rdt2.0的假设中,我们只考虑到了分组在传输信道中受损的情况,如果接收方给ACK,发送方就传下一个分组,如果接收方给NAK,发送方就重传当前分组,但我们没有考虑到...(无NAK) rdt2.2在功能上和2.1无任何区别,只是把否定确认NAK变为对前一个分组的ACK,即如果收到1,校验失败,按照rdt2.1应发送NAK给发送方,在rdt2.2则直接发送ACK0即可,这样就可以实现一个无...这就是rdt2.2,对本次分组的否定用对上一个分组的肯定来代替。如果按rdt2.1的逻辑来,你应该直接回她:你不漂亮。

72110

RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性

Christopher在2007年受雇于Aptana,以继续其在Ruby Development Tools(RDT)上的工作,而RDT则是RadRails的基础。...RDT很早就完整支持通过更快的ruby-debug在Eclipse调试器GUI下调试Ruby代码。...因此已经有了大 量的de-facto标准来为RDT/RadRails和Netbeans继承一个调试后端。只需要连接Rubinius的调试器,打开一个套接字并读入 XML命令即可。...这样可以一举使得Rubinus调试器有效地在Netbeans和 RDT/RadRails上工作)。 公用调试协议实现详见RubyForge的debug-commons项目。...不幸的是,最近的发布版破坏了其与RDT的集成,而且Brad没有时间来继续维护和改进。我们正在和他一道将他的编辑器引入RadRails中,这样更有利于以后的维护和改进。

1.9K80

(翻译)LearnVSXNow! #15- 创建简单的编辑器-基础

Visual Studio利用Running Document Table(RDT)来管理打开的文档。...在这个对话框里的每一项都代表RDT里的一个文档。文档是作为一个独立的单元来持久化的。...RDT利用所谓的“编辑锁”来协调已经打开的文档。...当一个文档视图打开的时候,这个文档就被加到了RDT里,RDT给这个文档加了一个“编辑锁”,如果再打开这个文档的另一个视图,RDT又会给这个文档加一个新的“编辑锁”。...那么,RDT里到底存放了些什么东西呢? 文件的路径或uri。如果文档是存在文件里的,RDT必须知道它的绝对路径;如果文档是存在数据库里的,RDT也必须知道能够唯一定位该文档的地址。

68330

openEuler 21.03 特性解读 | CPU 共享资源隔离的利器 - MPAM

MPAM(Memory System Resource Partitioning and Monitoring)[1]特性用于解决混部业务时由于共享资源竞争带来的性能下降问题,MPAM 作为继 x86 RDT...openEuler kernel 已于 openEuler 21.03 创新版本支持 MPAM,成为首个同时支持 x86 RDT 和 MPAM 的开源平台;MPAM 项目组联合下游各大厂商及研究机构在...x86 RDT 目前仅支持第二种,且大部分型号要求 Cache way 分配连续[6]。...图 3 为鲲鹏 920 和常用 x86 型号 RDT 特性对流量控制的比较,对比其他架构的类似特性,MPAM 在流量控制上的最大特点是参考当前 DDR 通道的传输能力,从而对业务流限制一个明确的上下限,...对比 x86 RDT,其限制流量的动作发生在 L2 和 L3 之间,使用给受控流量主动加时延的方式降低目标流量[6]。 ?

6.1K20

DevOps之自动化测试

不间断测试执行; 为了实现测试驱动开发、测试自动化,我们认为需要以下四个要素: 1)敏捷协作的过程 2)测试设计方法 3)全栈测试团队 4)自动化测试服务 普元多年来在产品研发过程中,一直践行敏捷协作的RDT...过程,在新一代云平台项目中,我们分为若干RDT小团队,每个团队负责一个或多个领域系统,以实现不同的用户场景;在每个RDT小团队中,采用需求、开发、测试协同并行工作模式; 随着产品需要在公有云上部署运维,...我们做了一些改进,变成了RDT+Ops过程,运维组参与分析用户场景、需求设计测试评审、反馈运维遇到的问题,而且,运维组自身也作为RDT团队直接负责统一监控中心的需求定义和设计开发; 那么为什么在敏捷协作的过程中...从上面过程中我们可以看到,在计划阶段,每个RDT团队对用户场景都有了统一认识,那么在接下来的每个迭代开发中,定义需求规格、设计概念模型/原型界面/API定义/数据模型的同时,测试可以并行进行测试对象分析...、测试点分析、测试数据和测试组件设计,并且强调RDT的相互评审; 基于这些成果,开发进行编码的同时,测试就可以并行进行测试用例的开发,并且测试用例开始不间断的执行,自动化测试相比传统开发过程大大提前,通过测试尽量提前达到测试驱动开发的目标

3K51
领券