OSI模型-这是目前为止见过最好理解的表述!

这是目前为止见过最好理解的表述!

开放系统互连模型(OSI模型)解释了Internet运行所需的所有各个功能。

它是由七个独立功能组成的集合,这些功能组合起来完成了计算机到计算机通信的最终目标。

就像汽车由独立的功能组成,这些功能相结合以完成使汽车前进的最终目标:电池为电子设备供电,交流发电机为电池充电,发动机旋转驱动轴,车轴将驱动轴的旋转传递给车轮, 等等。

每个单独的零件都可以独立更换或维修,只要每个单独的零件都能正常工作,汽车就会向前行驶。

OSI模型分为七个不同的层,每个层执行非常特定的功能。当组合在一起时,每个功能都有助于实现完整的计算机到计算机数据通信。

OSI模型-这是目前为止见过最好理解的表述!

在本文的其余部分中,我们将研究OSI模型的各个单独的层以及它们各自的职责。 

OSI第1层-物理


OSI模型的物理层负责传输位-组成所有计算机代码的1和0。

该层表示在两个节点之间承载流量的物理介质。例如以太网电缆或串行电缆。但是不要太着迷于“ Physical”(物理)这个词,这一层是在1970年代命名的,早在网络中的无线通信才是一个概念。这样,尽管没有物理上的,有形的存在,WiFi也被认为是第1层协议。

简而言之,第1层是在两个节点之间带有1和0的任何东西。

“导线”上数据的实际格式可能因每种介质而异。在以太网的情况下,位以电脉冲的形式传输。对于Wifi,比特是以无线电波的形式传输的。对于光纤,比特以光脉冲的形式传输。

OSI模型-这是目前为止见过最好理解的表述!

 除物理电缆外,中继器和集线器也在此层运行。

中继器简单地将信号从一种介质中继到另一种介质,从而允许将一系列电缆以菊花链方式链接在一起,并扩大信号可以传播的范围,超出单个电缆的限制。这些通常在大型WiFi部署中使用,在单个WiFi网络中,多个访问点将“重复”一个WiFi网络以覆盖更大的范围。

集线器只是一个多端口中继器。如果将四个设备连接到单个集线器,则一台设备发送的任何内容都会重复发送到其他三个设备上。

 

OSI第2层–数据链接


OSI模型的数据链路层负责与物理层的接口。实际上,第2层负责将1和0放在电线上,并从电线上拉1和0。

您将以太网线插入的网络接口卡(NIC)处理第2层功能。它从电线接收信号,并将信号传输到电线。

您的WiFi NIC以相同的方式工作,接收和发送无线电波,然后将其解释为一系列的1和0。

然后,第2层会将这些1和0组合在一起,称为“框架”。

在第2层存在一个寻址系统,称为媒体访问控制地址或MAC地址。 MAC地址唯一地标识每个单独的NIC。每个NIC由制造商预先配置了MAC地址;实际上,它有时被称为烧入地址(BIA)。

OSI模型-这是目前为止见过最好理解的表述!

 除您的NIC外,Switch也在此层运行。交换机的主要职责是促进网络内的通信(此想法将在本系列的后续文章中得到扩展)。

数据链路层的主要功能是将数据包从一个NIC传送到另一个NIC。或者换一种说法,第二层的作用是在跳到跳之间传递数据包。

 

OSI第3层-网络


OSI模型的网络层负责从端到端的数据包传递。

它通过使用另一种寻址方案来做到这一点,该方案可以逻辑上识别连接到Internet的每个节点。此寻址方案称为Internet协议地址或IP地址。

由于IP地址不是计算机的永久标识,因此将其视为逻辑上的。与被视为物理地址的MAC地址不同,制造商不会将IP地址刻录到任何计算机硬件中。

路由器是在OSI模型的第3层上运行的网络设备。路由器的主要职责是促进网络之间的通信。这样,路由器会在两个网络之间创建边界。为了与不直接在网络中的任何设备通信,必须使用路由器。

 

OSI模型–第2层与第3层


第2层和第3层之间的交互作用和区别对于理解数据如何在两台计算机之间流动至关重要。例如,如果我们已经在每个NIC上都有一个唯一的L2寻址方案(例如MAC地址),为什么我们在L3上还需要另一个寻址方案(例如IP地址)?或相反亦然?

