博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机网络体系结构与参考模型
阅读量:5273 次
发布时间:2019-06-14

本文共 3593 字,大约阅读时间需要 11 分钟。

计算机网络分层结构

为了降低协议设计和调试过程的复杂性,也便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模。

我们把计算机网络的各层及其协议的集合称为网络的体系结构,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议以及层间接口的集合。这些功能用何种硬件或软件完成的是一个遵循这种体系结构的实现问题。体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。

分层的基本原则是:

  1.每一层都实现一种相对独立的功能,降低大系统的复杂度。

  2.各层之间界面自然清晰,易于理解,相互交流尽可能少。

  3.各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。

  4.保持下层对上层的独立性,上层单向使用下层提供的服务。

  5.整个分层结构应能促进标准化工作。

在计算机网络的分层结构中,第n层中的活动元素通常称为n层实体,不同机器上同一层称为对等层,同一层的实体叫做对等实体。

在计算机网络体系结构的各个层次中,每一个报文都分为两个部分,一个是数据部分(SDU),一个是控制信息部分(PCI),它们共同组成PDU。

层次结构的含义:

  1.第n层的实体不仅要使用第n-1层的服务,实现自身定义的功能,还要想第n+1层提供本次的服务,该服务是第n层及其下面各层提供服务的总和。

  2.最底层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。

  3.上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其它层的服务;下一层所提供服务的实现细节对上一层透明。

  4.两个主机通信时,对等层在逻辑上有一条直接通道,表现为不经过下层就把信息传送到对方。

计算机网络协议、接口、服务的概念

  协议:就是规则的集合。这些规则明确规定了所交换的数据的格式以及有关的同步问题。为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。

协议由语法、语义和同步三部分组成。语法规定了传输数据的格式‘语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答;同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。一个完成的协议通常应具有线路管理(建立、释放连接)、差错检测、数据转换等功能。

  接口:接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每一层只能为紧邻的层次之间定义接口,不能跨层次定义接口。

  服务:服务是指下层为紧邻的上层提供的功能调用,是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需使用下一层所提供的服务。

       上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语,分四类:

  1.请求(Request):由服务用户发往服务提供者,请求完成某项工作。

  2.指示(Indication):由服务提供者发往服务用户,指示用户做某件事。

  3.响应(Response):由服务用户发往服务提供者,作为对指示的响应。

  4.证实(Conformation):由服务提供者发往服务用户,作为对请求的证实。  

       协议和服务在概念上是不一样的。首先,本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。协议是水平的,协议是控制对等实体之间通信的规则。服务是垂直的,服务是由下层通过层间接口向上层提供的。并非在一个层内完成的全部功能都称为服务,只有能被高一层实体“看得见”的功能才是服务。

  计算机网络提供的服务可按以下三种方式分类:

  1.面向连接服务与无连接服务

  在面向连接服务中,通信前双方必须先建立连接,分配相应的资源,以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务分为建立连接、数据传输和释放连接三个阶段。

  在无连接服务中,通信前双方不需要建立连接,需要发送数据时就直接发送。把每个带有目的地址的包传送到线路上,由系统选定路线进行传输,是一种不可靠的服务。

  2.可靠服务和不可靠服务

  可靠服务是指网络具有纠错、检错、应答机制能保证数据正确、可靠地传送到目的地。

  不可靠服务是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。

  3.有应答服务和无应答服务

  有应答服务是指接收方在收到数据后向数据发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。

  无应答服务是指接收方收到数据后不自动给出应答。

ISO/OSI参考模型和TCP/IP模型

  1.OSI参考模型

  OSI有7层,自下而上依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。低三层统称为通信子网,是为了联网而附加上去的通信设备,完成数据的传输功能。高三层统称为资源子网,完成数据的处理等功能。运输层承上启下。

  OS参考模型各层的功能:

  1.物理层:

  传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流。物理层主要定义数据终端设备和数据通信设备的物理和逻辑连接方法,物理层协议也成为物理层接口标准、物理层规程。

  物理层主要研究以下内容:

  通信链路与通信结点的连接需要一些电路接口,物理层规定了这些接口的一些参数。

  物理层规定了通信链路上传输的信号的意义和电气特征。

  2.数据链路层:

  传输单位是帧,任务是将网络层传下来的IP数据报组装成帧,功能可以概括为:成帧、差错控制、流量控制和传输管理。

  3.网络层:

  传输单位是数据报,任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键为题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互连等功能。

  4.传输层(运输层):

  传输单位是报文段(TCP)或用户数据报(UDP),传输层的任务是负责主机中两个进程之间的通信。功能是为端到端连接提供可靠的传输服务;为端到端连接提供流量控制、差错检测、服务质量、数据传输管理等服务。

数据链路层体提供的是点到点的通信,传输层提供端到端的通信。点到点可以理解为主机到主机之间的通信。端到端通信是指运行在不同主机内两个进程之间通信,一个进程由一个端口标识。

  5.会话层:

  会话层允许不同主机上各进程之间的会话。会话层利用传输层提供的端到端的服务,向标识层提供它的服务,这种服务主要是向表示层实体或用户进程提供建立连接并在连接上有序地传送数据,也成为建立同步。

  6.表示层:

  表示层主要用于处理两个通信系统中交换信息的表示方式,不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。

  7.应用层:

  是用户与网络的界面。应用层为特点类型的网络应用提供访问OSI环境的手段。

  2.TCP/IP模型

  从低到高依次为:网络接口层、网际层、传输层和应用层。TCP/IP由于广泛应用而成为事实上的国际标准。

  1.网络接口层:功能类似于OSI的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP分组。网络接口层的责任是从主机或结点接受IP分组,并把它们发送到指定的物理网络上。

  2.网际层(主机-主机):是TCP/IP体系结构的关键部分。它和OSI网络层在功能上非常相似。网际层将分组发往任何网络,并为之独立地选择合适的路由,但它不保证各个分组有序的到达,各个分组的有序交付由高层负责。网际层定义了标准的分组格式和协议,即IP协议。

  3.传输层(应用-应用,进程-进程):功能和OSI中的传输层类似,是使发送端和目的端主机上的对等实体可以进行会话,传输层主要使用以下两种协议:

  TCP:面向连接的,数据传输单元是报文段,能够提供可靠的交付。

  UDP:无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

  4.应用层(用户-用户):包含所有的高层协议。

  3.TCP/IP模型与OSI参考模型的比较

 

转载于:https://www.cnblogs.com/LVVLY/p/9070515.html

你可能感兴趣的文章
数组换位子
查看>>
软件测试草图
查看>>
一个App项目设计开发完整流程
查看>>
如何使用iClap创建普通批注
查看>>
用Java编写自己的机器人,为你承担苦力
查看>>
第四章App4_3,懂得了抛出异常 throws Exception,read为读取键盘输入数,学会了switch循环...
查看>>
从零开始——MySql01
查看>>
基于线程池的线程管理(BlockingQueue生产者消费者方式)实例
查看>>
sqlmap
查看>>
给出随机存储器(RAM)和只读存储器(ROM)的差别
查看>>
CSS3 3D Transform
查看>>
js深拷贝
查看>>
http和socket之长连接和短连接区别(转)
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
C++11 中的线程、锁和条件变量
查看>>
HDU 2485 Destroying the bus stations(!最大流∩!费用流∩搜索)
查看>>
Oracle关于用户信息的一些SQL语句
查看>>
2019-02-28处理公司同事无法上网事件记录
查看>>
HTCVive使用
查看>>