广播网络实验

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、实验流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值