OSI网络七层模型详解

胖大海
• 阅读 207

一、网络的目的

网络的目的是为了实现主机到主机的通信。

最简单的通信方式是拿一根网线,两头分别插在两台主机上,然后将主机A IP地址配为192.168.1.20,将主机B IP地址配为192.168.1.23,然后这两台主机就可以互相通信了,他们在一个局域网内。这是最简单的实现两台主机互通的方式。

OSI网络七层模型详解

二、OSI网络模型

OSI网络模型是ISO组织定义的国际通用标准模型,其目的是为了制定全球统一的网络模型标准,让全球内的国家、组织可以实现网络互通。

OSI模型一共分为七层,如下图所示:

OSI网络七层模型详解

那么为什么网络模型要分层呢?就像一个公司要分很多部门一样,每个部门各司其职,网络模型分层的目的也是为了这样,另外分层还能达到降低复杂性、统一标准、工程模块化、快速发展、易于学习掌握等目的。

但是我们也知道,公司的每个部门之间不可能是完全独立的,部门和部门之间肯定是有一定联系的。所以在OSI七层模型中,相邻层之间也都是有联系的,比如,物理层和数据链路层,数据链路层和网络层,网络层和传输层等等,他们之间都是有一定联系的。这个联系就叫做服务接入点,简称SA(service access)。所以正是因为相邻两层之间有SA,这两层之间才会有联系。相邻两层之间必须有服务接入点。

三、OSI 七层网络模型作用

1、物理层

物理层虽然是整个模型的最底层,但是他的作用是非常大的。物理层的作用就是保证双向传输,双向通讯。就好像修路一样,把两个地方之间的路修通,至于上边是跑货车、跑车、自行车等等,就不管了。由于OSI模型是为了制定统一标准的,所以在物理层也有很多统一标准,包括电气特性统一、机械特性统一、功能特性统一、规程特性统一这四个方面。一定要在这四个层面上建立起高度的统一,才能够实现网络在全球范围内互通的目标。

(1)电气特性统一

什么是电气特性统一呢? 所谓电气特性就是定义电气的标准。比如我们的二头插座、三头插座,我们都知道三头插座中其实是连着三根线,分别是地线、火线和零线。地线是接地的,它的作用就是把产生的静电导到地面上,从而保证安全。其他两根线也有各自的作用。所以电气特性统一就是把火线、地线、零线这三种线的标准和功能统一起来。

(2)机械特性统一

世界上插头形状都是二孔或三孔的,即使是欧标、美标形状也都是几乎一样的。我们没有见过五角形、月亮形、菱形的插头。所以世界上各个国家生产的网络电气大小、规格、尺寸等机械特性都是要完全一样的,这就是机械特性统一。

(3)功能特性

例如网线里边其实是有八根线的,每根线颜色不同所代表的功能也不一样,这就是功能特性。

(4)规程特性

例如各个厂商生产的水晶头规格必须完全一样。

所以物理层的作用就是提供了网络的双向通讯,为双向传输提供了有保障的通路。其中定义了四个统一的特性:电气特性、机械特性、功能特性、规程特性。

2、数据链路层

交换机就是工作在二层数据链路层。链路层主要有三个功能。

(1) 它提供了通讯过程中要用到的MAC地址。计算机在通信过程中,一共要用到两个地址,一个是逻辑IP地址,一个是物理MAC地址,MAC地址就是由数据链路层提供的。MAC: media access control 。MAC地址就是物理地址,而物理地址其实就是我们的网卡地址。

(2)负责数据帧的转发。数据链路层传输的数据被称为数据帧。

(3)提供错误检测机制。例如通过交换机,两个PC在相互通信,PC1作为发送方,PC2作为接收方,交换机会对发送的数据进行数据检测,如果它发现传输的数据有丢失的情况,它会通知接收方丢失的数据并通知发送方重传数据。

交换机仅有连接内网的功能。比如我们教室里有40个同学,我们有一个48端口的交换机,如果每个同学拿一根网线插在交换机上,那么这40个同学是可以互相通信的,但是没法访问外网。如果要访问外网,就需要用到路由器。

3、网络层

路由器工作在第三层网络层。网络层一共有四个功能

(1)提供逻辑IP地址。

(2)连接不同的媒介类型(内网和外网),使不同的媒介之间可以相互通信。比如我们的路由器一端连接着企业内网,一端连接着外网,此时路由器的功能就是连接内网和外网,使之能够相互通信。所以网络层的第二个作用就是连接不同的媒介类型,内网和外网就是不同的媒介。

(3)根据路由器运行的不同的路由协议选择最佳路径。比如说早上起来从家到公司上班,可以有好多条路可以走,如果是开车的人,可能会选择不堵车的路,如果是坐公交的 人,会选择尽量换乘少的路,所以可以得到一个结论,从同一个源到同一个目的地,根据出行方式不同,可以有不同的所谓的最佳路径。在我们的网络层也是同一个道理,在整个网络层中,一共有6种动态路由协议,每一种路由协议都有自己不同的选路的方式,比如说RIP路由协议,这个协议选路的方式就是哪近走哪,还有的协议是根据最大带宽来选择最佳路径。所以工作在网络层的路由器,就会根据自己身上运行的不同路由协议来选择自己认为的最佳路径。

