网络协议---MPL(2):RFC 7731文档翻译
7、信息库
一个种子集记录了一个滑动窗口,用以决定一个MPL传送者愿意接收的,由MPL种子产生的MPL数据报文的序列号。一个MPL传送者为每个其参与的MPL域维护一个种子集。一个种子集由MPL种子多元组组成:(SeedID,MinSequence,Lifetime)。
SeedID --- 生成MPL数据报文的MPL种子的标识。
- IPv6源地址必须取自相应MPL接口的AddressSet中,而且它在MPL域中必须是合法的。
- IPv6目的地址必须设置为相应MPL域的域地址。
- 一个MPL数据报文必须在IPv6首部中包含一个MPL Option以标识MPL种子,以便生成报文并和此种子生成的其它报文进行排序。
当目的地址是一个MPL域地址并且源地址取自该域地址所属MPL接口的Address列表时,申请报文和MPL数据报文相同。就是说,MPL数据报文包含一个IPv6首部和里面的MPL Option。
- 本文针对以下情况定义了“consistent”传送:MPL数据报文由流计时器管理且收到的MPL数据报文拥有相同的MPL域地址、seed-id和序列号。
- 本文针对以下情况定义了“inconsistent”传送:收到的MPL数据报文拥有相同的MPL域地址、seed-id值和M位标志,但序列号小于由流计时器管理的MPL数据报文。
- 本文不定义任何外部“事件”。
- 本文定义的MPL数据报文是流消息。
- MPL在流算法之外的动作包括管理MPL域种子集和消息集缓冲。
在 [RFC6206] 中的指出,一个流计时器有三个变量:当前时间间隔 I,一个当前时间间隔之内的时间t,和一个计数器c。MPL定义了第四个变量e,计算流计时器最近重启后的到期次数。
9.3 MPL数据报文处理
- 处理信息并将MPL数据报文放入MPL域的消息集缓冲。
- 处理信息并将MPL域种子集相应的MinSequence值设为报文序列号值加1。
- 丢弃那些MPL信息库中无变化的报文。
- 在种子集中增加MinSequence值,并删除消息集缓冲中所有小于MinSequence的MPL数据报文。
- 删除其它种子集中的到期条目,和消息集缓冲中相应的MPL数据报文。
- 重置相应种子集条目生命周期为SEED_SET_ENTRY_LIFETIME。
- 如果PROACTIVE_FORWARDING为真,MPL传送者必须为此MPL数据报文初始化并开始一个流计时器。
- 如果MPL控制报文流计时器不在运行中,且CONTROL_MESSAGE_TIMER_EXPIRATIONS为非0,MPL传送者必须初始化并开始一个MPL控制报文计时器。
- 如果MPl控制报文流计时器正在运行中,MPL传送者必须重置它的计时器。
- S设置MPL种子信息条目的seed-id字段的大小。
- min-seqno设置MPL种子的MinSequence。
- bm-len设置buffered-mpl-messages的大小,单位为字节。
- seed-id设置MPL种子的标识。
- buffered-mpl-messages中的每个比特指示MPL数据报文所对应的序列号是否在消息集缓冲中。第i个比特表现的是值为min-seqno+i的序列号。“0”表示相应的MPL数据报文不在消息集缓冲中,“1”表示报文存在于消息集缓冲中。
- 本文定义了“consistent”传输用于收到一个MPL控制报文时决定既不接收也不为传输节点提供任何新的MPL数据报文。
- 本文定义了“inconsistent”传输用于收到一个MPL控制报文时决定既接收又为传输节点提供一个新的MPL数据报文。
- 为了响应外部事件,流计时器将被重置。本文定义了一个“事件”用于种子集所对应的条目增加MinSequence值或者相应的消息集缓冲添加一个报文。
- 本文所定义的MPL控制报文是一个流消息。
在 [RFC6206]中指出,一个流计时器有三个变量:当前时间间隔 I,当前时间间隔内的一段时间t,和一个计数器c。MPL定义了第4个变量e,计算流计时器最后一次被重置后的到期次数。在计时器的 CONTROL_MESSAGE_TIMER_EXPIRATIONS事件之后,MPL传送者必须禁用流计时器。
10.3 MPL控制报文处理
- MPL控制报文包含一个不存在于MPL域种子集的MPL种子。
- MPL控制报文指示邻居拥有一个存在于消息集缓冲的MPL数据报文的序列号大于MinSequence(如第i个比特值设为1且min-seqno+i>MinSequence),并且它不包含在MPL域的消息集缓冲中。
当一个MPL传送者决定不从邻居设备那接收MPL数据报文缓冲,MPL传送者必须重置它的跟MPL控制报文传输相关的流计时器。如果MPL控制报文流计时器并不在运行中,MPL传送者必须初始化并开始一个新的流计时器。
- MPL控制报文不包含MPL数据报文的MPL种子
- MPL数据报文序列号大于或等于min-seqno且不在邻居的相应的消息集缓冲中(如MPL数据报文的序列号在buffered-mpl-messages中相应的比特未置为1)。
当一个MPL传送者至少有一条其消息集缓冲中的MPL数据报文没有被邻居所接收时,它必须重置MPL控制报文流计时器。另外对于消息集缓冲中的每一个这样的条目,MPL传送者都必须重置其流计时器并把e置为0。如果一个流计时器没有跟MPL数据报文关联,MPL传送者必须初始化并开始一个新的流计时器。
IANA为本协议分配了一个IPv6 Option类型,它来自[RFC2780]中登记的IPv6的“Destination Option and Hop-by-Hop Options”,特性如下表所示:
终于完工,完工后才发现此草案已经成为正式文档RFC7731,二月份发布的,开始翻译时没有注意到,太坑爹了。不过这是最后一版草稿,应该差别不大。将就一下吧。
网络协议---MPL(2):RFC 7731文档翻译相关推荐
- 网络协议MPL(3):RFC2606--The Trickle Algorithm文档翻译
The Trickle Algorithm 摘要: 涓流算法使得有损共享介质(如低功耗有损网络)中的节点在进行信息交换时具有:高鲁棒性.高效能,简单且可扩展等特性.传输窗口的动态调整特性使得涓流算法在 ...
- Wireshark网络抓包(三)——网络协议
一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...
- nbns协议_网络协议详解1 - NBNS
NetBIOS 简介 NetBIOS,Network Basic Input/Output System的缩写,一般指用于局域网通信的一套API,相关RFC文档包括 RFC 1001, RFC 100 ...
- 如何学习网络协议(学习笔记)
引: 抓包软件---tcp状态转换..构造包--->2011-12-31 15:51:26 一个前辈写的网络协议学习方法 分类: Linux开发c/c++2008-10-02 00:35 257 ...
- 网络协议基础:“工作中模模糊糊的概念,这次终于理顺了!”
如何毁掉一个婴儿? 断了他的奶. 如何毁掉一个年轻人? 断了他的网. "网络之于年轻人,正如同奶水之于婴儿" 什么是网?什么是域名?什么是IP.Mac地址,端口号?什么是UDP?什 ...
- 网络协议之:一定要大写的SOCKS
文章目录 简介 SOCKS的故事 SOCKS的历史 SOCKS协议的具体内容 SOCKS4 SOCKS4a SOCKS5 总结 简介 很久很久以前,人们还穿的是草鞋,草鞋虽然穿着舒服,但是不够美观.然 ...
- 【转】Wireshark网络抓包(三)——网络协议
转自:https://www.cnblogs.com/strick/p/6262284.html 一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地 ...
- dhcp是哪一层的协议_随手记(3)常见的网络协议有哪些
网络中不同的工作站,服务器之间能传输数据,源于协议的存在.随着网络的发展,不同的开发商开发了不同的通信方式.为了使通信成功可靠,网络中的所有主机都必须使用同一语言,不能带有方言.因而必须开发严格的标准 ...
- java 协议这个概念_java网络协议概念是什么?
网络协议 对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念.那么什么是网络协议呢? 网络协议是指对于网络中传输的数据格式的规定.对于网络编程初学者来说,没有必要深入了解TCP/IP协 ...
最新文章
- 前端学习笔记系列一:14 vue3.X中alias的配置
- Redis+分布式+设计模式+Spring全家桶+Dubbo阿里P8技术精选文档
- mdcsoft服务器网络安全解决方案-SQL注入解决
- “Java是编译执行的语言”这句话对吗?
- ad软件侵权律师函_Aspen Plus 9 软件安装教程
- 基于java的程序启动出错Could not create the Java virtual machine
- html中依次展开的搜索框,jQuery+CSS3动画展开收缩搜索框特效
- java B2B2C springmvc mybatis电子商务平台源码-------zuul网关实现
- 【信息系统项目管理师】第8章-项目质量管理 知识点详细整理
- c语言+Easy X图形库实现飞机大战,源码加素材
- 熊猫烧香源码分析_学习大熊猫分析
- Django url() 函数详解
- word页码怎么从指定页开始设置?
- C#时间格式转换时间戳
- DOTA 104个英雄416个技能、104首情诗
- 青龙面板--花花阅读
- 毕业论文的前言写什么?
- 百度绿萝2.0上线后,新站该如何做SEO?
- 计算机操作系统学习之FCFS、SJF和HRRN调度算法
- Docker 快速入门(一文上手 Docker)
热门文章
- 平阳万全综合高中计算机单招上线率,喜报!平阳各学校一段上线人数出炉!太厉害了...
- python bytes转换为string_python3中bytes和string之间的互相转换
- XML和SQL的互相操作
- 【C语言初学必看】之多组输入的玄机
- linux qmi接口,高通9X07模块QMI架构使用入门
- python的scatter函数_python scatter函数用法实例详解
- 1125. 牛的旅行
- STM32CubeMX AI尝尝鲜
- linux服务器怎么开启远程,Linux配置SSH服务以便实现远程连接
- “老赖”罗永浩被群嘲:莫欺少年穷,莫笑中年败,莫嘲梦想狂