当前位置:首页 > 经验 >

整个osi模型分哪几层(osi参考模型从哪一层开始)

来源:原点资讯(www.yd166.com)时间:2022-11-08 23:26:34作者:YD166手机阅读>>

(OSI 模型中,不同层次的协议实现)

◇物理层相关的【网络设备】

调制解调器(modem)
通俗地说,“调制解调器”就是用来翻译“数字信号 & 模拟信号”。
在发送信息时,modem 把电脑要发送的“字节流”(数字信号)翻译成“模拟信号”,然后通过物理介质发送出去;当它从物理介质收到“模拟信号”,再翻译成“数字信号”,传回给电脑。
早期的拨号上网,modem 面对的物理介质是“固话线路”;如今家庭宽带普及,光纤入户,modem 面对的物理介质是“光纤线路”。

(老式 modem,用于固定电话线路)

中继器(repeater)
信号在物理介质中传输,会出现【衰减】(不论是“有线 or 无线”都有可能衰减)。“中继器”的作用是【信号增益】,使得信号能传得更远。
另外,比如“微波通讯”是直线传播,而地球表面有弧度,还有地形的起伏。所以每隔一定距离要建“微波塔”。这玩意儿也相当于“中继器”。

整个osi模型分哪几层,osi参考模型从哪一层开始(5)

(微波塔示意图)

集线器(hub)
可以把“集线器”视作更牛逼的“中继器”——“中继器”只有两个口(只能连接两个通讯端点),而“集线器”有多个口(同时连接多个通讯端点)。
通常所说的“集线器”是指“以太网集线器”。这种设备如今已经逐步淘汰,很少见到了。

另外,很多同学应该都用过“USB hub”,就是针对 USB 线的“集线器”(“USB 线”也可以视作某种通讯介质)。

整个osi模型分哪几层,osi参考模型从哪一层开始(6)

(老式的10兆以太网集线器)

★链路层:概述◇链路层的必要性

对信息的打包
物理层传输的信息,通俗地说就是【比特流】(也就是一长串比特)。但是对于计算机来说,“比特流”太低级啦,处理起来极不方便。“链路层”要*第一个事情,就是把“比特流”打包成更大的一坨,以方便更上层的协议进行处理。在 OSI 模型中,链路层的一坨,称之为“帧”(frame)。

差错控制
物理介质的传输,可能受到环境的影响。这种影响不仅仅体现为“噪声”,有时候会出现严重的干扰,导致物理层传输的“比特流”出错(某个比特“从0变1”或“从1变0”)。因此,链路层还需要负责检查物理层的传输是否出错。在 IT 行话中,检测是否出错,称之为“差错控制机制”(后面有一个小节会简单说一下这个话题)。

流量控制
假设两个端点通过同一个物理信道进行通讯,这两个端点处理信息的速度可能不同。如果发送方输出信息的速度超过接收方处理信息的速度,通讯就会出问题。于是就需要有某种机制来协调,确保发送方的发送速度不会超出接收方的处理速度。在技术行话中,这称之为“流量控制”,简称“流控”。

信道复用
在上一个章节已经讲到:用于远距离通讯的“物理介质”,总是有成本。因此需要对物理信道进行“多路复用”,就会导致多个端点共用同一个物理信道。如果同时存在多个发送者和多个接收者。接收者如何知道某个信息是发给自己而不是别人?
另外,某些物理介质可能不支持并发(无法同时发送信息)。某些物理介质可能是【半双工】,所有这些物理层的限制,都使得“多路复用”变得复杂。为了解决这些问题,链路层需要提供了某种相应的机制(协议),术语叫做“介质访问控制”(洋文是“Media Access Control”,简称 MAC)。后续小节会聊它。

◇差错控制

