首页 > 技术文章 > osi七层模型

wzcc 2021-11-17 15:43 原文

介绍

 七层模型,亦称OSI(Open System Interconnection)。

参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

 OSI作用

 

 

 

 

 

 

 

 

一、物理层的基本功能。

物理层是OSI参考模型的最低层,它利用传输介质为通信的主机之间建立,管理和释放物理连接,实现比特流的透明传输(传输单位是比特),保证比特流通过传输介质的正确传输。

物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。

1、与数据链路的关系。

物理层屏蔽了物理层采用的传输介质,通信设备和通信技术的差异性,指定不同类型的物理协议,使得数据链路只需要考虑如何使用物理层的服务,而不用考虑物理层采用了那种传输介质。

2、物理层协议类型。

  1. 计算机网路使用的通信线路分为两类:
  2. 点-点通信线路:连接两台通信的主机
  3. 广播通信线路:一条公共通信线路可连接多个主机
  4. 基于这两种线路,物理协议类型可分为两类:
  5. 1 基于点-点通信线路的物理层协议 2. 基于广播通信线路的物理层协议

 

 广播通信线路又分为有线通信线路和无线通信线路两类

(1)有线通信线路的10Base-2,10Base-5,10Base-T,100Base-T,100Base-TX等
(2)无限通信线路的802.11无线局域网标准协议,无线城域网802.16标准协议,以及无线个人区域网802.15.4标准协议

 

二、物理层的数据传输

传输数据单元:帧 (Frame)

典型的设备:网桥,交换机

外文名: Data Link Layer

所属垂类: 计算机网络

介绍

数据链路层是OSI参考模型中的第二层,介乎于物理层网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输相邻节点的目标机网络层。

 

1. 信息,数据和信号的关系。

假如发送端发送一个英文单词“NETWORK”,显然在物理层的传输介质中不可能直接传输“NETWORK”。

计算机首先要把“NETWORK”(信息)按照ASCII编码转换成二进制代码(数据),然后把二进制代码通过数据信号编码器转换成一种特定的电信号(信号),

最后信号由发送端的发送设备通过传输介质发送到接受端计算机。

2. 物理层的数据传输类型

在传输介质上传输的信号分为2种类型:
1. 模拟信号:电平幅度连续变化的电信号,例如人的语音,电话线路就是用来传输模拟信号的
2. 数字信号:两种不用的电平表示0,1比特序列电压跳变的脉冲信号

调制:将发送端的数字信号变换为模拟信号
解调:将接收端的模拟信号变换为数字信号

简单来说

物理层是实现我们电脑互传而传递的是“0”和“1”这样的数据,这样的数据是没有任何意义的,所以需要有对应的解读方法。

三、网络层

传输数据单元:数据包(Packet )

典型的设备:路由器,防火墙、三层交换机

硬件代表:路由器

介绍

介于 传输层 和 数据链路层 之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的 数据通信 ,将数据设法从源端经过若干个中间 节点 传送到目的端,从而向运输层提供最基本的端到端的 数据传送 服务。

1、协议介绍:

  1. IP(网络互联协议):为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务
  2. ICMP(Internet控制报文协议):是一种面向无连接的协议,用于传输出错报告控制信息
  3. ICMPv6(互联网控制信息协议版本六):为了与IPv6配套使用而开发的互联网控制信息协议,向源节点报告关于目的地址传输IPv6包的错误和信息,具有差错报告、网络诊断、邻节点发现和多播实现等功能
  4. ARP(地址解析协议):据IP地址获取物理地址的一个TCP/IP协议
  5. RARP(反向地址转换协议):发出要反向解析的物理地址并希望返回其对应的IP地址,应答包括由能够提供所需信息的RARP服务器发出的IP地址

2、网络层的基本概念

网络层上层为传输层,下层为数据链路层,它通过路由选择算法,为IP分组从源主机到目的主机选择一条合适的传输路径,为传输层端—端数据传输提供服务。

3、网络层IP协议的基本内容

网络层中的网络协议是IP,IP协议的分类有IPv4和IPv6

四、传输层

传输数据单元:数据段 (Segment)

典型的设备:进程和端口

作用:提供可靠和尽力而为的传输

 介绍

通过网络层让我们建立主机与主机的通信,而传输层的功能就是建立端口到端口的通信通道,这样就可以实现程序之间的数据通信。

 

