网络协议的定义和基本元素
网络协议是计算机网络中不可缺少的组成部分,其功能在于确保计算机之间能够进行正常、可靠的数据通讯。计算机之间数据通讯的高度自动化,对协议的功能和性能都提出了非常高的要求。从功能角度看,网络协议是为进行计算机网络的数据交换而建立的一系列规则、标准或约定[98)0
英国国家物理实验室的R A Scantlebury和KA Bartlett于1967年4月,在数据通讯中首次用到“协议”这一术语。他们认为:协议是关于分布式系统进行信息交换时的一种约定,协议应该按照语言的方式进行定义。基于此观点,网络协议就是具有规定文法、语法和语义的语言,其中,文法给出了有效信息的精确格式,语法描述了数据交换的规则,语义规定了可交换信息的词汇及其含义。1
随着标准化网络的发展和广泛使用,人们越来越体会到标准化为计算机之间的数据通信所带来的便利。网络协议的标准化也随之推到了前台。因此,许多人认为:网络协议就是数据通信的标准化。为此,出现了数据通讯协议的许多标准,如:美国国家科学技术协会的NIST、联邦通信标准委员会的FTSC、国际电器电子工程师学会的工EEE等。最有影响的是ISO和CCITT。
为了确保计算机网络中数据通信的顺利进行,一个完整的网络协议应该包括一下五个基本元素:
协议所提供的服务;
对协议运行环境所进行的假设;
用来实现协议的消息词汇;
对该词汇中每个消息的编码;
用来控制消息一致性的过程规则。
核心协议数据单元核心协议数据单元,是指在分层网络结构,例如在开放式系统互联(OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU)。
定义在分层网络结构,例如在开放式系统互联(OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU)。PDU包含来自上层的信息,以及当前层的实体附加的信息。然后,这个PDU被传送到下一较低的层。物理层实际以一种编帧的位流形式传输这些PDU,但是由协议栈的较高层建造这些PDU。接收系统自下而上传送这些分组通过协议栈,并在协议栈的每一层分离出PDU中的相关信息。重要的一点是,每一层附加到PDU上的信息,是指定给另一个系统的同等层的。这就是对等层如何进行一次通信会话协调的。通过从传输层段剥离报头,执行协议数据检测以确定作为传输层段的部分数据的协议段的数据,以及执行标志验证和剥离,从而处理数据段。还提供用于处理数据段的技术,其中接收到协议数据单元的报头部分。利用所接收的报头部分来确定将储存在应用空间中的数据的字节数。而且,利用所接收的报头部分来确定下一个协议数据单元的下一个报头部分。然后,发出窥视命令以获得下一个报头部分。另外提供用于利用所储存的部分循环冗余校验摘要和剩余数据来执行循环冗余校验的技术。
分类SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。get-request操作:从代理进程处提取一个或多个参数值get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值set-request操作:设置代理进程的一个或多个参数值get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作今后叫做get、get-next和set操作。图4描述了SNMP的这5种报文操作。请注意,在代理进程端是用熟知端口161俩接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。
WAPI.x版本的核心协议简介WAP 1. x的核心协议是以WWW中的相应协议作为原型,再根据无线环境的特点进行优化而产生的。图1给出的是WWW协议栈与WAP 1. x版本核心协议栈的层次对应图!2l
WAP 1. x核心协议栈在传输层采用了功能很弱的两种不可靠的无连接协议—用户数据报协议(UDP)和无线数据报协议(WDP ),而将保证数据传输性能及可靠的功能上移到了应用层协议。其中,无线事务协议(WTP)负责保证可靠连接的建立和维护,而无线会话协议(WSP)负责保证传输会话的一致性。考虑到无线环境的实际特点,WAP 1. x核心协议在改造WWW协议的同时采用了大量的优化设计!’],以更有效地利用无线资源,提高应用的可靠性。
WAP 1. x的这些设计很好的符合了当时移动通信网络的应用特点,能够充分利用网络资源,从而得到了众多厂家的支持,WAP业务也成为无线互联网业务的一个主要分支。
WAP核心协议的演进虽然WAP 1. x取得了一定的成功,但是随着网络技术的发展与用户应用需求的提高,WAP 1. x设计的一些缺陷也日益突出。2
首先是业务类型单一。WAP 1. x的核心协议完全是为浏览业务服务的,WSP实际上实现的是HTTP的功能。随着无线互联网业务的普及和移动终端的发展,用户需要WAP能够提供更为丰富的业务类型,而WAP 1. x缺乏这种业务类型的扩展性。
其次,缺乏开放的面向连接的传输服务。虽然WTP与WSP共同实现了TCf,的功能,但WSP同时也实现了HTTP的功能,使得WAP 1. x的面向连接的传输服务与浏览业务融合在了一起。这样,如果想实现其他面向连接的应用协议,如电子邮件服务等,要么扩充WSP的功能,增加对其他协议的支持,要么保持WSP协议不变,增加其他协议与HTTP协议之间的转换。无论哪种方案,都使得新协议的引进十分困难,且与WAP开放、可扩展的设计思想相违背。
第三,人为地增加了无线世界与有线世界间的分隔。由于WAP与fnternet协议的非对应性,无线业务在传输的过程中必须进行协议的转换,从而造成了无线与有线间的“有缝连接”,增加了业务的响应时间。因此,在WAP2. 0中,其核心协议从面向特定业务类型的协议栈,转变为能够与有线fnternet无缝连接,并支持多种业务类型的开放协议栈。WAP2 . 0的核心协议栈如图2所示。
在WAP2.0的核心协议当中,增加了单独的、开放的面向连接的传输层协议,即TCP,与WP-TCP(无线优化TCP协议)协议,这就使得可以方便、灵活的引进基于面向连接传输服务的新协议与新业务。而且,TCP协议的引进,也使得无线域与有线域之间的连接与通信更为直接,能够实现无线Internet与有线Internet之间的“无缝”连接。
相应的,在业务类型方面,除了在原有浏览业务的基础上增加直接使用HTTP协议的浏览业务外,还增加了针对如音频、视频等同步数据的数据流传送服务和针对紧急消息、电子邮件等异步多媒体消息的信息传送业务。
此外,WAP2 . 0还特别突出了如能力协商等会话服务。这些服务用于在跨越多个网络的网元之间建立共享的状态,能够更好的为无线业务提供服务。在WAP1. x中,这些服务是包含在其他相关协议内部的。
WAP2.0核心协议的设计进一步扩充了WAP的业务支持能力,提供了更为开放与可扩展的体系结构与开发接口。那些目前还未被waP定义的但具有市场价值的,如日历、电话簿、电子商务等应用和黄页、白页等服务,都可以方便的基于WAP核心协议进行开发并得到应用。WAP核心协议的演进很好地适应了无线应用的发展趋势和用户更为广泛的业务需求,更加有利于无线业务的推广与普及。