专注SIP通讯产品与方案

网络电话基础之计算机网络协议结构

分层协议概念
计算机网络是一种非常复杂的系统,其中既涉及通信技术又涉及计算机技术。在通信技术中涉及不同的分组交换技术,在计算机技术中涉及异种机器、异种操作系统。计算机网络既要保证不同通信技术和不同计算机系统之间的互通,又要保证这种互通的可靠性和效率。总之,计算机网络要解决的问题纷繁复杂。为了对问题进行简化,人们利用“分而治之”的思想,将计算机网络划分为不同的层次,每个层次完成一组功能,各个层次配合共同完成计算机网络通信的功能。这就为网络协议的设计和实现提供了极大的方便。按照层次结构思想,对计算机网络的模块化结果是一组从上到下单向依赖的协议族,又叫协议栈( protocol stack)。协议栈这一术语非常准确地表达了各层协议之间的关系。
协议包含的主要内容
协议主要包含以下内容:
消息类型和格式、编码;
各种操作对应的消息收发顺序;
收到消息后节点应采取的动作;
相邻层之间的层间原语类型和参数
OSI参考模型简介
1977年,国际标准化组织(ISO)在分析和消化已有网络的基础上,考虑到联网的方便和灵活性等要求,提出了一种不基于特定机型、操作系统或公司的网络体系结构,即开放系统互连参考模型(OSI, Open Systems Interconnection)。OSI定义了异种机联网的标准框架,为连接分散的“开放”系统提供了基础。这里的“开放”表示任何两个遵守OSI标准的系统可以进行互联。
OSI参考模型
OSI参考模型如图2-1-1所示。它采用分层结构技术,将整个网络的通信功能分为7个层次,由低层至高层分别是:物理层数据链路层、网络层、传输层、会话层、表示层和应用层。
OSI参考模型
OSI中各层的基本功能
(1)物理层
物理层是最底的一层,它和物理传输媒介有直接的关系,它定义了设备之间的物理接口,为它的上一层(数据链路层)提供一个物理连接,以便透明地传输比特流。在物理层上传输数据的单位是比特。
(2)数据链路层
数据链路层的功能是负责在两个相邻节点的线路上以帧为单位的可靠传输。数据链路层将物理层上透明传输的比特流划分为数据帧,对每个数据帧进行差错检测及差错校正,并提供流量控制功能。网络层提供系统之间的连接,它负责将两个终端系统经过网络中的节点用数据链路连。
(3)网络层
接起来,实现两个终端系统之间数据帧的透明传输。网络层的主要功能是寻址和路由选择。传输层可以看作是用户和网络之间的接口,它利用低三层提供网络服务并向高层提。
(4)传输层
供端到端的透明数据传输,它根据发端和终端的地址定义一个跨过网络的逻辑连接,定义主机中的端口地址,并完成端到端(而不是第二层处理的一段数据链路)的差错控制和流量控制功能。
(5)会话层
会话层的作用是协调两端用户(通信进程)之间的对话过程。例如,确定数据交换操作方式(全双工、半双工或单工),确定会话连接故障中断后对话从何处开始恢复等。
(6)表示层
表示层负责定义信息的表示方法。表示层将欲交换的数据从适合于某一用户的抽象语法变换为适合于OSI系统内部使用的传送语言。表示层的典型服务有:数据翻译(信息编码、加密和解密)、格式化(数据格式的修改及文本压缩)和语法选择(语法的定义及不同语言之间的翻译)等。
(7)应用层
应用层确定进程之间通信的性质以满足用户的需要,负责用户信息的语义表示,并在两个通信进程之间进行语义匹配。以上七层功能按其特点又可分为低层功能和高层功能。低层包括1~3层的全部功能,其目的是保证系统之间跨过网络的可靠信息传输。高层指4~7层的功能,是面向应用的信息处理和通信功能。
OsI参考模型提出的分层结构思想和设计原则已被一致认同,有关术语也被广泛采用,但是实际上并没有一个协议是按照七层结构去实现的,原因是其过于复杂。例如,表示层和会话层很少有用。而因特网的TCP/IP协议栈采用简化的结构,却获得了极大的成功。本书2.2节将详细介绍TCP/P协议栈。
3。开放系统相互通信的过程
采用层次结构的计算机通信系统中的通信包含同层通信和层间接口这样两个方面。同层通信是不同节点的对等层之间的通信,同层通信必须严格遵循该层的通信协议。层间接口是同一节点的相邻层之间的通信,相邻层的通信采用通信原语。上图示出了在两个开放系统中的应用进程通信的过程。为了实现这个通信,两个系统的对等层(即具有相同序号的层)之间必须执行相同的功能并按照相同的协议(同层协议)来进行通信。
         当发送进程有一组数据要送给接收进程时,它将这组数据送给应用层实体。应用层在数据上加上一个控制头7H,7H中包括应用层的同层协议所需的控制信息,然后应用层将7H和数据一起送往表示层。表示层将7H和数据一起看作是上一层的数据单元,然后加上本层的控制信息,交给会话层。依此类推。不过数据到了第二层(数据链路层)后,控制信息分成两部分,分别加到上层数据单元的头部和尾部形成本层的数据单元送往物理层,由于物理层是比特流的传输,所以不再加上控制信息。
        当这一串比特流经网络的物理媒体传输到目的站时,就从物理层依次上升到应用层每一层根据本层的控制信息进行必要的操作,然后将控制信息剥去,将剩下的数据部分上交给更高的一层。最后,把发送进程发送的数据交给目的站的接收进程。在协议术语中,从上层接收到的数据体称为服务数据单元(SDU, Service Data unit),加上本层头部后成为本层的协议数据单元(PDU, Protocol Data Unit)。在不同的协议栈和不同协议层中,协议数据单元可有不同的名称,如帧、分组、段、报文等,数据体也可称为净荷( payload)或用户数据。