为了发现传输的信息是否出错,设计了很多相应的数学算法。这些算法大体分为两类:“检错算法 & 纠错算法”。
简而言之,“检错算法”只能检测出错误,而“纠错算法”不但能检测出错误,还能纠正错误。很显然,“纠错算法”更牛逼,但是它也更复杂。
常见的“检错算法”对传输的数据计算出一个【校验值】,接收方收到数据会重新计算校验和,如果算出来不对,就把收到的数据丢弃,让对方重发。“校验算法”的原理类似于《扫盲文件完整性校验——关于散列值和数字签名》一文中提到的“散列算法/哈希算法”。
“纠错算法”更高级,由于涉及到更多数学,我就不展开啦。
对于【无线】物理信道,由于出错的概率更高,并且重新传输数据的成本也更高。所以【无线】通讯的链路层协议,更倾向于用【纠错】机制;作为对比,【有线】通讯的链路层协议,更倾向于用【检错】机制。

◇MAC 协议

“MAC 协议”用来确保对下层物理介质的使用,不会出现冲突。为了形象,我拿“铁路系统”来比喻,说明“MAC 协议”的用途。
假设有一条【单轨】铁路连接 A/B 两地。有很多火车想从 A 开到 B,同时还有很多火车想从 B 开到 A。
首先,要确保不发生撞车(如果已经有车在 A 开往 B 的途中,那么 B 就不能再发车);其次,即使是同一个方向的车,出发时间也要错开一个时间间隔。
所有这些协调工作,都是靠“MAC 协议”来搞定。

◇MAC 地址

为了完成上述任务,光有“MAC 协议”还不够,还需要为每一个端点引入【惟一的】标识。这个标识就称作“MAC 地址”。
通俗地说,每个网卡都内置了一个“MAC 地址”。这个地址是网卡在出厂的时候就已经设置好的,并且用某种机制确保该地址【全球唯一】。

如何保证 MAC 地址全球唯一捏?简单说一下:
MAC 地址包含6个字节(48个比特),分为两半。第一部分称作【OUI】,OUI 的24个比特中,其中2个比特有特殊含义,其它22个比特,用来作为网卡厂商的唯一编号。这个编号由国际组织 IEEE 统一分配。
MAC 地址第二部分的24比特,由网卡厂商自己决定如何分配。每个厂商只要确保自己生产的网卡,后面这24比特是唯一的,就行啦。

(MAC 地址的构成) 顺便说说【虚拟网卡】的 MAC 地址。
“虚拟网卡”是由【虚拟化软件】创建滴。IEEE 也给每个虚拟化软件的厂商(含开源社区)分配了唯一的 OUI。因此,虚拟化软件在创建“虚拟网卡”时,会使用自己的 OUI 生成前面24个比特;后面的24比特,会采用某种算法使之尽可能【随机化】。由于“2的24次方”很大(224 = 16777216),碰巧一样的概率很低。
(注:如果手工修改 MAC 地址,故意把两块网卡的 MAC 地址搞成一样,那确实就做不到唯一性了。并且会导致链路层的通讯出问题)

★链路层:具体实例◇链路层的【协议】

链路层的协议主要有如下:
MAC 协议(介质访问控制)
LLC 协议(逻辑链路控制)
ARP 协议(解析 MAC 地址)
IEEE 802.3(以太网)
IEEE 802.11 的一部分(Wi-Fi)
L2TP 协议(2层VPN)
PPP 协议(拨号上网)
SLIP 协议(拨号上网)
……
(考虑到篇幅)我不可能具体细聊这些协议,只是贴出每个的XX百科链接,感兴趣的同学自己点进去看。

◇链路层的【协议实现】

对于电脑主机(含移动设备),“网卡硬件 & 网卡驱动”会包含链路层协议的实现(参见如下示意图)。
另外,还有一些专门的【2层】网络设备,也提供链路层的功能(参见下一个小节)。

整个osi模型分哪几层,osi参考模型从哪一层开始(7)

(OSI 模型中,不同层次的协议实现)

◇链路层相关的【网络设备】

