广播网络实验

embedded/2025/1/19 15:53:20/

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.ppmy.cn/embedded/155260.html

相关文章

浅谈云计算19 | OpenStack管理模块 (上)

OpenStack管理模块(上) 一、操作界面管理架构二、认证管理2.1 定义与作用2.2 认证原理与流程2.2.1 认证机制原理2.2.2 用户认证流程 三、镜像管理3.1 定义与功能3.2 镜像服务架构3.3 工作原理与流程3.3.1 镜像存储原理3.3.2 镜像检索流程 四、计算管理4.…

用ChatGPT进行酒店评论情感分析

现在,许多开发人员已经使用并测试过这款聊天机器人来尝试开发他们的代码和AI想法。当然,这款聊天机器人的使用严格取决于你的背景。例如,如果你是一名Web开发人员,你会要求ChatGPT使用HTML构建一个网站。如果您是一名测试人员,您可以请求ChatGPT帮助您查找特定系统中的错误…

AIGC - 深度洞察如何对大模型进行微调以满足特定需求

网罗开发 (视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端…

GaussDB创建不同兼容模式的数据库

GaussDB创建不同兼容模式的数据库 创建Oracle兼容模式的数据库创建MySQL兼容模式的数据库创建GoldenDB兼容模式的数据库创建PostgreSQL兼容模式的数据库 使用UGO迁移工具时要考虑GaussDB数据库兼容性。 检查已创建数据库的兼容模式: gaussdb# select datname,datc…

mfc操作json示例

首先下载cJSON,加入项目; 构建工程,如果出现, fatal error C1010: unexpected end of file while looking for precompiled head 在cJSON.c文件的头部加入#include "stdafx.h"; 看情况,可能是加到.h或者是.cpp文件的头部,它如果有包含头文件, #include &…

游戏引擎学习第80天

Blackboard:增强碰撞循环,循环遍历两种类型的 t 值 计划对现有的碰撞检测循环进行修改,以便实现一些新的功能。具体来说,是希望处理在游戏中定义可行走区域和地面的一些实体。尽管这是一个2D游戏,目标是构建一些更丰富…

Vue3 nginx 打包后遇到的问题

前端vite文件配置 export default defineConfig({plugins: [vue(),DefineOptions()],base:./,resolve:{alias:{:/src, //配置指向src目录components:/src/components,views:/src/views}},server:{// host:0.0.0.0,// port:7000,proxy:{/api:{target:xxx, // 目标服务器地址 &am…

多种vue前端框架介绍

学如逆水行舟,不进则退。 在现今的软件开发领域,Vue.js凭借其高效、灵活和易于上手的特性,成为了前端开发的热门选择。对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的Vue后台管理系统模板无疑是一个明智之举。 本文…