OSI参考模型
我相信学习过网络知识的都逃不过对这几层的折磨,特别是刚刚学网络的小白,根本搞不懂为什么这样分,每一层还有各种协议,想想就头疼,但是今天我还是想和大家在聊一下这七层的知识点。尽可能通俗易懂地让你记住每一层的原理。
我们先来看一下原理图:
反正这七层你是要死记硬背把它背下来的我之前也记不住,后来听一位老师讲就死记住最开始一字:
物 数 网 传 会 表 应 多念几遍就记住了。
物理层
我们从最容易理解的一层开始,物理层,我们玩电脑游戏都要上网对吧,那和我们物理层有关的几样东西,网线,电脑网卡这两个主要的就在外面物理层上工作的,它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
数据链路层
这一层定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
网络层
这一层是我们网络工程师的重点要掌握的,在这一层,也因为有网络层我们才能远隔千里通信,他会将你的消息不断地转发,直到达到对方终端,这一层是通过ip进行路由转发的
传输层
这一层我们要特别注意的是TCP和UDP协议:
TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据)
UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。
主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
qq免费领说说赞平台
会话层
通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
我们一台电脑上会有很多的应用程序,可能用QQ给对方发消息的时候对方电脑同时打开了微信和QQ,那怎么确保你QQ发送过去的数据让他QQ接收而不是发到微信呢?这就是我们会话层做的工作,绑定一个端口号,这样就知道是与那个进程通信。
表示层
可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如你要一张图片,我们的图片在网络中最后都会被转化为1和0的数据,那我们的接收方怎么知道收到的是一张图片呢?这就是我们表示层的工作,他在发送的时候告诉对方数据数一张图片,那对方知道收的一大堆0和1 是图片,那把0和1转化的时候就以图片的方式去转换数据这样就不会出错。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
应用层
是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。就像你电脑里面的微信QQ这些软件。
发送端
整个通信过程如下图所示,我们A发送消息给B,首先我们A打开QQ这是应用层,选择一张图片发送数据格式说明是我们表示层的工作,然后往下,发到对方那个应用是会话层的事确保你QQ的消息不会发送到微信上面,接下来是我们的传输层,选择一种协议TCP或者是UDP发送,然后我们的网络层是确保不管你们离得多远都会给你送到,然后这些都做好了我们就开始发送,首先到网卡上,到数据链路层,这一层呢是保证你发送的图片传到对方还是原来的图片的,就是保证不会出错。在却白完这些之后就顺着网线发出去了。
通信过程
接收端
接收端则反过来,首先他从网线里面到网卡获取到你发送的一大堆0和1的数据,首先数据链路层就会先检查数据有没有错,没错了就交给网络层,网络层拿着IP地址发现确实是发给我的,他就往上再交给传输层,把数据根据发送的协议进行组装完整,交给会话层,会话层一看是QQ的消息,就交给QQ的,到表示层后,发现是图片,那就按图片把0和1转化出来,然后交给QQ界面,界面把它显示出来,对方就看见图片了。
总结
网络基础知识理论性的东西很多,我并没有很专业地讲解每一个技术,只是不想你像背书一样痛苦地记住这些知识点,我们可以慢慢的有趣的基本了解整个过程,后期再深入学的时候就慢慢回忆出来确实这样也是一种不错的学习方法。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。
标签:
评论