登录 |  注册
首页 >  面试合集 >  Java面试宝典(第二部分·中级) >  OSI 的七层模型都有哪些?

OSI 的七层模型都有哪些?

OSI模型,即开放式通信系统互联参考模型。是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI(Open System Interconnection),也被称为OSI/RM 。OSI模型将计算机网络结构划分成七个层次。

七个层次

tcp.jpg

各层详细介绍

  • 1.Physical Layer

物理层是OSI模型的第一层。该层主要功能是利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。若你在你的桌面P C 上插入网络接口卡,你就建立了计算机连网的基础。换言之,你就提供了一个物理层。

  • 2.Datalink Layer

数据链路层是OSL模型的第二层,它控制网络层与物理层之间的通信。负责建立和管理节点间的链路。在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧(帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传送数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。)数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

  • 3.Network Layer

网络层是OSI参考模型中的第三层。其主要功能是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一 层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。例如在广域网之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。 

  • 4.Transport Layer

传输层是OSI模型中的第四层。主要功能是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无 误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议

tcp.jpg

  • 5.Session Layer

会话层是OSI模型的第5层。主要功能是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理

  • 6.Presentation Layer

表示层是OSI模型的第六层。主要功能是:将来自应用层的数据按照网络能理解的方案进行格式化。有人将其比喻成应用程序和网络之间的翻译官。在表示层,数据将按照网络能理解的方案进行格式化,这种格式化也因所使用网络的类型不同而不同。 

  • 7.Application Layer

应用层是OSI参考模型的最高层。它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务。(注意:术语“应用层”并不是指运行在网络上的某个特别应用程序)。此外,该层还负责协调各个应用程序间的工作。应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。

总结

在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即 以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程 序之间的信息和数据处理功能为主。


由于OSI只是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。而与之相反,TCP/IP模型已被广泛使用,成为互联网络事实上的标准。

tcp.jpg

上图为OSI模型和TCP/IP模型的对应图

为什么TCP/IP模型会成为标准,而OSI只能成为理论模型呢?

answer:

OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。而TCP/IP提供了点对点链接的机制,将数据应该如何封装、定址、传输、路由以及在目的地如何接收,都加以标准化。它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。同时TCP/IP成功的另一个因素在于对为数众多的低层协议的支持。这些低层协议对应OSI模型中的第一层(物理层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量支持TCP/IP,例如:以太网(Ethernet)、令牌环(Token Ring)、光纤数据分布接口(FDDI)、点对点协议(PPP)、X.25、帧中继(Frame Relay)、ATM、Sonet、SDH等通信方法中都可以应用。

上一篇: 说一下 tcp 粘包是怎么产生的?
下一篇: get 和 post 请求有哪些区别?
推荐文章
  • 在HTML中,如果你想让一个输入框(input元素)不可编辑,你可以通过设置其readonly属性来实现。示例如下:input type="text" value="此处内容不可编辑" readonly在上述代码中,readonly属性使得用户无法修改输入框中的内容。另外,如果你希望输入框完全不可交
  • ASP.NET教程ASP.NET又称为ASP+,基于.NETFramework的Web开发平台,是微软公司推出的新一代脚本语言。ASP.NET是一个使用HTML、CSS、JavaScript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不一样的开发模式:WebPages(Web页面)、
  • C# 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的通常形式:判断语句C#提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if语句一个 if语句 由一个布尔表达式后跟
  • C#循环有的时候,可能需要多次执行同一块代码。通常情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的通常形式:循环类型C#提供了以下几种循环类型
  • C#数组(Array)数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,一般认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0、number1、...、number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用numbers[0]
  • ASP.NET是一个由微软公司开发的用于构建Web应用程序的框架,它是.NETFramework的一部分。它提供了一种模型-视图-控制器(MVC)架构、Web表单以及最新的ASP.NETCore中的RazorPages等多种开发模式,可以用来创建动态网页和Web服务。以下是一些基础的ASP.NET编
学习大纲