最小网元设计【阶段一】

阶段一:设计

本阶段预期

设计网元的层次划分,功能设计和端口分配方案

层次划分

通过对 OSI 模型以及 TCP/IP 模型的分析,项目指导书的阅览以及对相关协议体系文献的阅览,笔者针对于本项目(最小网元设计),将模型划分为三层:应用层、网络层(链路层)和物理层。模型结构如下图所示 。
最小网元层次划分
应用层和网络层笔者将继续编写相应的程序进行实现,物理层我们 将使用项目所提供的物理层模拟软件进行模拟。(在本项目中,笔者将网络层和链路层功能集于一体,具体区分如下述)

功能设计

1. 应用层
应用层首先实现和用户的交互功能,既能够接受用户输入的指令,又能够将收 到的信息反馈给用户;其次,应用层还应实现和下层的通信,既可以将 用户输入的信息传递给下层,又能够接受下层传入的信息。
具体功能如下:

  • 允许自动发送随机生成的比特流(便于测试)
  • 字符编码/译码方案
  • 图片编码/译码方案
  • 正确处理确认帧(基于停止等待协议)

2. 网络层(链路层)
本层首先也要实现和上层(应用层)的通信功能,既可以接受来自应用层的信息,又可以将处理过的信息反馈给应用层。(在具体实现上,网络层和链路层均具备本层所有功能,针对交换机和路由器,不同工作模式下,笔者定义了全局变量进行选择)具体功能如下:

  • 帧定位
  • 差错检测
  • 差错控制:基于停止等待协议
  • 简单的流量控制
  • 交换机:按目的转发、反向地址学习、未知广播、环状拓扑适应
  • 路由器:路由表、寻址与转发(静态路由)

3. 物理层
物理层主要负责比特流数据的传输。即将从网络层接收到的比特流数据传输给 指定的对等层,同时接收对等层传来的比特流数据。(所有数据均使用字节模式处理)

端口分配方案

笔者采用课程组建议的方案:
端口号的五位数字有以下格式:第一位1是常量,第二位1表示设备号为1,第3位3表示第3层——应用层,00在该应用层的实体编号,如果网元在这一层有多个实体,比如本例中每个网元在物理层就有两个实体,所以这两个实体的本地端口号分别位11100和11101。
例如若有网元1,其具有一个应用层11400、一个网络层11300、一个链路层11200以及两个物理层11100和11101。

心得体会

笔者这里所列出的各层功能并不是一开始便考虑到的,而是对项目的一个总结,你不必拘泥于这些功能的实现,希望能有自己的创新。
随着项目的进行,有些功能你不得不去实现,有些知识也必须去自主的学习,现在回想,这种任务驱动型的学习方式可以很好的对所学知识加以运用,清楚的明白其具体运用,学得也更加扎实。

发布了40 篇原创文章 · 获赞 12 · 访问量 5747

猜你喜欢

转载自blog.csdn.net/weixin_43488958/article/details/104055226
今日推荐