序言
在前面总结完了C语言系列,现在来总结一下计算机网络的知识,这部分我准备不会向C语言那样只找重点来讲,而是想要真正把计算机网络知识都整理出来,让你通过阅读这一个系列的文章,就彻底学会计算机网络的知识。
在大学期间上的每一门课的第一课大家应该都清楚,那就是绪论。为了能够帮助大家能够很好的学习,我觉得绪论还是很重要的。学过控制的都知道,从系统的总体上来把握整个项目,我觉得同样适用于学习之中,一门课的知识点是很多的,很杂的,所以我们只有从总体上把握整个知识体系,才能真正的掌握,否则散乱的知识在头脑中不相互关联,你是很难去应用解决问题的,这也是知识体系结构化的原因。咱们还是转回到正题——计算机网络。这篇文章就是计算机网络的绪论,让你整体上把握计算机网络的知识。
说到计算机网络,大家每天都在用,也是大厂面试的很常见的考点,所以你需要学好,不说为了面试还是应用,起码你能给家里父母亲人解释解释什么是互联网,对吧!其实计算机网络的知识点是很杂的,也很让人摸不到头脑,因为更多的都是理论,我们不可能真正的去编程实现,不过还是可以做实验的,去年为了面试在学习的时候,记得MOOC里有北航的实验课程,因为当时准备面试,没有跟着做,可以去做一做,真的可以加深对于计算机网络的理解。虽然知识点很乱,但是还是可以找到规律的,让你能从总体上把握。
计算机网络层次体系
首先,从我自我的理解来说,计算机网络的核心思想只有一个,大家在学习高级语言编程(c++,java)的时候都很熟悉了,那就是封装和抽象,计算机网络层层封装,尽量屏蔽每一个底层,减少上面应用的关心内容,专注于做自己的事。其实这也是所有和计算机相关的一切的思想,不论是设计模式,还是操作系统,完全都是把这种思想贯彻其中,你仔细分析,核心都是把底层封装抽象,上层不需要关注细节。操作系统我们后面在说。所以就有了计算机网络TCP/IP的五层网络体系结构(OSI的七层网络),实际只用到五层,所以咱就按照五层来说。
说白了,计算机网络学习就是这个五个层次的学习,每个层次都有不同的功能。有的书是按照从上到下的层次讲解,有的书是从下到上的讲解,我觉得都有道理,看你怎么理解了。
- 应用层:就是我们平时常用的一些需要网络的应用,使用的协议都在这个层次了,比如浏览器使用的HTTPS、HTTP协议、邮件SMTP协议等等。它将计算机与计算机的网络通信抽象成了两个计算机之间的直接通信,你在看到这个图之前,你觉得你在使用网络的时候需要知道底下的那些层次吗?这一层传输的是报文,什么是报文,之后在讲解。
- 传输层:这一层次为应用层次提供了两种选择,一种是面向连接的TCP协议,一种是无连接的,尽最大可能交付的UDP协议。这一层的数据单位是TCP报文段和UDP数据报。
- 网络层:这层就是包含了大名鼎鼎的IP协议,这一层主要作用是为了抽象出来IP地址这一个概念,为每一个想要的通信的计算机做了一个唯一的标识,用来在广袤的互联网中找到你!这一层数据叫IP数据报。
- 数据链路层:这层是将上一层IP数据封装成帧,使用是设备的物理地址,因为有物理层的封装,这一层就不需要考虑网络的连接以及用什么传输的问题。这一层数据叫做帧。
- 物理层:这一层考虑的问题是如何把数据按照位传输出去,因为计算机的数据其实就是0和1嘛。这一层的数据叫比特。
计算机网络的学习其实就是理解一个数据如何从应用层开始,逐层下传,如何经过互联网,传输到目的计算机的这一个过程。相信你应该稍微有些理解了计算机网络要学什么了。在这个绪论之中,你只需要学会这个五层结构体系,之后逐渐在每一个层加入相应的协议,相信就可以轻松学会计算机网络了,之后我将逐层总结,让你经过这一系列文章的学习,学会计算机网络的基础知识,在面试中游刃有余。下面是我整理的计算机网络知识点思维导图。
学习资料推荐
对于计算机网络的学习,首先要说的资料是谢希仁的计算机网络这本书,我是看的这本书入的门,但是可以说,去年准备面试的时候看的并不是很认真,很匆忙。为了总结写这一系列的文章,上周重新读了这本书,感觉里面讲解的还是很不错的,细节讲解的很到位。
其次推荐的是网络是怎样连接的,这是一本以图画形式来展示计算机网络的,很便于理解。
还有一本叫做计算机网络自顶而下,不过我还没看,但是在写这一系列文章前,我也会读,吸收这三本书的精华,总结出让你易懂的计算机网路知识!
绪论先讲这么多吧,精彩且听下回分解。
回复计算机网络,可以获得免费获得电子版。让我们一起快乐的玩编程。