【计网实验——prj4】广播网络实验
实验要求
1. 实现节点广播的broadcast_packet函数
2. 验证广播网络能够正常运行
• 从一个端节点ping另一个端节点
3. 验证广播网络的效率
• 在three_nodes_bw.py进行iperf测量
• 两种场景:
1) H1: iperf client; H2, H3: servers (h1同时向h2和h3测量)
2) H1: iperf server; H2, H3: clients (h2和h3同时向h1测量)
4. 自己动手构建环形拓扑,验证该拓扑下节点广播会产生数据包环路
实现方案
1. 实现broadcast_packet函数
broadcast_packet函数的主要功能为,将本端口收到的数据包从其他每个端口发出去,伪代码如下:
for each iface in iface_list:
if iface != rx_iface:
iface_send_packet(iface, packet, len);
改写成C语言代码为:
void broadcast_packet(iface_info_t *iface, const char *packet, int len)
{
// TODO: broadcast packet
fprintf(stdout, "TODO: broadcast packet.\n");
iface_info_t *other_iface = NULL;
list_for_each_entry(other_iface, &instance->iface_list, list)