1、代表:网关

通过MAC和IP地址,帮助我们找到互联网上任意两台主机来建立通信。
然而这里有一个问题,找到主机后,主机上有很多程序都需要用到网络,比如说你在一边听歌和使用QQ聊天, 当网络上发送来一个数据包时,
该怎么知道它是表示聊天的内容还是歌曲的内容的, 这时候就需要一个参数来表示这个数据包是发送给那个程序(进程)来使用的,这个参数我们就叫做端口号
主机上用端口号来标识不同的程序(进程),端口是0到65535之间的一个整数,0到1023的端口被系统占用,用户只能选择大于1023的端口

2、常用协议介绍

  • TCP (Transmission Control Protocol )传输控制协议提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。可靠的全双工信道。可靠、有序、无丢失、不重复。
  • UDP (User Datagram Protocol )用户数据报协议发送数据前无需建立连接,不使用拥塞控制,不保证可靠交付,最大努力交付。
  • DCCP (Datagram Congestion Control Protocol )数据报拥塞控制协议
  • SCTP (STREAM CONTROL TRANSMISSION PROTOCOL )流控制传 输协议
  • RTP(Real-time Transport Protocol )实时传送协议
  • RSVP (Resource ReSer Vation Protocol )资源预留协议
  • PPTP ( Point to Point Tunneling Protocol )点对点隧道协议

3、TCP

TCP是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信端点之间提供一条具有下列特点的通信方式: [1] 
(1)基于流的方式;
(2)面向连接;
(3)可靠通信方式;
(4)在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;
(5)通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。
为满足TCP协议的这些特点,TCP协议做了如下的规定: [10] 
①数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;
②到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认;
③超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片;
④滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出;
⑤失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
⑥重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
⑦数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。
 
 
4、TCP协议三次握手和四次挥手
1.三次握手
形象比喻
将小明当作客户端,小红当作服务器端,两人写信告白:
第一次握手:
小明告诉小红:我喜欢你。
第二次握手:
小红告诉小明:我知道了,我也喜欢你。
此时小红并不确定小明是否收到了告白信,直到
第三次握手:
小明回信:我也知道了,我们在一起吧。此时才真正建立连接。
标记位 解释
SYN 请求号标记位
ACK 确认号标记位
seq 序号,代表请求方将会发送的数据的第一个字节编号
ack 返回的确认号,代表接收方收到收据后(也就是前面说的seq),代表希望对方下一次传输数据的第一个字节编号

 

 

 

 

 

 

状态位 解释
CLOSED client处于关闭状态
LISTEN server处于监听状态,等待client连接
SYN-RCVD 表示server接受到了SYN报文,当收到client的ACK报文后,它会进入到ESTABLISHED状态
SYN-SENT 表示client已发送SYN报文,等待server的第2次握手
ESTABLISHED 表示连接已经建立

 

 

 

 

 

 

 

2.四次挥手

 

形象比喻
恋爱之后,小明和小红煲电话粥。依旧将小明当作客户端,小红当作服务器端。小明跟小红说话,
第一次挥手:
小明说:我说完了。
第二次挥手:
小红说:好的,我知道了,我还没说完。
小红继续吧啦吧啦,说完之后
第三次挥手:
小红告诉小明:我说完了。
第四次挥手:
小明收到后告诉小红:好的,我知道了。等了2MSL之后小明挂断了。
如果此时小红说完,等了2MSL,小明一直不出声,这个时候就会重新说一次:我说完了。直到收到小明最后的回复,才挂断电话。

状态位: FIN = 1:代表要求释放连接

第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

五、会话层

OSI七层模型第五层:会话层,Session Layer

OSI会话层,主要功能是用来管理网络设备的会话连接,细分为三大功能:

建立会话:A、B两台网络设备之间要通信,要建立一条会话供他们使用,在建立会话的过程中也会有身份验证,权限鉴定等环节;
保持会话:通信会话建立后,通信双方开始传递数据,当数据传递完成后,OSI会话层不一定会立刻将两者这条通信会话断开,它会根据应用程序和应用层的设置对该会话进行维护,在会话维持期间两者可以随时使用这条会话传输局;
断开会话:当应用程序或应用层规定的超时时间到期后,OSI会话层才会释放这条会话。或者A、B重启、关机、手动执行断开连接的操作时,OSI会话层也会将A、B之间的会话断开。