网络交换机(network switch)
(注:一般提到“网络交换机”,如果不加定语,指的就是“2层交换机”;此外还有更高层的交换机,在后续章节介绍)
为啥要有交换机捏?我拿“以太网的发展史”来说事儿。
以太网刚诞生的时候,称之为“经典以太网”,电脑是通过【集线器】相连。“集线器”前面提到过,工作在【1层】(物理层),并不理解链路层的协议。因此,集线器的原理是【广播】模式——它从某个网线接口收到的数据,会复制 N 份,发送到其它【每个】网线接口。假设有4台电脑(A、B、C、D)都连在集线器上,A 发数据给 B,其实 C & D 也都收到 A 发出的数据。显然,这种工作模式很(低效)。由于“经典以太网”的工作模式才“10兆”,所以集线器虽然低效,还能忍受。
后来要发展“百兆以太网”,再用这种傻SB的广播模式,就不能忍啦。于是“经典以太网”就发展为“交换式以太网”。用【交换机】代替“集线器”。
交换机是工作在2层(链路层)的设备,能够理解链路层协议。当交换机从某个网线接口收到一份数据(链路层的“帧”),它可以识别出“链路帧”里面包含的目标地址(接收方的 MAC 地址),然后只把这份数据转发给“目标 MAC 地址相关的网线接口”。
由于交换机能识别2层协议,它不光比集线器的性能高,而且功能也强得多。比如(稍微高级点的)交换机可以实现“MAC 地址过滤、VLAN、QoS”等多种额外功能。

网桥/桥接器(network bridge)
“交换机”通常用来连接【同一种】网络的设备。有时候,需要让两台不同网络类型的电脑相连,就会用到【网桥】。
下面以“操作系统虚拟机”来举例(完全没用过虚拟机的同学,请跳过这个举例)。
在这篇博文,我介绍了虚拟机的几种“网卡模式”,其中有一种模式叫做【bridge 模式】。一旦设置了这种模式,Guest OS 的虚拟网卡,对于 Host OS 所在的外部网络,是【双向】可见滴。也就是说,物理主机所在的外部网络,也可以看见这块虚拟网卡。
现在,假设你的物理电脑(Host OS)只安装了【无线网卡】(WiFi),而虚拟化软件给 Guest OS 配置的通常是【以太网卡】。显然,这是两种【不同】的网络。为啥 Guest OS 的以太网卡设置为“bridge 模式”之后,外部 WiFi 网络可以看到它捏?
奥妙在于——虚拟化软件在内部悄悄地帮你实现了一个“网桥”。这个网桥把“Host OS 的 WiFi 网卡”与“Guest OS 的以太网卡”关联起来。WiFi 网卡收到了链路层数据之后,如果接收方的 MAC 地址对应的是 Guest OS,网桥会把这份数据丢给 Guest OS 的网卡。
这种网卡模式之所以称作“bridge 模式”,原因就在于此。

◇链路层相关的【软件工具】

嗅探抓包工具(Sniffer)
要了解链路层的数据包结构,需要用到“嗅探工具”。这类工具能捕获流经你网卡的所有【链路层】数据包。前面聊“协议栈”的时候说过:下层数据包的载荷就是上层数据包的整体。因此,拿到【链路层】数据包也就意味着:你已经拿到2层之上的所有数据包的信息了。
有些抓包工具自带图形界面,可以直接显示数据包的内容给你看。还有些只提供命令行(只是把获取的数据包保存为文件),然后要搭配其它图形化的工具来展示数据包的内容。
抓包的工具有很多,名气最大的是 Wireshark(原先叫做 Ethereal)。

ARP 命令
首先,ARP 是“MAC 地址解析协议”的洋文名称。该协议根据“IP 地址”解析“MAC 地址”。
Windows 自带一个同名的 arp 命令,可以用来诊断与“MAC 地址”相关的信息。比如:列出当前子网中其它主机的 IP 地址以及对应的 MAC 地址。这个命令在 Linux & Mac OS 上也有。

★网络层:概述◇网络层的必要性

路由机制(routing)
在 OSI 模型中,链路层本身【不】提供路由功能。你可以通俗地理解为:链路层只处理【直接相连】的两个端点(注:这么说不完全严密,只是帮助外行理解)
对于某个复杂网络,可能有很多端点,有很复杂的拓扑结构。当拓扑足够复杂,总有一些端点之间【没有直连】。那么,如何在这些【没有直连】的端点之间建立通讯捏?此时就需要提供某种机制,让其它端点帮忙转发数据。这就需要引入“路由机制”。
为了避免把“链路层”搞得太复杂,路由机制放到“链路层”之上来实现,也就是“网络层”。

