OSI七层协议大白话解读

参考链接:https://www.cnblogs.com/zx125/p/11295985.html

国际标准化组织(ISO)制定了osi七层模型,iso规定了各种各样的协议,并且分了7层

应用层

应用进程

产生数据

表示层

对应用层来的数据进行压缩,格式化、解压缩,加密,解密

会话层

数据传输之前建立一个应用程序之间的会话,传输过程中维持一个会话,结束终止这个会话

传输层

标明上层是那些应用程序(流控)

建立,维护和终止虚拟的链路

确保数据传输的可靠性

通过错误检测和恢复

信息流控制来保障可靠性

端连接

网络层

寻址

路由数据

选择传递数据的最佳路径

逻辑寻址(ip)和实现不同网络路径的选择

数据链路层

起到了承上启下的作用

一个链路,相当于一个局域网

定义了物理地址,原地址,目标地址,数据可以正确找到目标

对二进制数据组合合成字节进而合成帧,以便于传输(对无意义的二进制数据进行简单格式化,使其有意义)

fcs校验位

物理层

二进制传输

定义了一些设备的接口以及传输速率

定义了电气规范、机械规范、过程规范和功能规范

建立、维护、断开物理连接

二、通俗讲解

互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。

每一层都运行不同的协议。协议是干什么的,协议就是标准。

实际上还有人把它划成五层、四层。

七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

五层划分为:应用层、传输层、网络层、数据链路层、物理层。

四层划分为:应用层、传输层、网络层、网络接口层。

物理层:

字面意思解释:物理传输、硬件、物理特性。在深圳的你与北京的朋友聊天,你的电脑必须要能上网,物理体现是什么?是不是接一根网线,插个路由器,北京的朋友那边是不是也有根网线,也得插个路由器。也就是说计算机与计算机之间的通信,必须要有底层物理层方面的连通,就类似于你打电话,中间是不是必须得连电话线。

中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。

底层传输的010010101001...这些二级制位怎么才能让它有意义呢?

要让这些010010101001...有意思,人为的分组再适合不过了,8位一组,发送及接收都按照8位一组来划分。接收到8位为一组的话,那么就可以按照这8位数来做运算。如果没有分组,对方接收的计算机根本就不知道从哪一位开始来做计算,也解析不了收到的数据。我发了16位你就按照16位来做计算吗?我发100位你就按照100位做计算吗?没什么意义是吧。因此要想让底层的电信号有意义,必须要把底层的电信号做分组。我做好8位一组,那么我收到数据,我就知道这几个8位做一组,这几个8位做一组。那么每个8位就可以得到一个确定的数。分组是谁干的活呢?物理层干不了,这个是数据链路层干的。

数据链路层

早期的时候,数据链路层就是来对电信号来做分组的。以前每个公司都有自己的分组方式,非常的乱,后来形成了统一的标准(标准就是协议),即以太网协议Ethernet。

Ethernet规定

一组电信号称之为一个数据包,或者叫做一个“帧”

数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。

这就像写信,发送者的地址(源地址)就是你家的地址,接收者地址(目标地址)就是对方的收信地址,你家的路由器就相当于邮局。其实在计算机通信中的源地址和目标地址指的是mac地址。

Mac地址的由来:

head中包含的源和目标地址由来:Ethernet规定接入Internet的设备都必须具备网卡,发送端的和接收端的地址便是指网卡的地址,即Mac地址。

每块网卡出厂时都被烧录上一个实际上唯一的Mac地址,长度为48位2进制,通常由12位16进制数表示,(前六位是厂商编码,后六位是流水线号)

有了mac地址以后,计算机就可以通信了,假设一个教室就是一个局域网(隔离的网络),这个教室里面有几台计算机,计算机的通信和人的通信是一个道理,把教室里面的人都比作一个个计算机,假设教室里面的人都是瞎子,其实计算机就是瞎子的,计算机通信基本靠吼,现在我要找教室里面的飞哥要战狼2的片,然后我就吼一声,说我要找飞哥要战狼2的片,战狼2的片就属于我的数据,但是我在发的时候我是不是要标识我是谁,我要找谁,我是谁就是我的mac地址,我要找谁就是飞哥的mac地址,这两个地址做数据包的头部,再加上数据战狼2的片就构成了一个数据帧。

