OSI七层模型

OSI的来源


OSI(Open System Interconnect),即开放式系统互联,一般称之为OSI参考模型,是ISO国际组织和国际电报电话咨询委员会在1985年联合定制研究的网络互连模型。先有模型,后有协议,先有标准(理论)后有的实践,它推动了网络应用的的普及和相关的规范。

OSI引入了服务、接口、协议、分层的概念,先看总结一张图。图片来自科来·网络通讯协议图,最新版的更详细了。

OSI七层模型的划分(从低向高):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都有各自的协议和功能实现,并且可以与相邻层的交互通信。各层提供的服务和解释如下:

OSI七层模型 各层提供的服务 主要功能 涉及协议
应用层 为应用程序提供服务 运输访问、电邮等 HTTP(S)、FTP、SMTP等
表示层 数据格式转化、数据加密 同服务 Telnet、Rlogin、SNMP、Gopher
会话层 建立、管理和维护会话 同服务 SSL、TLS、RPC
传输层 建立、管理和维护端到端的连接 同服务 TCP、UDP
网络层 IP选址及路由选择 寻址和路由选择 IP、ICMP等
数据链路层 提供介质访问和链路管理 帧编码和误差纠正控制 PPTP、ARP、RARP等
物理层 提供各种传输介质 提供传送数据通路和数据 IEEE802.1A,IEEE802.2、Ethernet

各层详细功能


应用层

应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用,它定义的是应用进程(即主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。常用的应用层协议有:域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议等等。应用层交互的数据单元称为报文,工作在应用层的协议,才有源端口与目的端口之分。

DNS域名系统

域名系统(Domain Name System缩写 DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com ,Oracle公司的域名是 www.oracle.com ,Cisco公司的域名是www.cisco.com 等。

HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法,它的特点是无连接(限制每次连接只处理一个请求)、媒体独立、无状态(对于事务处理没有记忆能力)。

超文本:用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本

SMTP(Simple Mail Transfer Protocol)简单邮件传输协议

SMTP是一种提供可靠且有效的电子邮件传输的协议,属于TCP/IP协议族。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。

表示层

表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。它就如同应程序和网络之间的翻译官,主要解决用户信息的语法表示问题,数据的压缩、解压、加密、解密都在该层完成。加密分为链路加密和端到端的加密,对于表示层,参与的属于端到端的加密,指信息由发送端自动加密,并进入TCP/IP数据包封装,然后作为不可阅读和不可识别的数据进入互联网,最后到达目的地后再进行解密成为可读数据。

会话层

会话层就是负责建立、管理维护和终止表示层实体之间的通信会话,并对数据交换进行管理。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。会话层的协议主要有SSL安全协议及其继任者TLS、远程过程调用协议RPC。

SSL安全套接字层协议:

安全套接层 (SSL) 是一种协议,支持服务通过网络进行通信而不损害安全性。它在客户端和服务器之间创建一个安全连接。然后通过该连接安全地发送任意数据量。要使服务器和客户机使用 SSL 进行安全的通信,服务器必须有两样东西:密钥对(Key pair)和证书(Certificate) 。例如如今的大部分网站都支持HTTPS,就是使用了该协议,网站安装了证书后即可开启。

TLS传输层安全协议:

用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。TLS的最大优势就在于:TLS是独立于应用协议,相较于SSL更加安全。

传输层


传输层位于OSI参考模型正中间,具有承上启下的核心作用,它是OSI中最重要的,最关键的一层,是唯一负责总体的数据传输和数据控制的一层,它提供端到端的交换数据的机制,传输层对会话层和以上的高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。在传输层上所传送的数据单位是报文段,其核心部分的协议就是TCP和UDP协议。

TCP传输控制协议:

TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一 个已收到消息的通知。这个消息叫做确认应答(ACK(Positive Acknowled-gement)意指已经接收。)它的优势是可靠性好,劣势是速度慢,占用系统资源高,易被攻击。

上述这些确认应答处理、重发控制以及重复控制等功能都可以通过序列号实现,通过序列号和确认应答号,TCP可以实现可靠传输。

重发的情况就两种:一种是数据收到了,应答没有收到,第二种是数据没有收到。

TCP三次握手,见TCP三次握手

应用 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP3(收)、SMTP(发)等邮件传输的协议。常见使用TCP协议的应用:

  • 浏览器:HTTP(S)
  • FlashFXP:FTP
  • Outlook(邮件系统):POP3(接收),SMTP(发送)
  • QQ文件传输

UDP用户数据报协议:

UDP是一种简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,UDP数据报加上IP首部组装成一份待发送的IP数据报。它的主要作用:将网络数据压缩成数据包的形式,优势是:速度快,较安全,劣势是:可靠性差。因为UDP是面向报文的、无连接的、不保证可靠交付的、没有拥塞控制的协议。

UDP有两个字段:数据字段和首部字段

首部字段只有8个字节,由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:

(1)源端口:源端口号,在需要对方回信时选用,不需要时可用全0 (2)目的端口:目的端口号,这在终点交付报文时必须要用到 (3)长度: UDP用户数据报的长度,其最小值为8(此时仅有首部) (4)检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

应用

对当前网络通讯质量要求不高的时候,要求网络通讯速度尽量的快,这时就使用UDP用户数据报协议 日常生活中常见使用UDP协议: 1.QQ语音/视频 2.平台直播 3.视频播放

网络层

通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据报(该层数据单位),然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。主要协议有ICMP(Internet Control Message Protocol)网络控制报文协议。

ICMP协议

它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息,包括报告错误、交换受限控制和状态信息等。其目的就是让我们能够检测网路的连线状况,也能确保连线的准确性。

网络层解决的主要问题如下:

  • 寻址

数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。

  • 交换

规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。

  • 路由算法

当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。

  • 连接服务

与数据链路层流量控制不同的是,前者控制的是网络相邻节点间(端到端)的流量,后者控制的是从源节点到目的节点(点到点)间的流量。其目的在于防止阻塞,并进行差错检测。

数据链路层

数据链路层负责建立和管理节点间的链路,通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。

数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。该层通常又被分为介质访问控制(MAC)逻辑链路控制(LLC)两个子层。

介质访问控制MAC

MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;

逻辑链路控制(LLC)

LLC主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制

ARQ协议

即自动重传请求(Automatic Repeat-reQuest),是OSI模型中数据链路层和传输层的错误纠正协议之一。它包括停止等待ARQ协议和连续ARQ协议。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。简单地说,就是发送方在发送完数据之后,没有收到确认帧,它通常会重发请求。

ARP和RARP协议

ARP:地址解析协议,将 IP 地址转换为物理地址;

RARP:逆地址解析协议,将物理地址转换为 IP 地址;

物理层

在物理层上所传送的数据单位是比特物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

参考来源

-------------本文已完 ❤ 谢谢阅读-------------

觉得文章不错,赞赏站长一包辣条( •̆ ᵕ •̆ )◞ ❤
0%