前言
-
利用电脑在网上看片儿是怎么看的?
- 利用网线,通过电流把片儿的二进制数据从片源服务器传输到自己的电脑,然后在用自己的看片软件(如快播、迅雷看看)等将二进制数据解析成电影格式播放
-
什么是OSI七层模型?
- 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。,它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
实际上就是将上网的过程从底层到应用分为七个层级结构
1.1-物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层
物理层的功能:利用传输介质为数据链路层提供物理连接,实现比特流的传输
-
物理层的作用:物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的
- 把二进制转换成电流,把电流转换成二进制(单位是bit比特)
与物理层有关的设备:中继器(将电信号方法,因为电缆是金属有电阻)
1.2-数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法
数据链路层的具体工作是:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层
将二进制数据转换成标准帧格式(起始位、数据、地址、校验、结束位)
与数据链路层有关的设备:交换机,也就是大家常说的猫(为数据帧从一个端口到另一个任意端口的转发提供了低时延、低开销的通路)
-
如果把电脑比如成客户,数据链路比喻成物流,那么快递小哥如何找到客户地址?
- 通过电脑MAC地址(MAC地址由网卡决定)
1.3-网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。
路由算法:当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测
网络层有关的设备:路由器(一个作用是连通不同的网络,另一个作用是选择信息传送的线路)
网络层主要有两个作用
选择数据传输的最优路径,解决网络阻塞问题(网络阻塞的原因主要是CPU需要处理数据有一定延迟)
将大的数据切割成小的数据包,根据不同时间段的不同最优路径进行传输(可以联想看片时候的断点续传)
互联网如何识别电脑?
通过ip地址
1.4-传输层
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用
该层的主要任务是:定义了一些传输数据的协议和端口号(如HTTP的端口80等),TCP(传输控制协议,传输效率低,可靠性强,可以用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做报文段
协议和端口号是在传输层定义的
电脑如何识别某一个应用程序?
通过端口号:每一个应用程序都有很多的服务,每一个服务对应着一个端口号
1.4.1-MAC地址、ip地址、端口号的理解
- 假如我想在淘宝买一个娃娃,首先需要登录淘宝账号,下单购买后卖家开始联系寄东西过来。如果把卖家比喻成电脑A,我比喻成电脑B,买的东西相当于A给B传输的数据,那么MAC地址就相当于B下单时填写的收货地址,这个地址是固定的,如果搬家了换了地址就相当于换了网卡更换了MAC地址,而ip地址就相当淘宝这个平台,我可以在淘宝买东西,也可以在京东买,ip地址是不固定的,端口号就相当于学校有很多楼也有很多教室,每一个教室对应的是一个端口号(好比用淘宝程序购买,虽然找到了这台电脑的地址但是电脑中有很多应用程序,如何找到你是用淘宝客户端发起的获取数据请求而不是你的其他软件就是通过端口号来识别的)
1.5-会话层
会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理
通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
数据的传输是在会话层完成的,而不是传输层,传输层只是定义了数据传输的协议
1.6-表示层
表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等
可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换
表示层的任务:数据格式转换(可以理解成iOS中将c语言的char字符转换成OC语言的NSString)
1.7-应用层
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作
是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务
1.8-小结
由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。 在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能
-
以上只是一些理解性的概念,一般用于面试,但是在OSI七层模型中有两个东西是要求一定要掌握的。
一个是TCP/UDP协议:对于网络管理的网络安全具有至关重要的意义
一个是Socket:是应用层与传输层之间的桥梁