An open API service indexing awesome lists of open source software.

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

电子科技大学-计算机通信与网络技术(计通)-最小网元设计-项目一

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. 统一、友好的观测、展示设计

## 免责声明

本项目仅供学习交流使用,作者反对一切抄袭行为。因使用项目源码导致的结果,本人不承担任何责任。