一、什么是计算机网络?
网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。
在我看来计算机网络通俗地讲就是通过传输介质将分布在各个地方的计算机和网络设备连接起来,实现数据通信、资源共享的一张网络。
计算机网络主要包括三部分:
1、计算机 (可以包括客户端、服务器)
2、网络设备 (路由器、交换机、防火墙等)
3、传输介质(可以分为有线和无线的)
按照地域范围可以对网络进行如下分类:
局域网 :小范围内的私有网络,一个家庭内的网络、一个公司内的网络、一个校园内的网络都属于局域网。
广域网:把不同地域的局域网互相连接起来的网络。运营商搭建连接远距离区域的广域网。
互联网:由世界各地的局域网和广域网连接起来的网络。互联网是一个开放、互联的网络,不属于任何个人和任何机构。
二、OSI参考模型&TCP/IP参考模型
三、OSI参考模型各层的作用
物理层
是参考模型中的最底层,主要定义了系统的电气、机械、过程和功能标准。如:电压、物理数据速率、最大传输距离、物理联接器和其他的类似特性。
物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征。
计算机的世界里只有0和1, 正如你现在所看这篇文章的文字, 存储在计算机中也是一大串0和1的组合. 但是这些数字不能在真实的物理介质中传输的, 而需要把它转换为光信号或者电信号, 所以这一层负责将这些比特流(0101)与光电信号进行转换.
数据链路层
传输的基本单位为“帧”,将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并为网络层提供差错控制和流量控制服务。
数据链路层由MAC(介质访问控制子层)和LLC(逻辑链路控制子层)组成。
介质访问控制子层的主要任务是规定如何在物理线路上传输帧。(和物理层相连)
数据链路控制子层主要负责逻辑上识别不同协议类型,并对其进行封装。也就是说数据链路控制子层会接受网络协议数据、分组的数据报并且添加更多的控制信息,从而把这个分组传送到它的目标设备。(和网络层对接)
网络层
传输的基本单位为“数据包”,提供IP地址,负责把数据包从源网络传输到目标网络的路由选择工作。
IP协议是网络层中的核心协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。
传输层
传输的基本单位为“段”,提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
会话层
负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
表示层
提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层
OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。
最后用一张图概括
四、数据封装/解封装
PC1和PC2需要进行数据通信?那么PC1发送给PC2的数据包需要根据OSI参考模型至上而下进行数据封装,PC2收到数据包至下而上进行解封装
这里的封装和解封装的概念可以使用寄快递和取快递类比,中间的传输介质就是物流公司。
寄快递的时候是不是需要将物品层层包装起来,其实就是数据包封装的过程;取快递的时候需要拆解包裹,这个其实就是数据包解封装的过程。