https://github.com/daizedong/uestc-mini-network-entity-design
电子科技大学-计算机通信与网络技术(计通)-最小网元设计-项目一
https://github.com/daizedong/uestc-mini-network-entity-design
network-entity uestc
Last synced: about 1 year ago
JSON representation
电子科技大学-计算机通信与网络技术(计通)-最小网元设计-项目一
- Host: GitHub
- URL: https://github.com/daizedong/uestc-mini-network-entity-design
- Owner: DaizeDong
- Created: 2022-04-10T15:25:12.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-12T04:57:59.000Z (about 4 years ago)
- Last Synced: 2025-02-13T22:26:19.129Z (over 1 year ago)
- Topics: network-entity, uestc
- Language: C++
- Homepage:
- Size: 17.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 项目环境
操作系统 Windows 10,IDE 使用 Dev-C++。
## 项目描述
电子科技大学-计算机通信与网络技术-最小网元设计-项目一。
## 实验要求
### 阶段1:网络协议系
完成模型层次设计,搭建雏形并测试。
完成一个小项目,基于套接字的简单通信程序,客户机定时每500ms向服务器发送一个随机整数,范围在1~500之间;服务器每收到一份数据也同时产生随机整数与收到的数据相加,只有在结果大于100时才会把计算结果返回给客户机,而客户机收到超出100的结果则立即产生一个新的数据,而不是在间隔500ms后。客户机需要产生20份数据,如果有超过100的结果,总运行时间应接近10-N*0.5,N为超过100的结果的数量。
### 阶段2:交互技术
**基本要求:**
1. 两点之间帧同步(定位)
2. 差错检测
3. 至少实现一种差错控制协议
4. 简单的流量控制——对发送速度有约束
5. 简单的点对点性能测试(受误码率影响、重传处理后的有效吞吐量)
**效果:**
完成应用数据产生、处理、控制——可以手动录入数据,用于单独跟踪测试,也可自动生成信源数据,测试系统可靠性和功能,收端对数据进行检查和显示。
**进阶考量:**
1. 端到端的差错控制协议(点到点和端到端的差错控制协议可以只选其中一层实现)
2. 面向连接协议(较为完整)
3. 流量控制,或者含拥塞控制的流控,参考TCP,有测量,有计算,有缓存,有动态调整
4. 分帧,将用户单次大数据分成更适合传输的,符合流控限制的多个帧
5. 多角度的性能测试(不同帧长及其它可调整参数下的延时、有效吞吐量等性能表现)
6. 其它相关
### 阶段3:共享技术
**基本要求:**
1. 完成交换机基本功能:单播目的地址判收、支持广播、有端口地址表、反向地址学习
2. 简单的性能测试(含交换机的延时,有效吞吐量)
**效果:**
实现多网元(含交换机)间的单播交换
**进阶考量:**
1. 多个交换机,无生成树时环形交换机拓扑时的奇特效果
2. (简单的)生成树算法解决环状拓扑问题
3. 友好的应用层,方便灵活的控制——数据产生、接收数据的展示等,设计了图形化界面等
4. 其它相关
### 阶段4:交换与路由技术
**基本要求:**
1. 实体编址,高层实体到低层实体的地址映射技术——不一定是类似ARP的技术,总之是能解决各层实体的标定区分和数据投递
2. 路由表,记录路由
3. 按路由转发
4. 端到端的信息交换
5. 简单的性能测试(端到端吞吐量、延时)
**效果:**
实现多网元(含路由器)形成网状拓扑的端到端文字、图片(便于观察结果)的交流。
**进阶考量:**
1. 类似ARP的,即相互独立,又能方便实现高、低层地址映射的技术
2. 实现动态路由算法
3. 多种多层网元体系基本完整——即能实现包含交换机、路由器等设备的多种网元的端到端数据交流
4. 多角度性能测试
5. 友好的应用层,方便灵活的控制——数据产生、接收数据的展示等,设计了图形化界面等
6. 为最终成果汇报制定清晰的演示计划(脚本)
7. 统一、友好的观测、展示设计
## 免责声明
本项目仅供学习交流使用,作者反对一切抄袭行为。因使用项目源码导致的结果,本人不承担任何责任。