本栏目将对《AFSim 2.9中文参考手册》进行持续更新,欢迎关注交流!
对本书全文和AFSIM其它资料感兴趣的伙伴,可联系作者领取~
全部内容索引请看 ⬇️⬇️⬇️
《AFSim 2.9中文参考手册》-CSDN博客编辑https://blog.csdn.net/henggesim/article/details/145566384
全局上下文命令
protocol <name-or-type> <base-type-name>
...
end_protocol
通信和通信类型范围命令
add protocol <name-or-type> <base-type-name>
...
end_protocol
edit protocol <name>
...
end_protocol
delete protocol <name> end_protocol
概述
协议(comm protocol) 是对特定通信能力的抽象表示。它可以提供或限制常规的功能,并可能改变与之相关的通信层进程。在通信模型 OSI 7 层实现的逻辑中定义的任何活动,都可以在协议 API 的范围内进行修改。
在 AFSIM 的通信模型中,每一层在正常通信操作期间,会查询接收/发送协议栈中所有附加的协议,给予每个协议修改消息处理执行的机会。
更一般地说,这允许将能力定义在通信对象之外,并由用户根据需要添加或删除。可以定义任意数量的协议类型,但每种类型只能使用一个。假设每个协议彼此兼容(取决于实现),它们可以在一定程度上协作工作(即,多种传输层协议不能同时控制消息如何拆分成数据包;其中一个必须是主要的)。

需要注意的是,每个通信对象应该只有一个同类型的协议。在当前版本的 AFSIM 中,默认情况下不使用任何协议。
关键点总结
- 协议是通信能力的抽象表示。
- 可以在通信模型的每一层修改消息处理。
- 用户可以根据需要添加或删除协议。
- 每种类型的协议只能使用一个,且默认情况下不使用任何协议。
组播协议模型WSF_COMM_PROTOCOL_IGMP
protocol <name> WSF_COMM_PROTOCOL_IGMP
join_multicast_group <address>
leave_multicast_group <address>
level_0_multicast
level_1_multicast
level_2_multicast
join_delay <random-time-reference>
leave_delay <random-time-reference>
end_protocol
WSF_COMM_PROTOCOL_IGMP 是一个组播协议,用于在网络中进行组播通信。它允许设备加入和离开组播组,并定义了不同的组播能力级别(从没有组播支持到完全组播支持)。此协议需要与其他路由协议一起使用,因为它本身不提供路由功能。使用时需注意延迟设置(join_delay 和 leave_delay),这些设置会影响网络中组播通信的效率和准确性。
WSF_COMM_PROTOCOL_IGMP 是在 AFSIM 中提供的基本组播功能的模拟。此协议不是路由协议,不能确定传送到任何给定目的地或组的正确路径或能力,因此必须与其他启用的路由协议(例如传统协议)一起使用才能成功使用。
组播协议允许通信加入由适当范围内的地址(224.0.0.0 到 239.255.255.255)指定的组播组。然后,任何对该地址的后续传输将由任何其他启用组播的路由器适当地传递到适当的目的地,从而限制生成的消息数量。
请注意,发送组播不仅需要发送者提供此协议,还需要接收者以及任何可能路由组播消息的其他通信设备。其他未启用组播的通信设备将简单地“丢弃”消息,因为它们无法将地址解析为适当的目的地。
命令 |
join_multicast_group <address> |
解释 |
将此通信设备添加到指定的组播组。任何发送到此地址的消息将尝试传递消息给此通信设备,假设没有路由失败。 |
命令 |
leave_multicast_group <address> |
解释 |
将此通信设备从指定的组播组中移除。专门用于允许从派生通信设备中移除指定的组播组。 |
命令 |
level_0_multicast |
解释 |
表示此组播协议实例为类型 0,表示没有实际的组播支持。 |
命令 |
level_1_multicast |
解释 |
表示此组播协议实例为类型 1,表示此通信设备能够发送组播消息,但不能接收它们。 |
命令 |
level_2_multicast |
解释 |
表示此组播协议实例为类型 2,表示此通信设备具有完全的组播功能,既可以发送也可以接收组播消息。这是此协议的默认设置。 |
命令 |
join_delay <random-time-reference> |
解释 |
指定加入组播组所需的时间,用于更高级的网络特性建模。这也可能影响使用组播的其他协议(如 OSPF)的功能,因为组播组数据在路由器之间的传播会延迟。未来加入和离开组播组的脚本功能计划将受到此值的影响。默认值为常量0脚本。 |
命令 |
leave_delay <random-time-reference> |
解释 |
指定离开组播组所需的时间,用于更高级的网络特性建模。这也可能影响使用组播的其他协议(如 OSPF)的功能,因为组播组数据在路由器之间的传播会延迟。未来加入和离开组播组的脚本功能计划将受到此值的影响。 |