笔记1:rdt2.0/rdt2.1和rdt2.2
来源:互联网 发布:英雄联盟登录网络错误 编辑:程序博客网 时间:2024/04/28 16:48
1)rdt2.0与 rdt2.1发送方的区别(对ACK和NAK的判断处理)
序号:每个相邻分组的序号都不一样。(eg:01010101)
Rdt2.1对ACK和NAK进行判断,如果接收方收到的是受损的分组,那么发送NAK给发送方,但是NAK受损。所以发送方确定不是ACK或者是NAK而进行一次重传,直到收到来自接收方的完整ACK。这一整个发送分组过程被序列号定义成0或者1,即接收方不用确定自己是否发送完整的ACK或者NAK,只需判断序号与上一次序号是否一致来确定自己是否是下一个分组
发送方如果没收到接收方完整的ACK,则不会跳到下个一个分组,而是会继续重传。
而接收方收到发送方的分组,则先判断序号(0或1)如果与上一个发送ACK或NAK的分组的序号一致,则表示是发送方重传。不一致,则表示是下一个分组。
2)rdt2.1接收方的FSM
在等待来自下层的0:
接收方确定事件rdt_rcv()&¬corrupt()&&has_has_seq0(),发送ACK。结果发送方收到受损的ACK,即事件rdt_rcv()&&(corrupt()||isNAK()),我的理解是受损的notcorrupt()被发送方理解为corrupt(),所以发送方重传分组。
在等待来自下层的1:
接收方事件为has_seq0(),接收方重发ACK直到等待发送方跳到下一个分组改序号为1
3)rdt2.1与rdt2.2的区别
Rdt2.2是rdt2.1的精简版,去掉了对NAK的判断?
问题:在rdt2.2接收方中oncethru的作用是什么?
0 0
- 笔记1:rdt2.0/rdt2.1和rdt2.2
- rdt1.0,rdt2.0,rdt2.1,rdt2.2,rdt3.0
- rdt2.1与rdt2.2
- 计算机网络 rdt2.1 rdt2.2含义 区别
- 《C和指针》笔记1
- 笔记1--数据和C
- Java核心技术:卷1笔记[2] 对象和类
- 《c和指针》笔记--sizeof(i=1+2)
- C和指针 学习笔记—第1-2章
- 【C和指针】第1—2章学习笔记
- Android开发总结笔记 Intent和IntentFilter 1-2-10
- 笔记:负数和N%2==1
- android学习笔记1 menu和actionBar学习笔记
- MySQL 备份和恢复策略笔记(1)
- pgf笔记1-简介、安装和问题
- C和指针学习笔记(1)
- C和指针学习笔记 (1)
- QT笔记1(.c和.cpp)
- Day 9:(1)数据库的创建和管理实训_参考答案
- Android学习笔记之ListView(1)
- 设置QListWidget背景色为透明
- 学习日记:jQuery之what,why,where,how及应用 (下)
- Day 9:(2)表的创建和管理实训_参考答案
- 笔记1:rdt2.0/rdt2.1和rdt2.2
- 此Blog不再更新,新Blog地址:itrandy.com
- Day 9:(3)数据的插入、修改、删除实训_参考答案
- 基于stm32的遥控小船(二)NRF24L01无线模块
- Day 9:(4)数据完整性实训_参考答案
- Day 9:(5)简单查询练习参考答案
- Android中子线程中更新UI的N中方法
- Java虚拟机类加载机制
- Day 9:(6)运算符及函数——参考答案