答案是两种寻址方案都可以完成不同的功能:

第2层使用MAC地址,并负责从一跳到另一跳的数据包传递。
第3层使用IP地址,并负责端到端的数据包传递。

当计算机要发送数据时,它将其封装在IP标头中,该标头将包含通信两个``端''的源IP地址和目标IP地址等信息。

然后将IP标头和数据进一步封装在MAC地址标头中,该标头将包含信息,例如在通往最终目的地的路径中当前``跃点''的源和目标MAC地址。

这是说明这一点的示意图:

OSI模型-这是目前为止见过最好理解的表述!

 请注意,在每个路由器之间,MAC地址标头被剥离并重新生成以使其到达下一跳。第一台计算机生成的IP报头仅被最终计算机剥离,因此IP报头处理了``端到端''传递,并且此动画中涉及的四个不同MAC报头中的每一个都处理了``跳到跳''传递。

OSI第4层-传输


OSI模型的传输层负责区分网络流。

在用户计算机上的任何给定时间,可能正在打开Internet浏览器,正在播放音乐,正在运行Messenger或聊天应用程序。这些应用程序中的每一个都正在从Internet发送和接收数据,所有这些数据都以1和0的形式到达该计算机的NIC。

为了区分哪个1和0属于Messenger,浏览器或流音乐,必须存在一些东西。那个“东西”是第4层:

OSI模型-这是目前为止见过最好理解的表述!

第4层通过使用称为端口号的寻址方案来实现此目的。

具体地,存在区分网络流的两种方法。它们被称为传输控制协议(TCP)或用户数据报协议(UDP)。

TCP和UDP都有65,536个端口号(每个),并且唯一的应用程序流通过源端口和目标端口(以及它们的源IP地址和目标IP地址)进行标识。

TCP和UDP在数据流的传输方式上采用了不同的策略,它们的区别和内部工作方式都很引人入胜且有意义,但不幸的是,它们不在本系列文章的讨论范围之内。它们将成为未来文章或系列的主题。

总而言之,如果第2层负责跳到跳的传递,而第3层负责端到端的传递,那么可以说第4层负责服务到服务的传递。 

OSI第5、6和7层


OSI模型的Session,Presentation和Application层处理最终步骤,然后将通过网络传输的数据(由1-4层促进)显示给最终用户。

从纯粹的网络工程角度来看,第5、6和7层之间的区别不是特别重要。实际上,还有另一种流行的Internet通信模型称为TCP / IP模型,该模型将这三层分组为一个单一的包含层。

如果您参与了软件工程,那么区别将变得更加重要。但是,由于这不是本系列文章的重点,因此我们不会深入探讨这些层次之间的差异。

许多网络工程师将这些层简称为L5-7或L5 +或L7。在本系列的其余部分,我们将做同样的事情。

封装和解封装
在继续进行OSI模型之前,我们需要讨论的最后一项是封装和解封装。这些术语指的是在发送时如何将数据从上到下移动,而在接收时如何从下到上。

随着数据从一层到另一层的传递,每一层都会添加完成完整数据报转换为1和0并通过网络发送之前完成其目标所需的信息。例如:

第4层将添加一个TCP头,其中将包括一个源端口和目标端口
第3层将添加一个IP标头,其中包括源IP地址和目标IP地址
第2层将添加一个以太网标头,其中包括源MAC地址和目标MAC地址
在接收端,每一层从数据中剥离标题,并将其向上传递回堆栈到应用层。这是整个过程:

OSI模型-这是目前为止见过最好理解的表述!

注意,这仅是示例。将添加的标头将取决于基础通信协议。例如,可以在第4层上添加UDP头,或者在第3层上添加IPv6头。

无论哪种方式,重要的是要理解,当数据通过电线发送时,它会沿着堆栈向下传递,并且每一层都添加自己的标头以帮助完成目标。在接收端,随着数据被发送回应用层,报头被逐层剥离。 

本文将不同的网络功能分类为OSI模型的不同层。虽然OSI模型本身对于理解数据包如何通过网络是至关重要的,但它并不像概念模型那样严格,它并不是一个严格的要求—并非每个协议都完全适合OSI模型的单个层。

原文链接:http://www.practicalnetworking.net/series/packet-traveling/osi-model/