IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络项目——最小网元设计(前情提要和项目概述) -> 正文阅读

[网络协议]计算机网络项目——最小网元设计(前情提要和项目概述)

序言

经过此学期的计算机通信网挑战课程,我算是体会到了什么叫做忙碌。想着本学期已经结束,闲暇时间来整理一下本学期计通网做的大项目,或是想着因为没能找好队友,一个人干完小组项目,来给自己留作个纪念,或是能给后续网工学弟学妹留下一点项目设计参考,提供不同的思维方向。怎么想都还是觉得有一定意义的。

通过这个项目也确实让我重新温习了一遍C语言的各种重要知识技能点,让我在此次过程中看到自己的许多能力不足,自己也看到了自己在焦虑和抗压中积极突破的样子,也算是痛苦中寻求进步和提高。

前情提要:本次项目设计不仅参考了理论,也在网上参考了多方设计方式,最后结合自己的理解设计出了一种个人认为最为简单的设计方式。

项目总览

一、设计主题

利用课程组提供的物理层模拟软件,依托C语言套接字,设计具有多层结构的网元,并将多个网元构成一个网络,实现信息、文件在多个网元之间的传递。

二、阶段目标

(一)阶段一

完成模型层次设计,搭建雏形并测试。

  • 回顾:主要是停留在最基础的层次设计,最初学习的时候其实并不能很好的总览全局,也不能严格意义上说完成对模型的规范测试,更多只是为了把握一个大体方向,为后续设计进行初步方向指导,但仍然要不断调整。

(二)阶段二

着眼于数据链路层,实现点到点的数据传输;完成数据链路层中包括:帧同步、差错检测和控制、流量控制等点到点功能。

  • 回顾:该阶段是本项目的重头阶段,现在看来也是当初花时间最多的阶段,一是要结合理论知识,将其用代码实现;二是要学会理解课程组的例程代码,然后进行自己的设计编写,这都是十分耗费时间的。但此阶段二是后续两个阶段的重要铺垫,若是此阶段完成好了,后续的两个阶段都比较轻松了。

(三)阶段三

着重实现介质访问控制子层的交换机功能,包括:单播的目的地址判收、支持广播、有端口地址表、反向地址学习、研究生成树算法和广播风暴等

  • 回顾:此阶段个人觉得其实才是比较有意思的,因为不像阶段二几乎纯粹结合理论进行实现。这一阶段需要加入自己的理解设计,并且需要紧密结合考虑拓扑结构。设计的方式很大程度上决定了此次代码实现是否简便。但不得不吐槽的是,项目中自带的一个测试ALOHA等传输效率的实验,由于其用到课程组提供的不能加速的模拟器,导致结果收敛速度极慢,而且工作量很大,个人觉得意义其实是不大的。

(四)阶段四

在网络层实现一定的编址和路由技术,包括完成IP地址到MAC地址的映射、有路由表、按照路由实现转发、实现端到端的信息交换等。

  • 回顾:此阶段设计的时候临近期末了,还是完成了路由的基本功能,不过为了寻求代码实现的便捷,还是小小偷懒,在一定程度上设计得并不是那么好看。但总体上路由的原理是完成了的。个人觉得此次难点在于如何运用多个套接字进行层次化,即上下层之间进行通信,最后实现结果的好坏取决于设计的方式。

其他想说的话

开始接触到本项目的时候,我其实是非常抵触的,因为感觉自己完全没有达到完成这个项目的level,还想着能够抱大佬的大腿。但是经历队友不给力之后,以一己之力完全完成这个项目时,发现这个项目其实也并没有想象中那么难(不过一个人做完一个小组的项目,包括设计、代码实现、报告撰写等从头到尾一个人做,还是挺难顶的,工作量还是在那里的)。并且通过这个项目让我的自学能力提升了一个level,对计算机网络的许多理论知识理解也变得更加深刻,这点由我跟普通班的同学对比发现得出。所以,总的来说,万事开头难,再多大的困难,一点一点克服,一点一点解决,总会有结果的。如果能够给后来的你们提供一点小小帮助的话,my pleasure!(我会尽快更完的,salute!)

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:17:20  更:2021-07-17 12:18:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:53:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码