zoukankan      html  css  js  c++  java
  • NS2学习笔记(三)

    代理(Agents)

    代理是网络层数据包产生和使用的端点,用于实现多层的协议。Agent类部分用OTcl实现,部分用C++实现。C++的代码在~ns/agent.cc和~ns/agent.h中,OTcl的代码在~ns/tcl/lib/ns-agent.tcl中。

    1.C++实现的Agent类包含的成员变量有:

    • addr_   源地址
    • dst_     目的地址
    • size_    数据包大小(byte)
    • type_   数据包类型
    • fid_     IP流号
    • prio_    IP优先级字段
    • flags_   数据包标志
    • defttl_  默认IP ttl 值

    不是每一个Agent或其子类都需要使用以上所有的成员变量,这些成员变量的值可以通过Agent的子类修改。

    2.C++实现的Agent类包含的方法:

    不需要子类重写的方法:

    • Packet* allocpkt()           分配新数据包的空间
    • Packet* allocpkt(int n)    分配新数据包的空间,大小n bytes

    需要子类重写的方法:

    • void timeout(timeout number)    超时方法
    • void recv(Packet*,Handler*)        接收方法

    allockpkt()方法用于产生需要发送的数据包,它填充默认包头,IP头,标志头的一些字段。如果自己定义了新的包头内容,则需要在子类中自行处理。

    recv()方法是代理接收包后的处理方法,在大多数情况下,第二个参数没用。

    3.OTcl Linkage

    OTcl的成员变量和OTcl与C++绑定的成员变量在 ~ns/tcl/lib/ns-default.tcl 文件中设置默认值。

    OTcl Agent类的过程(方法)在 ~ns/tcl/lib/ns-agent.tcl 文件中。

    4.

  • 相关阅读:
    @@IDENTITY 存储过程
    ASP.NET的Cookie和Session
    数据格式设置表达式
    DataTable类(MSDN)
    用静态变量代替appliction
    C cgi url 编码解码问题
    C#视频头操作
    c#网页抓取
    c语言字符串分隔
    CGI c 上传文件
  • 原文地址:https://www.cnblogs.com/johnsblog/p/4203825.html
Copyright © 2011-2022 走看看