这个数据包封装好以后就往外发,到物理层以后就全部转成二级制,往外发是怎么发的呢?就是靠吼。即“我是Edison,我找飞哥要战狼2的片”。这么吼了一嗓子以后,全屋子的人都能听到,这就是广播。

计算机底层,只要在一个教室里(一个局域网),都是靠广播的方式,吼。

局域网的理解:什么是互联网,互联网就是由一个个局域网组成,局域网内的计算机不管是对内还是对外都是靠吼,这就是数据链路层的工作方式-----广播。

广播出去以后,所有人都听得见,所有人都会拆开这个包,读发送者是谁,接收者是谁,只要接收者不是自己就丢弃掉。对计算机来说,它会看自己的Mac地址,飞哥收到以后,他就会把片发给我,发送回来同样采用广播的方式了,靠吼。

同一个教室(同一个局域网)的计算机靠吼来通信,那不同教室的计算机又如何?

比如说局域网1的pc1与局域网2的pc10如何通信?你在教室1(局域网1)吼,教室2(局域网2)的人肯定是听不见的。这就是跨网络进行通信,数据链路层就解决不了这个问题了,这就得靠网络层出面了。

在讲网络层之前,其实基于广播的这种通信就可以实现全世界通信了,你吼一声,如果全世界是一个局域网,全世界的计算机肯定可以听得见,从理论上似乎行得通,如果全世界的计算机都在吼,你想一想,这是不是一个灾难。因此,全世界不能是一个局域网。于是就有了网络层。

网络层:

网络层定义了一个IP协议,

你想,我是这个教室的一个学生,我想找隔壁教室一个叫老王的学生,我也不认识老王,那怎么办,我吼?老王在另外一个教室肯定是听不到的。找教室的负责人,这个教室的负责人就负责和隔壁教室的负责人说话,说我们教室的有个学生要找你们教室的老王。往外传的东西交给负责人就可以了,内部的话上面已经提到,通过广播的方式,对外的东西广播失效。教室的负责人就是网关,网关即网络关口的意思。

Mac地址是用来标识你这个教室的某个位置,IP地址是用来标识你在哪个教室(哪个局域网)。你要跨网络发包你是不是要知道对方的IP地址,比如你要访问百度,你肯定得知道百度服务器的IP地址。计算机在发包前,会判断你在哪个教室,对方在哪个教室,如果在一个教室,基于mac地址的广播发包就OK了;如果不在一个教室,即跨网络发包,那么就会把你的包交给教室负责人(网关)来转发。Mac地址及IP地址唯一标识了你在互联网中的位置。

数据链路层中会把网络层的数据包封装到数数据链路层的数据位置,然后再添加上自己的包头,再发给物理层,物理层发给网关,网关再发给对方教室的网关,对方教室的网关收到后在那个教室做广播。

局域网中怎么获取对方的Mac地址:

肯定要知道对方的IP地址,这是最基本的,就像你要访问百度,肯定得知道百度的域名,域名就是百度的IP地址。自己的IP可以轻松获得,自己的Mac也轻松获取,目标Mac为12个F,我们叫广播地址,表达的意思是我想要获取这个目标IP地址172.16.10.11的机器的Mac地址。Mac为12个F代表的是一种功能,这个功能就是获取对方的MAC地址,计算机的Mac永远不可能是12个F。假设是在本教室广播,一嗓子吼出去了,所有人开始解包,只有IP地址是172.16.10.11的这个人才会返回他的Mac地址,其他人全部丢弃。发回来源Mac改成飞哥自己的Mac地址,同时把飞哥的Mac地址放在数据部分。

跨网络怎么获取对方的Mac地址:

通过IP地址区分,计算机运算判断出飞哥不在同一个教室,目标IP就变成了网关的IP了。网关的IP在计算机上配死了,可以轻松获取。

这样网关就会把它的Mac地址返回给你,然后正常发包

网关帮你去找飞哥,但对用户来说,我们根本就感觉不到网关的存在。

