当前位置: 首页 > article >正文

广播网络实验

1 实验内容

1、构建星性拓扑下的广播网络,实现hub各端口的数据广播,验证网络的连通性并测试网络效率

2、构建环形拓扑网络,验证该拓扑下结点广播会产生数据包环路

2 实验流程与结果分析

2.1 实验环境

ubuntu、mininet、xterm、wireshark、iperf

2.2 实验方案与结果分析

2.2.1 星型拓扑网络

一、实验设计与实现

广播网络结构如图所示,利用broadcast_packet函数实现hub数据包广播的逻辑:

利用instance->iface_list链表中保存所有网络端口的信息;

当数据包到达hub某一端口时,先遍历iface_list所有非本端口的其他端口,并将数据包转发出去,该方法伪代码如下:

foreach iface in iface_list:
    if iface != rx_iface:
        iface_send_packet(iface, packet, len);

broadcast_packet函数具体实现代码:

void broadcast_packet(iface_info_t *iface, const char *packet, int len)
{
	// TODO: broadcast packet 
	fprintf(stdout, "TODO: broadcast packet.\n");
	//遍历当前数据包是否为本端口点接受的数据包,把数据包从非本端口的所有端口转发出去。根据fd标识进行识别
	//instance中保存所有端口信息
	iface_info_t *temp_list=NULL;
	list_for_each_entry(temp_list,&instance->iface_list,list){
		if(temp_list->fd!=iface->fd){
			iface_send_packet(temp_list,packet,len);
		}
	}
}

二、结果测试与分析

1、实验流程


http://www.kler.cn/a/507747.html

相关文章:

  • LabVIEW实现油浸式变压器自主监测与实时报告
  • 【设计模式-结构型】装饰器模式
  • 基于机器学习的用户健康风险分类及预测分析
  • 【JavaScript】基础内容,HTML如何引用JavaScript, JS 常用的数据类型
  • h5使用video播放时关掉vant弹窗视频声音还在后台播放
  • 【25考研】西南交通大学软件工程复试攻略!
  • VSCode 的部署
  • 【Flink系列】5. DataStream API
  • Solidity01 Solidity极简入门
  • Node.js 完全教程:从入门到精通
  • 深度学习笔记合集
  • 腾讯AI Lab与上交大探索模型“过度”思考
  • Flutter中的事件冒泡处理
  • vue用户点进详情页再返回列表页,停留在原位置
  • 使用nginx搭建通用的图片代理服务器,支持http/https/重定向式图片地址
  • [cg] UE5 调试技巧
  • Spring Boot 全局异常处理
  • 第8篇:从入门到精通:掌握Python异常处理
  • Redis系列之底层数据结构整数集IntSet
  • .Net Core webapi 实现JWT认证
  • 知识图谱综述论文阅读(一)
  • AI大模型架构背后的数学原理和数学公式,基于Transformer架构的数学公式有哪些?
  • 寒假刷题Day8
  • 【影刀_常规任务计划_API调用】
  • 深度学习-87-大模型训练之预训练和微调所用的数据样式
  • 基于PHP的校园新闻发布管理