首页 > 编程知识 正文

osi七层中各层传输形式,大白话小白话

时间:2023-05-06 20:47:55 阅读:173853 作者:1238

互联网的本质是一系列网络协议,该协议被称为OSI协议(一系列协议),根据功能的不同分工不同,人为地分为七层。 其实这7层是不存在的。 没有这个七楼的概念,只是人为的区分。 区别的目的只是让你明白哪一层是用来做什么的。

每层执行不同的协议。 协议做什么,协议是标准的。

实际上也有人分为5楼、4楼。

七个层被划分为APP应用层、表示层、传输层、网络层、数据链路层和物理层。

这五个层包括APP应用层、传输层、网络层、数据链路层和物理层。

四层分为APP应用层、传输层、网络层和网络接口层。

物理层意味着物理传输、硬件和物理特性。 在深圳的你应该和北京的朋友聊天,你的电脑应该能上网。 物理表现是什么? 要不要连接网线,插上路由器? 北京的朋友那边不是也有网线吗? 也插入路由器吧。 这意味着计算机和计算机之间的通信需要底层物理层方面的联系,就像打电话一样。 中间不是必须连接电话线吗?

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

底层传输的010010101001…这些两级制比特如何才能有意义呢?

总结:

物理层最后负责将信息编码成电流脉冲或其他信号,用于通过因特网的传输;

() RJ45等将数据转换为0和1;

这些010010101001…有趣的是,人为分组不是最佳的。 8位一组,发送和接收由8位一组分开。 如果接收到的8位是1组,就可以用这8位进行运算。 如果不分组,对方收到的计算机就不知道是从哪个位数进行计算的,也无法分析收到的数据。 我发16个人的话按16个人计算吗? 我送100人的话按100人计算吗? 没有任何意义吧。 因此,为了使基础电信号有意义,有必要对基础电信号进行分组。 我做一个8位数的组,那么我接收数据,我知道这几个8位数组成组,这几个8位数组成组。 每8比特得到决定的数。 分组是谁做的工作? 物理层不行。 这是数据链路层做的。

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

以太网的规定

通信组称为数据包,称为“帧”

将各数据帧分为头部head和数据data两个部分

head包括()固定18个字节)

发件人(源地址,6字节)收件人)目标地址,6字节)数据类型) 6字节) data包含)最短46字节,最长1500字节)

数据包的具体内容为: head长data长=最短64字节,最长1518字节,如果超过最大限制,则发送片。

这就像写信一样,发件人的地址(源地址)是你家的地址,收件人的地址)是对方的目标地址,你家的路由器就相当于邮局。 实际上计算机通信中的源地址和目标地址是指mac地址。

Mac地址来源:

头中包含的发送源和接收方地址的由来:以太网规定,接入互联网的设备需要网卡,发送方和接收方的地址是网卡的地址,即Mac地址。

每个网卡出厂时都会写入一个唯一的Mac地址,该地址通常以48位二进制数字表示,通常以12位十六进制数字表示。 (前6位是制造商代码,最后6位是流水线编号。 ) ) ) ) ) ) )。

有了mac地址,计算机就可以通信了。 假设教室是局域网(LAN )。 这个教室里有几台电脑。 计算机的通信和人的通信是同样的理由。 把教室里的人比作电脑吧。 假设教室里的人是盲人,其实电脑是盲人,电脑通信基本上是在吼。 现在找教室里的pydddd找狼2的电影。 然后我吼道,我在找pydddd是狼2的电影。 狼2的电影属于我的数据。 但是,当我发送的时候,我在找谁,是否我会识别出是谁。 我有人是我的mac地址,我有人是pydddd的mac地址,这两个地址组成数据包的开头,再加上数据狼2的电影组成一个数据帧。

这个数据包封装后再出去,成为物理层后全部转移到二级制。 怎么才能出去? 就是吼。 也就是说,“我是Edison。 我在找pydddd战斗狼2的电影”。 这样吼后,整个房间的人都能听到的就是广播。

只要在一个教室(LAN )里,电脑的底层就在广播中怒吼。

局域网理解:什么是互联网。 互联网是由一个个LAN构成的,LAN内的计算机无论内外都是怒吼。 这就是数据链路层的结构——广播。

播出后,所有人都能听到,所有人拆开这个包,读一下发件人是谁,收件人是谁,除非收件人是自己,然后扔掉。 对计算机来说,它看着自己的Mac地址,pydddd送到了,他就给我发电影,送回来,一样采用广播方式,吼。

同一个教室(同一个局域网)的计算机在吼着通信,不同教室的计算机怎么办?

例如,LAN1的pc1和LAN2的pc10如何通信? 即使你在教室1(LAN1 )吼,教室2 ) LAN2 )的人也听不见吧。 这是通过跨网络进行通信,数据链路层无法解决这个问题,必须在网络层露面。



总结:
数据链路层通过物理网络链路?供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控;
可以简单的理解为:规定了0和1的分包形式,确定了网络数据包的形式;

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

网络层

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

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

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

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

在数据链路层看,数据封装了两层,跟玩俄罗斯套娃有点类似,一层套了一层。

最终变成

现在来看另一个问题,在吼之前怎么知道对方的Mac地址?这就得靠ARP协议。

ARP协议的由来:在你找pydddd要片之前,你的先干一件事,想办法知道pydddd的Mac地址。即你的机器必须先发一个ARP包出去,ARP也是靠广播的方式发,ARP发送广播包的方式如下:


局域网中怎么获取对方的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改成pydddd自己的Mac地址,同时把pydddd的Mac地址放在数据部分。

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

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


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

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

总结:
网络层负责在源和终点之间建立连接;
可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6!

传输层

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

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

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

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

tcp协议:

可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

以太网头ip 头tcp头数据

udp协议:

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

以太网头ip头udp头数据

总结:
传输层向高层?提供可靠的端到端的网络数据流服务。
可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;

会话层

现在我们已经保证给正确的计算机,发送正确的封装过后的信息了。但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。

于是,发明了会话层。会话层建立、管理和终止表示层与实体之间的通信会话。

表示层

表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;
可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信;

应用层

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

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

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

总结:
OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等;
规定数据的传输协议;

参考资料:
https://blog.csdn.net/taotongning/article/details/81352985
https://www.jianshu.com/p/4b9d43c0571a

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。