2开始

"物理"结构(文件)

protoname.h

这是一个头文件,将在该文件中定义所有必要的计时器(如果有的话)和路由代理

protoname.cc

在这个文件中实际上实现了所有的计时器、路由代理和 Tcl 钩子

protoname_pkt.h

这里声明所有需要交换的包。

protoname_rtable.h

标头文件,其中声明了我们自己的路由表。

protoname_rtable.cc

路由表的实现

   

"逻辑"结构(类)

   

必须通过从代理类继承来创建代理

   

代理表示构建或消耗网络层数据包的端点,并用于实现不同层的协议的端点

   

这是为了实现路由协议,我们必须编码的主要类。此外,该类提供了与 Tcl 接口的链接,因此我们将能够通过用 Tcl编写的模拟脚本来控制路由协议

   

   

我们的 routing agent 路由代理将维护一个内部状态和一个路由表(这并不总是需要)。

内部状态可以表示为新类或路由代理内部的属性集合。

我们将把路由表视为一个新的类,protoname rtable

   

此外,我们的新协议必须定义至少一个新的包类型,这将代表其控制包的格式

hese packet types are defined in protoname/protoname pkt.h

当协议需要定期或在事件发生后的一段时间后发送数据包时,计算计时器类是非常有用的

   

计时器在许多其他情况下也很有用。想象一下,质子体需要存储在某个时间必须删除的某种内部信息。最好的解决方案是创建一个能够完成此类工作的自定义计时器。计时器还应用于指定路由表中条目条目的时间周期。一般来说,当我们必须在给定的时间安排一个任务时,我们将使用一个计时器

   

Trace 类是编写有关模拟过程中发生的信息的日志文件的基础

   

想在代码中打印调试消息时,按照第 25 [2]中的建议,使用调试()函数是很有用的

   

   

   

posted @ 2022-08-31 11:24  atomxing  阅读(37)  评论(0编辑  收藏  举报