举个例子来理解OSI会话层:
OSI会话层功能一、建立会话

A、B两台电脑,A向B共享了一个文件夹,B通过执行“开始菜单–>运行–>\192.168.1.1 (A的ip地址)”访问A的共享文件夹,这时B电脑上会弹出一个验证框,要求输入A电脑上的账号密码,输入A电脑的账号和密码后,就能够访问A共享出来的文件夹;

Windows系统中共享文件用的是SMB协议,这是一个会话层的协议。

注意:如果在A电脑上设置了这个账号没有对这个共享文件夹的访问权限,那么B进入A的共享文件列表时,是无法进入这个共享文件夹的,因为没有权限。(这是会话建立时的身份验证、权限鉴定的过程)

这就在A、B电脑上都建立了一个会话。由OSI会话层完成,这就是OSI会话层的“建立会话”功能。

OSI会话层功能二、保持会话

假设系统中将SMB的会话断开时间设置为60分钟,电脑B从A共享的文件夹里拷贝了自己需要的文件只花了10分钟,然后关闭了A的共享窗口。

注意,这时B关闭的是一个进程,而不是这条会话。

过了5分钟,A又向B共享了一个新的文件,B再次执行“开始菜单–>运行–>\192.168.1.1 (A的ip地址)”访问A的共享文件夹,这时你会发现,不用再次验证A的用户名和密码了,直接就可以进入A的共享文件夹。因为这条会话还没断开,之前的身份和权限验证的过程直接省略了。

这就是OSI会话层的“管理会话”功能。

OSI会话层功能三、断开连接:

A又向B共享了另外一个文件,然后电脑A这时又重启了一下电脑,电脑B再次执行“开始菜单–>运行–>\192.168.1.1 (A的ip地址)”访问A的共享文件夹,这时会发现,要再次输入A的用户名和密码。

因为在电脑A重启电脑的时候,电脑A的OSI会话层会将这条连接释放掉。

或者当60分钟过了时,电脑A、B也会释放这条连接。

这就是OSI会话层的“断开连接”功能。

现在你是不是知道了OSI会话层的作用了呢?联想一下你平时上网时,还有哪些网络应用可以看到这些功能的踪迹呢。

OSI会话层的PDU为:SPDU(OSI会话层协议数据单元)

 六、表示层

数据的表示、安全、压缩。可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
格式有:JPEG、ASCll、DECOIC、加密格式等。

应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。

表示层管理数据的解密与加密,如系统口令的处理。例如:在 Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。

 

表示层(Presentation)为不同终端的上层用户提供数据和信息正确的语法表示变换方法。如文本文件的ASCII格式和EBCDIC,用于表示数字的1S或2S补码表示形式。

表示层的主要功能

  • 数据语法转换
  • 语法表示
  • 连接管理
  • 数据处理
    • 数据加密和解密
    • 数据压缩和解压
    • 数据编码和解码

OSI表示层功能:电脑从网卡收到一串数据时,这些数据在电脑中都是都是二进制的格式,我们人类是看不懂二进制的,就需要表示层帮忙将这些二进制转换成我们能够识别的数据。

七、应用层

这是OSI的最高层。这一层的协议直接为用户服务,提供分布式处理环境。应用层管理开放系统的互连,包括系统的启动、维持和终止,并保持应用进程间建立连接所需的数据记录,其他层都是为支持这一层的功能而存在的。

一个应用是由一些合作的应用进组成的,这些应用进程根据应用层协议互相通信。应用进程还是数据交换的源和宿,也可以被看作是应用层的实体。应用进程可以是任何形式的操作过程,例如,手工的、计算机化得或工业和物理过程等。这一层协议的例子有在不同系统间传输文件的协议、电子邮件协议和远程作业录入协议等。

常见的表示层协议

  • AFP
  • APPC
  • BitTorrent
  • CFDP
  • DHCP
  • DNS
  • FTAM
  • FTP
  • Gopher
  • HTTP
  • IMAP
  • iTMS
  • IRC
  • LDAP
  • Modbus
  • NFS
  • NNTP
  • NTP
  • POP3
  • SIP
  • SMB
  • SMTP
  • SNMP
  • SNTP
  • SSH
  • Telnet
  • TFTP
  • TSP
  • Whois
  • X.400
  • X.500

 

 

推荐阅读