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

目录

  • 序言
  • 项目总览
    • 一、设计主题
    • 二、阶段目标
  • 其他想说的话

序言

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

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

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

项目总览

一、设计主题

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

二、阶段目标

(一)阶段一

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

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

过程记录链接:最小网元设计——阶段一

(二)阶段二

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

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

过程记录链接:最小网元设计——阶段二

(三)阶段三

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

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

过程记录链接:最小网元设计——阶段三

(四)阶段四

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

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

过程记录链接:最小网元设计——阶段四

其他想说的话

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广电为什么禁止投屏_广电的机顶盒怎么投屏

说到广电的机顶盒,相信大家都不陌生,如今普及的比较广,但是很多朋友不太清楚广电的机顶盒怎么投屏,没关系,小编将在下文为大家介绍相关知识,希望对大家有所帮助。一、广电的机顶盒怎么投屏想将手机屏幕投屏…

计算机网络项目——最小网元设计(阶段一)

目录阶段目标模型设计功能设计应用层网络层数据链路层物理层其他想说的话阶段目标 完成最小网元的层次模型设计 模型设计 仿照实际应用较为更广泛的TCP/IP模型,针对本项目的最小网元,初步将模型划分为四层:应用层、网络层、链路层、物理层…

人声处理_人声美化:人声后期处理方法

最近在整理美声方面的相关资料,主要是EQ方法的搜集和归纳。声音的压限(压缩处理)、均衡、混响是做好人声处理的关键。[1]1Ultrafunk fx: Equalizer R3(均衡)声音过暗会感觉吐词含糊不清,声音过亮…

计算机网络项目——最小网元设计(阶段二)

目录阶段目标设计描述1、帧结构2、帧定位3、差错检测4、差错控制5、流量控制6、长帧传输——分片测试情况其他想说的话阶段目标 用链路层例程代码(LnkTester.sln)设计实现链路层上点到点之间的通信过程,具体包括:两点之间帧同步、…

key value vue 输出_Vue2.0 v-for 中 :key 到底有什么用?

v-for中不加:key貌似也能正常显示,那为什么要加:key呢?我们知道vue可以动态的改变页面的结构,比如在一个div里面插入一个span标签,看似简单的操作,底层还是很复杂的,它是如何实现的呢?因为页面的…

计算机网络项目——最小网元设计(阶段三)

目录阶段目标设计描述1、帧结构2、按目的转发3、反向地址学习4、未知广播测试情况其他想说的话阶段目标 本阶段主要完成链路层交换机的功能实现:单播目的地址判收、支持广播、有端口地址表、反向地址学习,并在含交换机的多网元情况下完成测试。 设计描…

token拦截器android_vue.js添加拦截器,实现token认证(使用axios)

什么是token?token是一个用户自定义的任意字符串,目前开发中,token都是在服务端生成并且token的值会保存到服务器后台。只有服务器和客户端知道这个字符串,于是,这个token就成了两者之间的秘钥,它可以让服务…

计算机网络项目——最小网元设计(阶段四)

目录阶段目标设计描述1、实体编址2、路由表设计3、路由配置4、路由器的存储转发5、端到端的图片传输测试情况其他想说的话阶段目标 本阶段需要对实体进行编址,实现NET层的IP地址到MAC层地址的映射,解决各层实体的标定区分和数据投递,同时网络…

扫一扫 移动端_移动端手机APP 身份证识别 手机扫一扫离线识别

证件识别是指能实现拍照自动输入身份信息,让用户完全告别手动输入身份证、驾驶证、行驶证等证件信息。它支持Android、 iOS 、Java、Linux等多终端形式接入,电 一山一,领九九,六八九八菱还能通过多样化的结果输出,满足…

电脑解锁后黑屏有鼠标_电脑开机黑屏只有鼠标

电脑开机黑屏只有鼠标经常使用电脑的朋友都会遇到电脑的各种故障,例如电脑开机黑屏只有鼠标,那么该怎么办呢?下面一起来看看电脑开机黑屏只有鼠标的解决办法。方法一、如果自己对电脑不懂的话,最简单的方法就是强制关机,这个关机…

