2025-01-16 04:26:46 +00:00
|
|
|
|
# 广州大学计算机网络实验5 - 网桥模拟器
|
|
|
|
|
|
|
|
|
|
## 项目概述
|
|
|
|
|
本项目实现了一个简单的网桥模拟器,用于演示网桥在不同子网间转发数据帧的过程。项目包含网桥、主机和数据帧三个主要组件,模拟了两个子网通过网桥互联的网络拓扑。
|
|
|
|
|
|
|
|
|
|
## 运行环境要求
|
|
|
|
|
- Java 8或更高版本
|
|
|
|
|
- 支持多线程的操作系统
|
|
|
|
|
|
|
|
|
|
## 代码结构
|
|
|
|
|
```
|
|
|
|
|
fit.carry.bridge/
|
|
|
|
|
├── src/
|
|
|
|
|
│ ├── Bridge.java # 网桥实现
|
|
|
|
|
│ ├── Frame.java # 数据帧实现
|
|
|
|
|
│ ├── Host.java # 主机实现
|
|
|
|
|
│ └── Main.java # 主程序入口
|
|
|
|
|
├── frame1.txt # 测试数据1
|
|
|
|
|
├── frame2.txt # 测试数据2
|
|
|
|
|
└── README.md # 项目说明文档
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 运行方法
|
|
|
|
|
1. 编译项目:
|
|
|
|
|
```bash
|
|
|
|
|
javac fit/carry/bridge/src/*.java
|
|
|
|
|
```
|
|
|
|
|
2. 运行主程序:
|
|
|
|
|
```bash
|
|
|
|
|
java -cp fit/carry/bridge/src Main
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 测试数据说明
|
|
|
|
|
项目包含两个测试数据文件:
|
|
|
|
|
- frame1.txt:包含3个数据帧
|
|
|
|
|
- frame2.txt:包含3个数据帧
|
|
|
|
|
|
|
|
|
|
数据格式:`源地址 目标地址 数据内容`
|
|
|
|
|
|
|
|
|
|
## 输出示例
|
|
|
|
|
程序运行时会输出以下信息:
|
|
|
|
|
- 主机接收数据帧的信息
|
|
|
|
|
- 网桥转发数据帧的信息
|
|
|
|
|
- 网桥学习新地址的信息
|
|
|
|
|
|
|
|
|
|
例如:
|
|
|
|
|
```
|
|
|
|
|
主机2收到:jsadf
|
|
|
|
|
主机1收到:sadf
|
|
|
|
|
网桥广播查找,以向网桥汇报
|
|
|
|
|
已找到6的网段,已记入转发表
|
|
|
|
|
找到6的网段,已发送
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 代码贡献
|
|
|
|
|
本项目由广州大学计算机网络课程学生开发,用于学习和研究网桥的工作原理。
|