这篇文章想以简单易懂的话说一下计算机网络。当然,许多细节并不会过多的涉及。如果想了解更多细节的,可以参考我的另一篇博客Obsidian笔记运用及分享_first-coding的博客-CSDN博客,可以根据博客内容进行Obsidian笔记软件下载查看我看书总结的一些笔记。
首先,我们从自己的电脑开始。当插入网线,连上WIFI的时候。计算机网络就开始为你服务了。
1. 我们刚开始学习网络的时候,一堆TCP,UDP,ICMP等等一些协议以及一堆的什么回退N步,路由选择,转发,交换机等等一堆没听过的概念。这就让人很难受,很烦。
下面我想以一种讲故事的方式来说一下计算机网络的内容,第一次尝试还请大家多多支持,如果有什么问题还请多多相互交流,谢谢。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
故事开始
在一片宁静的森林深处,有两户人家(应用层)。一户人家住着小海,另一户人家住着小冰。最初,这两户人家使用简单的方式——通过窗户上的手势,进行着基本的沟通。
随着时间的推移,他们开始有更多需要传达的信息,于是这两户人家决定投资建立一个邮政系统(网络层)。他们各自雇佣了两名专门负责信件的发收工作的人员。一个负责人非常细致,他使用可靠的方式(TCP)将信件放入邮箱并将其分发给家人,他对发送出去的信件需要接收到确认才肯放心(ACK报文),当一定时间内没有接收到确认报文的话就会将这份信件再传一次(超时重传机制),另一个负责人较为随意,他采用不那么严格的方式(UDP)处理信件,他只负责发送出去,其他的一律不管。
邮政服务还有一位员工,即通信协调员(数据链路层)。这位员工的工作包括检查并纠正信件中的错误,以及作为快递员的角色,将信件送出。
新的挑战
随着时间的推移,森林中涌现出越来越多的人家,它们逐渐与小冰和小海熟悉起来,开始相互通信。然而,邮政部门遇到了难题:在之前,只有两户人家,无需地址即可准确派送信件。
但现在,几乎每天都有新的人家加入,邮政系统如何知道信件应该送到哪里呢?邮政想到了一个创新的方法:使用每户人家通信的两名专责人员的脸(因为这两个人是双胞胎,脸部都是一样的,哈哈哈)来识别位置(MAC地址)。这意味着只需在信件上写上收信人的脸的特征,就可以确定信件的去向。
快递员的烦恼
然而,问题在于快递员一开始不知道每户人家通信人员的脸。因此,在刚开始的时候,他只能一家家上门询问(集线器的功能)。虽然他知道这些人的脸,但不知道在信中如何表示这些脸,他无法在脑海中记住所有的信息。
幸运的是,每当有人签收信件时,快递员会记住信中的脸和签收者的脸。这样,当下次看到相同的脸时,他就无需一家家询问,因为他已经建立了一个MAC地址表。
面对增多的通信人数
随着通信人数的增多,快递员无法记住这么多不同的脸。邮政部门再次陷入困境。这时,邮政部门想到了一个解决方案:增加快递员的数量。这些快递员之间会共享他们见到的脸的信息,每个人都会互相记住。这样,当一个快递员看到共享的脸信息时,可以将信件交给另一个快递员。但随着通信人数的不断增加,邮政部门很难承担这么多快递员的工资。
节省开支的方法
邮政部门为了节省开支,决定建立一个邮政站点(路由器)。然而,问题来了,快递员如何知道何时将信件送到邮政站点以便进一步转发呢?
邮政部门再次思考,想到了一个办法:将信件标上特定的脸部特征,如圆圆的脸和高高的鼻子,以示信件需要送到邮政站点。然而,每个人的脸部特征都不相同,因此这个方法并不是很合理。
终极解决方案
邮政部门继续苦思冥想,试图找到一种既能节省成本又能准确派送信件的方法。这时,他们想到了一个终极解决方案:为每个家庭分配一个独特的地址,就像是村庄中的街道地址一样(IP地址)。邮政站点(路由器)也有自己的地址,表示它连接的两条路。快递员只需要查看信件上的地址,就能轻松确定是否需要经过邮政站点(路由器)。如果信上的地址是同一个村庄的话就不需要经过邮政站点(路由器),如果信上的地址不是同一个村庄的话就需要通过路由器进行转发。
故事先到这里,后面会慢慢继续完善。希望大家多多支持,谢谢。