基于【路由】的地址编码方式
链路层已经提供了某种全球唯一的地址编码方式(MAC 地址)。但“MAC 地址”有如下几个问题:
其一,它是固定的(虽然可以用技术手段去修改 MAC 地址,但很少这么干)
其二,MAC 地址的编码是基于【厂商】,无法体现网络拓扑结构。或者说,“MAC 地址”对于“路由机制”是不够友好滴。
因此,需要引入一种更抽象(更高层)的地址,也就是“网络层地址”。咱们常说的“IP 地址”,是“网络层地址”的实现方式之一。

为了帮你理解,举个例子:
每个人都有身份证号(这就类似于“MAC 地址”)。当某人加入了某个公司,公司会为此人再分配一个“员工号”(这就类似于“网络地址”)。既然有身份证号,为啥公司还要另搞一套“员工编号”捏?因为“员工编号”有额外的好处。比如说:可以把员工号划分为不同的区间,对应不同的部门。这样一来,只要看到员工号,就知道此人来自哪个部门。
类似道理,每个网卡都有自己固定的 MAC 地址,当这个网卡接入到不同的网络,每次都可以再分配不同的“网络地址”。通过“网络地址”可以看出这个网卡属于哪个网络(对路由比较方便)。

网际互联(internetwork)
引入“网络层”的另一个目的是:屏蔽不同类型的网络之间的差异,从而有利于【网际互联】(也就是建立“网络的网络”)。
一般来说,要想联通【异种】网络,就要求每个网络中都有一台主机充当【网关】(gateway)。【网关】起到“中介/翻译”的作用——帮不同的网络翻译协议,使得不同的网络可以互相联通。
假设【没有】统一的网络层,网关的工作就很难做。就好比说:如果全球没有某种通用的自然语言,就需要培养非常多不同类型的翻译人才(假设有30种主要语言,任意两种互译,就需要几百种不同的翻译人才)。
反之,如果有了某种统一的网络层标准,问题就好办多了(还是假设有30种主要语言,只要选定某种作为通用语,然后培养29种翻译人才,就可以实现任意两种语言互译)。
如今的互联网时代,【IP 协议】就是那个充当统一标准的网络层协议。

◇网络拓扑(network topology)

网络的拓扑结构有很多种,有简单的,有复杂的。一般来说,再复杂的拓扑,也可以逐步分解为若干简单拓扑的组合。
对拓扑的研究,有专门一个数学分支(拓扑学)。考虑到本文只是扫盲,我不可能再去聊“拓扑学”。因此,只挑几种简单的拓扑结构,让大伙儿有个直观的印象。

(常见的网状拓扑结构:星形拓扑、环形拓扑、总线拓扑、网状拓扑等等)

如今的互联网,整体的拓扑结构超级复杂。但还是可以逐步分解为上述几种基本的拓扑结构。

