networking - 无法在应用层检测碰撞?唔
问题描述
考虑到两个教程的无用程度
https://inet.omnetpp.org/docs/tutorials/wireless/doc/step5.html
和手册页:
https://doc.omnetpp.org/omnetpp/manual/#sec:ned-lang:warmup:network
如何在应用层建模碰撞?
解决方案
您没有找到教程如何简单地在应用层建模碰撞,因为在应用层碰撞不会发生。
通常,当许多元素不能同时访问某个介质(或层)时,可能会发生冲突。但是,应用层没有这样的限制。应用程序可以随时发送一个数据包,该数据包将由传输层(TCP 或 UDP)处理,然后发送到网络层。网络层有一个缓冲区,因此在两个或多个应用程序同时发送数据包的情况下不会发生冲突。
根据您的问题中提供的详细信息:
- hostSink 如何检查 hostA 或 hostB 是否仍在发送数据包 [最初:信号]?答:
hostSink
无法判断是否hostA
还在发包。模拟反映了真实网络的行为,真实网络中的主机不知道另一台主机是否还在发送数据包。 - 时间如何在模拟中“流逝”?答:OMNeT++ 是离散事件模拟器,根据模拟手册:
离散事件系统是状态变化(事件)在离散实例中及时发生的系统,事件发生时间为零。
这意味着模拟在内部维护名为 的变量currentSimtime
。一开始currentSimtime=0
。当第一个事件(例如发送 ARP 数据包)被调度时,例如 t=0.003s,currentSimtime
设置为 0.003s,并执行发送 ARP 数据包。
推荐阅读
- python - Pandas DataFrame 的整数列中如何存在空格?
- ruby - 红宝石 | 建造金字塔的方法有问题
- reactjs - 如何在“react-google-autocomplete”库中测试地点选项
- statamic - 导航循环中的 from:segment_1 语句提供了错误的结果
- forms - symfony:显示字段提交两次
- scala - 使用 AnyKind 的种类多态性用例
- javascript - foreach 和更改变量的问题
- c - strcpy 清除所有文件路径
- maps - 使用街道文本自定义地图
- mongodb - 使用 pymongo 在 mongodb 中按多个值分组