传输层

传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,

那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。

传输层功能:建立端口到端口的通信

补充:端口范围0-65535,0-1023为系统占用端口

应用层

应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 。

应用层功能:规定应用程序的数据格式。

例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

第二部分参考链接:https://blog.csdn.net/taotongning/article/details/81352985

原文地址:https://www.cnblogs.com/manmanchanglu/p/12316197.html

时间: 2024-08-01 17:19:32

OSI七层协议大白话解读的相关文章

如何记住OSI七层协议模型,脑洞大开有木有?

学过计算机网络的各位,一定知道OSI七层协议模型.OSI七层协议模型(或简称OSI七层模型),是一个定义得非常好的协议规范,被认为是现代开放性通信系统互连互通的标准参考模型.OSI模型有7层结构,每层都可以有几个子层. OSI的7层从上到下分别是: 7. 应用层--Application(Layer 7) 与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的.例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层.但是,如果添加了一个传输文件

OSI七层协议模型、TCP/IP四层模型学习笔记

1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行实践:而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型. 1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准. TCP:transmission control protocol 传输控制协议 UDP:user data protocol 用

细说OSI七层协议模型及OSI参考模型中的数据封装过程?

OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems InterconnectionReference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI. 0SI/RM协议是由IS0(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的.通用的概念以便开发完善.可以用来解释连接不同系统的框架. 95[中国自动化网社区]c2bd23[htt

网络之OSI七层协议模型、TCP/IP四层模型

13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. 要找出7个层次所对应的各协议,恐怕会话层和表示层的协议难找到啊.. [1]物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换),这一层

网络编程 --OSI七层协议

内容目录: 1.软件开发架构 2.OSI七层协议 3.每层协议介绍 1.软件开发架构 c/s架构: c:客户端 s:服务端 b/s架构: b:浏览器 s:服务器 本质:b/s其实也是c/s 2.OSI七层协议 3.各层介绍 3.1 物理层 规定计算机之间物理连接方式,传输的数据都是 0,1 二进制的电信号 3.2 数据链路层("以太网协议"!) 1.规定了二进制数据的分组方式 2.规定了只要是接入物联网的计算机,都必须有一块网卡! 网卡上面刻有世界唯一的编号: 每块网卡出厂时都被烧制上

osi七层协议和应用层的工作方式

osi七层协议 应用层 应用层       ——         应用层        ——     表示层 (规定应用程序的数据格式)                    会话层 传输层       ——       传输层          ——     传输层 (建立端口到端口的通信(定义程序)) 网络层       ——       网络层          ——     网络层 (引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址) 数据链接层   ——      数据链

OSI 七层协议

本文适合新手观看... 我们从最底层的物理层开始介绍,一直介绍到最上层的 应用层物理层(physical layer) 单位:bit 比特 理解:大地(载体) 概念:物理层提供有关同步和全双工(单工传输指数据只能按单一方向发送和接收:半双工传输指数据可以在两个方向传输但不能同时进行,即交替收.发:全双工传输指数据可以在两个方向同时传输,即同时收和发.)比特流在物理媒体上的传输手段, 为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境,是整个开放系统的基础. 物理层的媒体包括架空

网络编程,osi七层协议

网络编程 软件开发架构 1 c/s架构 c 客户端 s 服务端 2 b/s架构 b 浏览器 s 服务器 c/s架构就比如我们现在手机上的软件,大多数都是c/s架构 也有一些已经是b/s架构,比如微信,中的小程序,支付宝的第三方的功能. 什么是服务端,和客户端 服务端就是,24小时不间断的提供服务 客户端就是,任意时间都可以去找到服务端,寻求服务 网络编程的发展史 往往一个技术的发展都是来源与军事 网络通信具备的条件 1 物理传输介质(电话线,网线,网卡) 2 一套公共的协议(OSI协议,比如,两

OSI七层协议模型及OSI参考模型中的数据封装过程

转载自:http://blog.csdn.net/qq_14935437/article/details/71081546 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems InterconnectionReference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI. 0SI/RM协议是由IS0(国际标准化组织)制定的,它有三个基本的功能:提