(4)在选好的最佳路径上负责路由数据包。

4、传输层

传输层的功能是它提供了端口号码的概念(port)。什么是端口号码呢? 比如我用微信给小A发信息,小A用微信接收并查看,但是谁规定的我同微信给他发的信息,他必须用微信接收呢?他为什么不打开QQ,word接收呢?这个就是传输层规定的。换句话说,在通信的过程中,我们需要MAC地址和IP地址来通信,我们还需要知道对方的MAC和IP,因为我需要MAC和IP才能找到你,所以可以理解为这两个地址是定位你存在的。但是找到你只代表能ping通你,但是我要怎么和你发生通信和服务请求呢?IANA规定,网络中的每一种应用或者每服务都有自己的一个或者多个固定的端口号码,比如网页一般是80端口,SMTP是25端口,DNS是53端口,FTP是20,21端口等等。我们可以根据端口号来识别对应的服务。比如微信是3346端口,我在给小A发信息时,数据中会带着3346的端口号,所以小A的电脑会根据端口号也用微信接收信息。

网络工程师一般重点关注上述四层,也就是最下4层。

5、会话层

会话层的作用是负责在应用程序之间建立维护并拆除会话连接。

6、表示层

表示层的作用是负责数据加密。其提供了四种常见的加密方式。

(1)对称加密: 加密方与解密方使用相同的密钥

(2)非对称加密:一把私钥、N种公钥

(3)HASH 256加密

(4)光密

7、应用层

给用户和抽象的网络之间提供一个接口,使用户可以通过使用应用程序、app来使用整个的6层网络模型。

大家如果缺乏机器训练的话,可以去cnaaa看看!

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
CIDR的IP地址的表示与划分方法
早期的ip地址划分:最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址是一个32位的二进制字符,为了方便人类的记忆,所以,通常人们会将二进制的IP地址表示成十
Wesley13 Wesley13
2年前
VirtualBox网络NAT模式的端口映射设置
VirtualBox的提供了四种网络接入模式,它们分别是:1、NAT网络地址转换模式(NAT,NetworkAddressTranslation)2、BridgedAdapter桥接模式3、Internal内部网络模式4、HostonlyAdapter主机模式其中NAT模式是最简单的实现虚拟机上网的方式,可以认为
Stella981 Stella981
2年前
Linux路由:CentOS6的多种玩法
  将一台Linux主机作路由器使用,这本是件很容易的事情,利用Linux主机强大的网络功能,很轻松就实现了。这里在虚拟机环境下设定一台CentOS主机通过另一台CentOS主机路由接入Internet网。具体方法列述如下。  VMware虚拟软件的宿主机已经正常上网。若非如此,虚拟机上网无从谈起。首先在虚拟机上克隆两台CentOS主机,具体方法使用VM
Wesley13 Wesley13
2年前
TCP协议
ISO/OSI网络模型共有七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。TCP/IP网络模型:应用层,传输层,网际层,网络接口!(https://static.oschina.net/uploads/img/201711/291518
Wesley13 Wesley13
2年前
RHEL7
使用DHCP动态管理主机地址动态主机地址管理协议DHCP是一种基于UDP协议且仅限在局域网内部使用的网络协议,主用于大型的局域网环境或者存在较多移动设备的局域网中;DHCP协议根据作用域来管理网络的分布;作用域一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布,分配IP及配置参数;超级作用域管理处于同一个物理网
Stella981 Stella981
2年前
Docker容器跨主机通信
一、Docker主机间容器通信的解决方案  Docker网络驱动1.Overlay:基于VXLAN封装实现Docker原生Overlay网络2.Macvlan:Docker主机网卡接口逻辑上分为多个子接口,每个子接口标识一个VLAN。容器接口直接连接Docker主机3.网卡接口:
Wesley13 Wesley13
2年前
OSI模型——传输层
OSI模型——传输层运输层运输层概述运输层提供应用层端到端通信服务,通俗的讲,两个主机通讯,也就是应用层上的进程之间的通信,也就是转换为进程和进程之间的通信了,我们之前学到网络层,IP协议能将分组准确的发送到目的主机,但是停留在网络层,并不知道要怎么交给我们的主机应用进程,通过前面的学习,我们学习有mac地
Wesley13 Wesley13
2年前
DHCP服务搭建(1)
一、DHCP概述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。DHCP协议采用客户端/服务器模型,主机地址的动态分
Stella981 Stella981
2年前
Linux网络基础(一)——网络模型
【网络模型】1.OSI七层模型:(从高到低)应用层表示层会话层传输层网络层数据链路层物理层2.TCP/IP四层网络模型:接入网层网间网络层传输层应用层3.IP地址:——32位的二进制表示,通常用4组8位二进制
Wesley13 Wesley13
2年前
TCP三次握手与四次握手
背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。UDP,在传送数据前不需要
胖大海
胖大海
Lv1
故园东望路漫漫,双袖龙钟泪不干。
文章
62
粉丝
3
获赞
28