Skip to content

star428/RIP_Router_Protocol

Repository files navigation

RIP_Router_Protocol

use python2 to complete RIP router protocol

  • 使用方法: 非常简单直接 start()后等待每个路由器都显示 ok!字样即可开始 在主机层面 ping,即可使用 h1.ping(h2)这样的语句
  • run.py: 此时定义的 my_topo.py 在 candy 之下,可以使用

    默认直接调用 router 代码(也可自己切换)

重大更新

由于突然想到作为年轻人要讲武德,不能去骗,去偷袭我们敬爱的张老师,我作为年轻人要耗子尾汁,不能用内部 core 的代码,特此更新了路由器的代码,见dv_router_new,新版有如下特性:

  • 首先代码更加简洁,逻辑更加清楚
  • 取消以往的转发表,目前实现邻居表和路由器表两个表即可完成功能
  • 取消了core类的topoget_port()方法,更加贴近要求

逻辑上做出了如下改变:

首先对于 DiscoveryPacket 来说,它只负责对于每个来自邻居的 packet 的处理,不会泛洪的理由是它在发出时 dst 填入的为 NullAddress,同时在路由器中我没有设置,所以都只会发往邻居

然后对于 RoutingUpdate 来说,它负责的工作首先是检查来的延迟矢量(也就是原来我们设置的转发表)有没有我们目前路由表中没有的项,如果有就加入路由表项并同时初始化相关条目,然后再像原来一样对来的延迟矢量做相关的分析计算,其余逻辑都相同

About

use python2 to complete RIP router protocol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published