figma应用——面向用户的咖啡点单APP的设计过程记录

目录概述设计阶段1、Brainstorm2、用户分析(1)用户画像(2)竞品分析(3)用户旅程地图(4)用户需求分析3、点单APP的demo设计(1)整体布局逻辑概览(2&a…

java右移位_java 、移位操作方法

<java" id"highlighter_505373">以上是正整数&#xff0c;运算结果如下。接下来看看将负数进行左移2位操作是什么情况&#xff0c;运算结果如下。为什么会-10的二进制会出现这么多的1呢&#xff1f;仔细数一下刚好有32位。首先需要了解的是java负数存储是…

打docker镜像_使用docker构建自己的镜像

在docker中&#xff0c;我们使用docker build构建一个新的镜像&#xff0c;构建镜像之前需要去编写Dockerfile这个文件才能否建一个新的镜像。官方文档&#xff1a;https://docs.docker.com/engine/reference/builder/#fromFROM&#xff1a;用于指定基础镜像RUN&#xff1a;构建…

3d打印主要的切片参数类型_3D打印混凝土工艺参数对成型精度的影响

3D打印混凝土技术作为新兴技术&#xff0c;由于其不需要模板&#xff0c;节省大量劳动力和可打印复杂造型的特点&#xff0c;得到了大家的关注。但是&#xff0c;利用3D打印技术建造想要的结构&#xff0c;成型精度是必须考虑的一个问题。成型精度受材料性能、打印设备及打印工…

web中hasmoreelements_Web开发模式【Mode I 和Mode II的介绍、应用案例】

开发模式的介绍在Web开发模式中&#xff0c;有两个主要的开发结构&#xff0c;称为模式一(Mode I)和模式二(Mode II).首先我们来理清一些概念吧&#xff1a;DAO(Data Access Object)&#xff1a;主要对数据的操作&#xff0c;增加、修改、删除等原子性操作。Web层&#xff1a;界…

网络传输大端序_大端、小端与网络字节序

大端(Big-Endian)&#xff0c;小端(Little-Endian)以及网络字节序的概念在编程中经常会遇到&#xff0c;网络字节序(Network Byte Order)一般是指大端(Big-Endian&#xff0c;对大部分网络传输协议而言)传输&#xff0c;大端小端的概念是面向多字节数据类型的存储方式定义的&am…

poi的sax模式读取xls_POI SAX 如何修改大excel 文件内容-问答-阿里云开发者社区-阿里云...

I think POI is using too much memory! What can I do?This one comes up quite a lot, but often the reason isnt what you might initially think. So, the first thing to check is - whats the source of the problem? Your file? Your code? Your environment? Or …

cupload怎么保存图片_原生js的图片上传插件cupload

插件描述&#xff1a;支持图片预览、像素限制、大小限制、多图上传、更新模式下页面初始化加载图片更新时间&#xff1a;2020-09-25 00:23:49更新说明&#xff1a;添加 删除时&#xff0c;同时删除服务器图片的功能&#xff0c;文档提供php实例。添加参数Url参数更新 {ele: &q…

mysql 半同步_mysql 主从同步 与 半同步

mysql主从同步复制定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上&#xff0c;在复制数据时&#xff0c;一个服务器充当主服务器(master)&#xff0c;其余的服务器充当从服务器(slave)。通过配置文件&#xff0c;可以指定复制所有的数据库&#xff0c;某个数据…

mysql内存数据库性能_Mysql内存表配置及性能测试

centos7 mysql数据库安装和配可以参考一下文章&#xff0c;基本照做就可以了(我选的方法二)&#xff1a;http://www.cnblogs.com/starof/p/4680083.html说到内存表&#xff0c;首先有两个概念简单区分下&#xff1a;1.临时表&#xff1b;2.内存表&#xff1b;临时表与内存表的区…