此前, 我们的IPv6软硬件路由器实验主要基于RIP路由协议展开。然而, 这一协议性能不佳、鲁棒性低, 在真实世界网络中部署极少。作为对比, OSPF路由协议性能更好、可靠性高, 在真实世界网络(如CERNET)中得到了广泛部署。因此, 为了进一步增强同学们的体验感、获得感, 本学期, 教学团队决定将OSPF协议引入到IPv6软件路由器实验中。其中的核心挑战在于, OSPF功能完备、协议庞大、协议文本篇幅较长, 导致(我们觉得)同学们在一个学期的3学分网络课的有限时间内难以全面掌握并完成实验。为此, 教学团队希望提炼出一份大大简化的但较为完整的OSPF协议子集——外协专家、foobar院常务副院长(正院级)、网络学部院士Soha称之为OSPF (Omitted Short Path First)。其中, 标注和编辑相关RFC的工作由我负责。
互联互通是互联网的立身之本。基于我在鸟(BIRD)上的一些配置实验、简化版协议的原型代码实现验证以及教学团队数次开会的充分讨论论证, 我们遵循着简化后仍能与完整协议实现互联互通的原则, 进行了如下的简化:
- 在网络种类支持方面, 我们只保留了相对最为简单的点对点链路(PtP Link);
- 在指定路由器选举方面, 由于我们只有点对点链路, 这一选举过程可以彻底省略;
- 在分区路由方面, 我们只支持骨干区域, Area 0;
- 在上述基础上, 必须实现的LSA只有Router-LSA (表示网络中的路由器节点)以及Intra-Area-Prefix-LSA (表示网络中每个路由器下面挂的子网)。
经过处理338页的RFC文档, 我今天完成了RFC2328 OSPF Version 2及RFC5340 OSPF for IPv6的编辑工作。为了方便同学们阅读, 我尽力修复了文档中的交叉引用链接, 将本学期同学们需要实现的部分标为绿色高亮背景, 将实验框架已经提供的部分标为黄色高亮背景, 并在OSPFv2 RFC中添加了OSPFv3相较于OSPFv2的更新以及一些其他补充说明, 以灰色高亮背景标出。编辑后的RFC现已发布在: https://github.com/thu-cs-lab/ospf-rfc。此外, 我的参考实现预计于本学期结束后公开。
发表评论