(互联网的复杂拓扑,右下角是图中某个小点的放大。

为节省大伙儿的”学习”流量,我贴的是缩小图。

◇互联网的拓扑——从“历史”的角度看其健壮性

从上面那张图可以看出:互联网拓扑的【局部】有很多是“星形拓扑”(当然也有其它的)。但从【宏观】上看,更像是“网状拓扑”。
在现实生活中,对于复杂结构,通常都会采用“树状层次结构”,以便于管理。比如:域名系统、公司组织结构、官僚系统 …… 那为啥互联网的【宏观】拓扑结构是“网状”捏?这就要说到互联网的历史。

在上世纪50年代(冷战高峰期),漂亮国军方的指挥系统高度依赖于电信公司提供的电话网络。当时的电话网络大致如下——
在基层,每个地区有电话交换局,每一部电话都连入当地的交换局。
在全国,设有若干个长途局,每个交换局都接入某个特定的长途局(不同地区的交换局通过长途局中转)。
简而言之,当时漂亮国的电话网络是典型的【多级星形拓扑】。这种拓扑的优点是:简单、高效、便于管理;但缺点是:健壮性很差。从这个案例中,大伙儿可以再次体会到“效率”与“健壮性”之间的矛盾。
话说1957年的时候,苏联成功试射第一颗洲际弹道导弹(ICBM),漂亮国军方开始担心:一旦苏联先用洲际导弹攻击美国,只要把少数几个长途局轰掉,军方的指挥系统就会瘫痪。也就是说,“长途局”已经成为美国军方的【单点故障】(何为“单点故障”?参见这篇博文)。
1960年,美国国防部找来大名鼎鼎的兰德公司进行咨询,要求提供一个应对核打击的方案。该公司的研究员 Paul Baran 设计了一个方案,把“星形拓扑”改为【网状拓扑】。采用【网状拓扑】的好处在于:即使发生全面核大战,大量骨干节点被摧毁,整个网络也不会被分隔成几个孤岛,军方的指挥系统依然能正常运作。

整个osi模型分哪几层,osi参考模型从哪一层开始(8)

栏目热文

osi参考模型分哪层(osi参考模型自下而上分为几层)

osi参考模型分哪层(osi参考模型自下而上分为几层)

OSI参考模型通过划分层次结构,将网络数据传输这个复杂的问题分解为一些相对简单的小问题加以解决。如图3-1所示,OSI参...

2022-11-08 22:51:52查看全文 >>

osi参考模型哪一层最好用(osi参考模型有哪七层特点)

osi参考模型哪一层最好用(osi参考模型有哪七层特点)

学习网络技术,就是研究两台网络设备的通讯流程,我们必须要知道它们之间在通讯的过程中都发生了什么。OSI七层模型就是两台网...

2022-11-08 23:02:50查看全文 >>

osi模型在哪一层(osi七层模型在哪里)

osi模型在哪一层(osi七层模型在哪里)

一、OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识——OSI参考模型。 1、OSI的来源 OSI(Open...

2022-11-08 22:49:23查看全文 >>

i-t曲线异常怎么解决(i-e曲线不能闭合)

i-t曲线异常怎么解决(i-e曲线不能闭合)

;*仅供医学专业人士阅读参考心电图是心内科医生判断疾病的重要工具,但是很多医生并没有吃透心电图。究其原因,是我们在日常诊...

2022-11-08 23:02:02查看全文 >>

i-size的优缺点(i-size认证查询系统)

i-size的优缺点(i-size认证查询系统)

【不满格评测·原创】我家里只有一个女儿,不过我已经用过5款儿童安全座椅了。这种近乎“变态”的行为确实很难让人理解,但是为...

2022-11-08 23:24:11查看全文 >>

安全级别b类什么意思(安全级别一览表)

安全级别b类什么意思(安全级别一览表)

衣服是用来遮身、保暖、装饰的,但有一天,它可能也变成了一个慢性毒药。最近,国家市场监管理局对于市场上各种商品进行抽检。其...

2022-11-08 23:14:41查看全文 >>

osi模型在哪层(osi第二层模型是什么)

osi模型在哪层(osi第二层模型是什么)

ISO/OSI模型的七个分层应用层:本层完成要执行的通讯任务和要提供的功能和服务。表示层:需要告知通讯伙伴将要接收的数据...

2022-11-08 22:50:59查看全文 >>

安全级别c类(安全类别c类是最差的吗)

安全级别c类(安全类别c类是最差的吗)

今天要和大家分享的是:汽车拧紧装配和工艺保证——众里寻ta千百度 拧紧设备选型。产品规划设计师在设计生产线的时候,经常会...

2022-11-08 23:34:18查看全文 >>

osb定向结构是什么(osb和定向osb的区别)

osb定向结构是什么(osb和定向osb的区别)

装修前,你可能需要先认识一下OSB(欧松板) 欧松板(OrientedStrandBoard),专业学名叫“定向结构刨花...

2022-11-08 23:24:58查看全文 >>

ii和iii类工具是什么(一类工具二类工具三类工具的区别)

ii和iii类工具是什么(一类工具二类工具三类工具的区别)

电动工具的概念和分类:用手握持操作,以小功率电动机或电磁铁作为动力,通过传动机构来驱动作业工作头的工具叫做:电动工具。其...

2022-11-08 23:31:39查看全文 >>

文档排行