开放系统互连环境中的通信过程
开放系统互连环境中的通信过程
        有时,两个终端系统之间的通信可能经过一个或多个中间节点转接,这些中间节点叫做中继系统,它具有1~3层的功能,每当数据传送到中继节点时,就从该节点的物理层上升到网络层,完成路由选择后,再下到物理层传送到下一个节点,最后传到终端系统,从物理层上升到应用层后到达应用进程。经过一个或多个中间节点转接的过程如下图所示:
经过一个或多个中间节点转接的过程
经过一个或多个中间节点转接的过程
        虽然应用进程的数据要经过如图2-1-2所示的复杂过程才能到达对方的应用进程,但这些复杂过程对用户来说,却都被屏蔽掉了,以致发送进程觉得好像是直接把数据交给了接收进程。同理,任何两个对等层之间,也好像如图2-1-2中的水平虚线所示的那样,将上层的数据及本层的控制信息直接传送给对方,这就是所谓的“对等层”之间的通信,我们将控制两个对等(N)实体进行通信的规则称为(N)层协议。
要做到有条不紊地交换数据,每个节点必须遵守一些预先约定好的规则,这些规则明
确地规定了所交换数据的格式以及有关的同步问题。这些为完成网络中的数据交换而建
立的规则、标准或约定称为网络协议。一个网络协议主要由以下3个要素组成。
(1)语法:即数据与控制信息的结构或形式。
(2)语义:即需要发出何种控制信息、完成何种动作以及做出何种应答
(3)同步:即事件实现顺序的详细说明。
最后说明一点,在分层协议结构中,相邻层间的接口点称为服务接入点(SAP, ServieAccess Point)。一般说来,每层协议可为上一层多个协议实体提供服务,每个协议实体代表一类协议功能,例如在应用层可对应为多种不同的应用。因此,每层可有多个SAP,每个SAP有其对应的地址。这样从协议的角度看,每个物理节点可视作多个逻辑节点,至该节点的连接实际上可为一个多重连接。SAP的概念示于下图:
SAP的概念
4。层次结构的优点
计算机网络协议采用层次结构有如下优点:
(1)各层之间相对独立某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的功能。
(2)灵活性好
当任何一层发生变化时,只要接口关系保持不变,则在该层以上或以下各层均不受影响。此外,某一层提供的服务还可以修改。当某层提供的服务不再需要时,甚至可以将该层取消。
(3)结构上可分割开
( 4 ) 易于实现和维护
这种结构使得实现和调试一个庞大而又复杂的系统变得易千处理,因为整个系统已 被分解为若干个易千处理的而范围更小的部分了。
( 5 ) 能促进标准化工作
这主要是由千每一层的功能和所提供的服务都已有了精确的说明。