7协议工程之协议实现技术_第1页
7协议工程之协议实现技术_第2页
7协议工程之协议实现技术_第3页
7协议工程之协议实现技术_第4页
7协议工程之协议实现技术_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章 协议实现技术7.1概述 计算机网络各层协议实现结果的集合形成计算机网络软件和硬件。计算机网络软件和计算机操作系统密切相关,它往往是操作系统的一部分,计算机网络硬件和计算机硬件系统密切相关,它是计算机I/O系统的一部分。图7.1为DEC公司的DNA在VAX/VMS中的实现结构。DNA(Digital Network Architecture)是DEC公司所采用的各层网络协议的总称,它在VAX/VMS之中实现后软件和硬件的总称为DECNET/VMS。第七章协协议实实现技术术第七章协协议实实现技术术DNA的物理层层和数据据链路层层协议实实现于网网络适配配器(deviceadaptor)中,D

2、ECnet/VMS包括许多多网络适适配器,即DNA支持许多多种低层层通信协协议。DNA的网络层层和传输输层协议议主要实实现于伪伪驱动程程序NETDRIVER中,它和和网络适适配器的的设备驱驱动程序序(device driver)接口。DNA的高层协协议以网网络目标标模块形形式或实实用程序序的形式式实现,DECnet/VMS包括许多多这样的的目标模模块(object)和实用用程序(utility),这表示示它向用用户提供供丰富的的网络服服务。这这里,NETDRIVER和devicedriver是VMS内核一部部分,DNA高层和VMS的文件系系统,作作业调度度,用户户登陆(login)等密切切联系

3、,网络适适配器是是VAX硬件系统统的一部部分,计计算机网网络各层层协议在在其它机机器和操操作系统统中实现现形式和和实现结结构都类类似于DECnet/VMS。第七章协协议实实现技术术计算机网网络协议议是复杂杂的协议议,将它它们付诸诸实现更更是一个个复杂的的技术过过程,这这是因为为计算机机网络硬硬件和软软件与计计算机硬硬件操作作系统的的关系非非常密切切的原故故。一个个计算机机网络的的研制要要经历下下述七步步工作。(1)网络体系系结构的的制定网络体系系结构(Network Architecture)的制定定包括许许多决策策工作:网络支支持哪些些通讯线线路和局局域网?向用户户提供哪哪些网络络服务?网络

4、划划分成多多少层?各层的的协议功功能是什什么?各各层协议议规范和和服务规规范是什什么?第七章协协议实实现技术术(2)实现环境境的研究究实现环境境指计算算机的机机型和运运行的操操作系统统。实现现环境的的研究是是协议实实现者必必须进行行的一项项工作,这包括括计算机机硬件结结构和I/O总线的详详细了解解,操作作系统结结构和操操作系统统服务的的详细了了解等等等。(3)实现结构构的设计计在(1)和(2)的工作完完成之后后,协议议设计者者就可以以着手网网络实现现结构设设计。实实现结构构的设计计包括一一系列的的决策工工作:哪哪几层协协议在网网络适配配器中实实现,哪哪几层协协议在操操作系统统中实现现?操作作系

5、统的的网络软软件划分分成几个个进程,每个进进程实现现哪几层层协议?如果几几层协议议在同一一个进程程实现时时,各层层协议之之间怎样样相互调调用?为为了提高高网络软软件执行行效率和和连接响响应速度度应采用用哪些措措施等等等。第七章协协议实实现技术术(4)各层协议议实体之之间通讯讯机制设设计当n层协议和和(n-1)层协议在在不同的的进程或或驱动程程序之间间实现时时,n层协议实实体和n-1层协议实实体之间间通讯必必须借助助操作系系统服务务来实现现。当n层协议和和(n-1)层协议在在同一个个进程或或驱动程程序之内内实现时时,两层层协议实实体之间间通讯可可直接借借助于程程序设计计语言(c,pascal)来

6、实现。(5)数据缓冲冲方案的的设计协议数据据单元PDU(protocoldataunit)在各层协协议实体体之间的的传递是是通过缓缓冲器来来实现的的。数据据缓冲方方案的设设计包括括一系列列的决策策工作:缓冲器器中的数数据怎样样传递?是否采采用共享享缓冲器器方案?缓冲器器定义多多大?缓缓冲器怎怎样分配配管理?缓冲器器的分配配管理怎怎样对网网络流控控制和交交通拥塞塞控制施施加影响响等等。第七章协协议实实现技术术(6)各层协议议代码的的产生协议代码码可分为为两部分分:与实实现环境境相关的的协议代代码和独独立于实实现环境境的协议议代码。前者必必须由协协议实现现者手工工完成,后者可可手工完完成也可可以借

7、助助形式语语言的编编辑程序序(如ESTELLE compiler)自动产产生。(7)网络软件件的调试试由于网络络软件的的分布性性,异步步性和实实时性,传统的的静态调调试工具具是不适适应的,因此设设计者必必须研制制多种动动态调试试工具以以提高网网络软件件调试效效率。这这些调试试工具包包括各种种模拟环环境,闭闭环测试试软件,PDU追踪,时时间标签签,事件件记录等等。第七章协协议实实现技术术限于篇幅幅,本章章只讨论论(4)、(5)、(6)步骤的有有关问题题,首先先介绍协协议代码码半自动动生成技技术,然然后讨论论上下层层协议实实体之间间通讯的的实现方方法,最最后讨论论数据缓缓冲技术术。如果果我们掌掌握

8、了第第(4)和第(5)步的设计计方法,那么与与实现环环境相关关的协议议代码就就可以手手工完成成了。计计算机网网络研制制工作中中第(1)、(2)、(3)和(7)步工作作的讨论论请参见见文献资资料42和34。第七章协协议实实现技术术7.2协议代码码半自动动生成技技术协议代码码半自动动生成技技术试图图将协议议规范文文本(用用ESTELLE、LOTOS等语言描描述)直接转换换成协议议代码(c.pascal等程序设设计语言言)。如如果所产产生的代代码不需需要人工工修改就就可以编编译成机机器可执执行的程程序,这这是最理理想的。但由于于计算机机网络软软件和操操作系统统结合紧紧密,这这实际上上是不现现实的。由

9、协议议规范直直接转换换的协议议代码只只能占全全部代码码的一部部分,约约50%左右33,这部分分代码称称之为独独立于实实现环境境的代码码,另外外一部分分代码由由于和实实现环境境相关,必须由由手工完完成。协协议代码码的这种种生成方方法称之之为协议议代码的的半自动动生成技技术。关于协议议代码半半自动生生成技术术是否值值得深入入研究的的问题,人们尚尚有不同同的看法法。然而而,半自自动生成成技术显显然有如如下一些些好处:第七章协协议实实现技术术(1)利用同同一个翻翻译程序序从同一一个协议议规范中中产生的的协议代代码总是是一致的的,它不不随协议议实现者者的不同同而不同同。这就就是说,所有协协议实现现者都能

10、能够获得得一份相相同的协协议代码码。虽然然这一部部分协议议代码只只占总代代码的50%左右,但但它包括括协议的的主体部部分。它它确定了了协议的的所有逻逻辑关系系,因此此它为协协议的不不同实现现版本的的互连提提供了良良好的基基础。(2)协议规规范的更更新修改改不会给给协议实实现者带带来太多多的麻烦烦,它只只要重新新运行一一次翻译译程序就就可以了了。(3)由此减减少手工工编程的的错误,缩短网网络软件件的开发发周期,提高网网络软件件可维护护性。第七章协协议实实现技术术目前,世世界上已已开发了了多种协协议代码码半生成成软件,它们大大都基于于ESTELLE,LOTOS和SDL语言,翻翻译后的的协议代代码大

11、都都为C代码。下下面简单单介绍EDS(Estelle Development System)中协议议代码半半自动生生成的基基本过程程33,它将协协议代码码半自动动生成过过程分为为四步。ESTELLE半自动生生成过程程可用图图7.2表示,图图中.e表示类型型为.e的文件,.m表示类型型为.m文件。f第七章协协议实实现技术术1.协议规范范的预处处理用形式描描述语言言描述的的协议规规范中往往往存在在许多没没有具体体数值的的符号定定义。例例如用ESTELLE描述的AB协议中(参见第第四章4.2.4),常数low,high,retran-time未给出具具体数值值,预处处理要求求实现者者给出具具体数值值

12、。又例例如,在在ESTELLE:描述的AB协议中,数据类类型定义义U一data一type是含糊的的(它用表示),这要求求协议实实现者给给出它的的具体定定义(如如定义为为stringofcharacters)。预处处理要做做的工作作包括原原语primitive的标识等等工作。预处理的的第二项项重要工工作是将将协议规规范文本本(.e)分割成三三个文件件:模块块描述文文件(.m),实现描描述文件件(.i)和格式描描述文件件(.f)。模块描描述文件件即为原原协议规规范中的的模块头头定义和和模块体体定义。实现描描述文件件将原协协议规范范中有关关各模块块的性质质定义,模块之之间组织织关系描描述,模模块之间

13、间通讯机机制描述述等全局局性内容容抽取出出来,形形成一个个描述整整个协议议的框架架文件。格式描描述文件件完整地地描述模模块之间间报文交交换的格格式,它它也是从从原协议议规范文文件中抽抽出来的的。第七章协协议实实现技术术2.翻译预处理后后的协议议规范直直接送入入ESTELLE compiler翻译,翻翻译包括括语法校校对、C代码生成成等工作作。对模模块体文文件,翻翻译结果果是对应应于每一一个ESTELLE模块体产产生一个个C代码的模模块头文文件(headfile)和一个C代码的模模块体文文件(bodyfile)。模块头头文件包包含模块块体内所所有数据据结构和和变量(如交互互点ip和ep、队列等等

14、)。模模块体文文件包含含模块体体内所有有函数、过程的的代码,除模块块体原有有的函数数和过程程定义之之外,模模块体的的每一个个转换都都翻译成成过程。第七章协协议实实现技术术第七章协协议实实现技术术第七章协协议实实现技术术3.手工程序序的编写写凡是与系系统相关关的部分分(通讯讯机制、缓冲器器管理、文件访访问、访访问控制制等等)必须由协协议实现现者根据据实现环环境手工工编写。4.执行代玛玛的产生生上述所有有C程序文件件编译后后链接成成一个或或几个系系统可执执行的文文件,每每个可执执行的文文件对应应于一个个进程或或用户启启动的实实用程序序。第七章协协议实实现技术术7.3模块通讯讯的实现现方法ESTEL

15、LE模块之间间的通讯讯的实现现很大程程度上依依赖于操操作系统统所提供供的服务务。在VAX/VMS环境中,如果两两个模块块体分别别用两个个进程实实现,那那么VMS所提供的的进程通通讯服务务就成为为模块通通讯实现现的基础础。VAX/VMS提供的进进程通讯讯机制包包括邮箱箱、共享享存贮区区、事件件、共享享文件,其中邮邮箱是常常用的通通讯方法法。第七章协协议实实现技术术邮箱是VMS的一种伪伪设备,用户程程序通过过标准的的QIO服务就可可以读写写邮箱。邮箱名名是系统统逻辑符符号,为为所有进进程所认认识。当当多个进进程对名名字相同同的邮箱箱进行读读写时,它们实实际上就就进行通通讯。下下面列出出有关邮邮箱服

16、务务和c语言调用用。(1)定义邮邮箱名$DESCRIPTOP(mbx_name,”MBX_NAME”);mbx_name为放置邮邮箱名字字符串MBX_NAME的变量。第七章协协议实实现技术术(2)定义邮箱箱通道intmbx_ch;mbx_ch为32位的长字字,它放放置邮箱箱通道号号。(3)创建邮箱箱通道sys$crembx(1,&mbx_ch,0,0,0,0,&mbx_name);VMS系统服务务crembx创建一个个邮箱(如果该该邮箱不不存在),并赋赋于一个个通道号号,&表示传递递变量的的地址值值。第七章协协议实实现技术术(4)QIO操作sys$qio(0,mbx_ch,IO$_WRITEV

17、BLK,0,0,0,&mail,mail_size,0,0,0,0);sys$qio(0,mbx_ch,IO$_READVBLK,0,0,0,&buf_size,0,0,0,0);第一个QIO服务(记记作QIO(write))向邮箱箱发一个个邮件,第二个QIO服务(记记作QIO(read))从邮箱箱读一个个邮件,mail为发出的的邮件,buf为放置接接收邮件件的缓冲冲器。QIO(read)可以通过过AST(AsyncTrap)形成异步步地进行行(类似似中断方方式),这给用用户程序序的设计带来来很多好好处。(5)取消邮箱箱sys$delmbx(mbx_ch);切断用户户程序和和邮箱之之间建立立的

18、通路路。第七章协协议实实现技术术熟悉了VMS邮箱的使使用方法法,我们们就很容容易找到到怎样实实现ESTELLE模块之间间通讯的的实现途途径。下下面简述述邮箱服服务和ESTELLE模块通讯讯语句之之间对应应关系。(1)channel定义一个channel对应一个个VMS邮箱,channel名用$DESCRIPTOR来说明,channel定义中交交互用过过程表示示,每个个过程负负责向邮邮箱发出出一个邮邮件,邮邮件内容容包括交交互名和和传递的的参数。下面的的例子说说明AB协议channel N-access-point定义翻译译成C语言的情情况第七章协协议实实现技术术第七章协协议实实现技术术第七章协

19、协议实实现技术术第七章协协议实实现技术术7.4数据缓冲冲技术协议数据据单元(PDU )在机器中中的存贮贮以及上上下层协协议实体体之间的的传递是是通过缓缓冲器来来实现的的,因此此缓冲器器的使用用、分配配和管理理成为协协议实现现中关键键技术之之一。数据缓冲冲技术涉涉及三个个问题:存贮空空间的利利用率,对协议议执行速速度的影影响,对对协议机机制和网网络性能能的影响响。(1)存贮空间间利用率率协议数据据单元的的大小不不是固定定的,小小到几个个字节,大到数数千个字字节。如如果按最最大的单单元固定定划分缓缓冲器,对于小小报文,存贮空空间利用用率很低低。一个个网络中中总是存存在许多多用户,在多用用户情况况下

20、,一一个机器器中的逻逻辑链路路数是随随用户而而动态变变化的。如果按按照最大大用户数数给每条条逻辑链链路分配配固定的的缓冲器器,那么么在用户户少的情情况下,存贮空空间浪费费较大。第七章协协议实实现技术术(2)协议执行行速度协议数据据单元在在上下层层的传递递可采用用两种方方法:缓缓冲器指指针传递递法和缓缓冲器复复制法。很显然然,前者者的额外外开销小小,协议议执行速速度高。问题(l)和(2)是有矛盾盾的。为为了提高高存贮空空间利用用率,缓缓冲器长长度设定定要小,但对于于大数据据单元则则需要多多个缓冲冲器来容容纳,多多个缓冲冲器容纳纳一个数数据单元元的处理理将给软软件带来来许多麻麻烦。(3)协议机制制

21、和网络络性能缓冲器是是网络的的最重要要的资源源,许多多协议机机制的执执行依赖赖于缓冲冲器的可可用度。例如,传输层层在实行行窗口流流控制时时,发送送窗口的的宽度是是由对方方的接收收能力决决定的(主要是是可用的的缓冲器器的数口口)。对对于有路路由功能能的网络络层协议议实体来来说,缓缓冲器的的分配管管理算法法与网络络拥塞控控制策略略和死锁锁防止方方法密切切相关。第七章协协议实实现技术术7.4.1缓冲器指指针传递递方法数据单元元在上下下层协议议实体之之间的传传递采用用缓冲器器指针传传递方法法时所要要解决的的一个重重要问题题是数据据单元的的分段与与合段。例如,当会晤晤层的一一个协议议数据单单元SPDU(

22、sessionprotocoldataunit)用指针传传递方法法送给传传输层协协议实体体后,可可能要将将它分成成三段,即一个个TSDU变成三个个TPDU(transportprotocoldata unit),这里的的TSDU(transportservice dataunit)就是SPDU。由于传传输层必必须给每每段数据据添加一一个传输输层报文文头TH(transporthead),因此除除第一个个TPDU之后,后后两个TPDU的形成都都避免不不了数据据的复制制,图7.3示出这一一个过程程。图7.3数据分段段引起数数据复制制第七章协协议实实现技术术为了解决决分段引引起的数数据复制制,我们们

23、可以采采用这样样的一种种方法:如果设设传输层层允许的的TPDU最大长度度为l,它的报报文头TH最大长度度为n,那么会会晤层可可使用长长度为l的多个缓缓冲器,将一个个SPDU分割成多多个长度度小于(l-n)的段分分别放在在不同的的缓冲器器中,然然后将缓缓冲器链链传递给给传输层层,图7.4示出缓冲冲器链传传递方法法。图7.4缓冲器链链传递第七章协协议实实现技术术上述方法法仍然有有一个缺缺点,即即会晤层层交给传传输层的的缓冲器器,其头头部必须须留足够够的空间间以便传传输层(还包括括网络层层及底层层)填写写它的报报文头。这样不不但存储储空间有有浪费,而且缓缓冲器指指针要随随报文头头的添加加数而修修改。

24、图图7.5所示的方方法中,各层协协议头使使用专门门的小缓缓冲器,用户数数据分放放在多个个大缓冲冲器中。图7.5用户数据据和报文文头分别别用不同同的缓冲冲器第七章协协议实实现技术术7.4.2共享缓冲冲区的分分配和管管理为了提高高存储空空间的利利用率,人们往往往采用用共享缓缓冲器的的方法。图7.6为共享缓缓冲区示示意图。传输层层提供n条逻辑链链路服务务,每个个应用层层协议实实体(如如a,b,c)通过表表示层协协议实体体P和会晤层层协议实实体S使用一条条逻辑链链路。N条逻辑链链路共享享发送缓缓冲区.例如当应应用层实实体a要发送一一个报文文时,它它从发送送缓冲区区获取一一个或多多个缓冲冲器,然然后将装

25、装载报文文的缓冲冲链逐层层传递给给P层,S层,传输输层和网网络层。网络层层将报文文从指定定通讯网网络或线线路发出出之后,将空缓缓冲器归归给发送送缓冲区区。接收收缓冲区区向各个个通讯网网络端口口或点对对点线路路端口提提供接收收缓冲器器。装填填有接收收报文的的缓冲器器首先由由网络层层处理,网络层层或将缓缓冲器上上交传输输层处理理(如果果报文的的目的地地址是本本地地址址),或或将缓冲冲器交给给另外的的通讯网网络端口口转发(如果报报文的目目的地址址不是本本地结点点),或或将缓冲冲器归还还给接收收缓冲区区(如果果报文是是网络层层报文)。图7.6共享缓冲冲区第七章协协议实实现技术术共享缓冲冲区固然然可以提

26、提高存储储空间利利用率,但如果果没有合合理的分分配管理理算法,将带来来严重的的副作用用。第一一个严重重的副作作用是缓缓冲器的的枯竭。当某条条逻辑链链路通讯讯流量特特别大时时,它可可能独占占所有发发送缓冲冲器,以以致其它它应用层层协议实实体不能能获得缓缓冲器,造成缓缓冲器枯枯竭现象象。第二二个严重重的副作作用是不不合理的的接收缓缓冲器分分配管理理算法将将会造成成网络死死锁现象象。第七章协协议实实现技术术本节讨论论缓冲器器的公平平分配问问题,下下节讨论论接收缓缓冲器分分配管理理与网络络性能的的关系。对于发送送缓冲器器,最常常用的分分配算法法是平方方根法。设发送送缓冲区区所能提提供的缓缓冲器数数目为

27、B,当前活活跃的逻逻辑链路路数为n,那么每每条链路路所能占占用的发发送缓冲冲器的最最高限额额不应大大于B/。对于接收收缓冲器器,缓冲冲器的占占用者的的概念不不同于发发送缓冲冲器。当当一个通通讯子网网接收一一个报文文,并将将报文放放入缓冲冲器之后后并不能能立刻确确定该缓缓冲器由由谁占用用。装填填接收报报文的缓缓冲器经经由网络络层处理理之后,报文的的占用者者就确定定了第七章协协议实实现技术术例如,当当图7.6中的net1收到一个个报文并并将缓冲冲器交网网络层之之后;网网络层处处理该报报文,如如果该报报文向net2转发,那那么缓冲冲器占用用者是net2;如果该该报文上上交传输输层,那那么缓冲冲器的占

28、占用者是是本地结结点。这这样,如如果网络络层有路路由功能能,并且且它支持持m路输出线线路(通通讯子网网端口),那么么接收缓缓冲器要要在m+1个对象中中分配;如果网网络层没没有路由由功能,那么所所有接收收缓冲区区都归本本地结点点所有。如果本本地结点点当前有有n条活跃逻逻辑链路路,那么么对于分分配给本本地结点点的那份份接收缓缓冲器再再按n个对象分分配(或或平均分分配,或或按平方方根分配配)。第七章协协议实实现技术术7.4.3接收缓冲冲器的分分配管理理如果网络络层有路路由功能能,那么么接收缓缓冲区的的分配管管理算法法就比较较复杂,不合理理的分配配算法还还将产生生死锁等等副作用用。下面面分别讨讨论三个

29、个副作用用及解决决办法。1.直接死锁锁(directdeadlock)假定接收收缓冲区区的分配配是任意意的,即即每一条条输出线线路端口口可以占占用任意意多缓冲冲器,直直至接收收缓冲区区枯竭为为止,那那么图7.7所示的直直接死锁锁现象就就可能出出现。图图中,由由于结点点A的所有接接收缓冲冲器已被被端口a所占用,它不能能再接收收b的报文,而B的所有缓缓冲器已已被端口口b所占用,它也不不能接收收A发出的报报文,死死锁发生生!直接接死锁产产生的原原因是双双方接收收缓冲区区同时枯枯竭,解解决的办办法是避避免接收收缓冲区区枯竭。假定结结点的接接收缓冲冲区的缓缓冲器总总数为C,对于有有m条输出线线路(端端口

30、)同同时活跃跃的情况况,各条条输出线线路所能能占用的的接收缓缓冲器限限额应小小于Ct=C/(m+1),本地地结点看看作一路路输出,它所分分配的限限额也为为Ct。按照这这种平均均法则分分配接收收缓冲器器枯竭现现象永不不会发生生,直接接死锁就就消除了了。第七章协协议实实现技术术图7.7直接死锁锁第七章协协议实实现技术术2.间接死锁锁(indirectdeadlock)即便是对对输出线线路所占占用的缓缓冲器进进行限制制图7.8所示的死死锁还可可能发生生。这种种由多个个结点的的输出队队列所形形成的环环路死锁锁称为间间接死锁锁。间接接死锁发发生时各各个结点点的接收收缓冲区区并没有有枯竭。图7.8中,A中

31、的输出出线路a的所有报报文的目目的地址址不是B,但必须须经过B的端口b转发,由由于b的输出队队列长度度已经达达到限额额,B无法接收收A发来的必必须经过过端口b转发的报报文。由由于同样样情况,C无法接收收B发来的必必须经端端口c转发的报报文,D无法接收收C发来的必必须经端端口d转发的报报文,A无法接收收D发来必须须经端口口a转发的报报文,死死锁发生生!第七章协协议实实现技术术图7.8间接死锁锁第七章协协议实实现技术术间接死锁锁的解决决办法之之一基于于分类报报文概念念。网络络层处理理输入报报文时按按照一定定的分类类方法将将它们分分成不同同类别的的报文,给每个个报文打打上类别别标记,并按照照报文类类

32、别分配配接收缓缓冲器的的限额。报文分类类的第一一种方法法是按照照输出线线路进行行。例如如,假如如某结点点有三条条输出线线路a,b,c,当网络络层处理理报文时时发现报报文需经经线路a转发,那那么它的的类别为为a;经b转发,它它的类别别就为b。这是最最简单的的分类法法,但不不能解决决间接死死锁问题题。第七章协协议实实现技术术报文分类类的第二二种方法法是按照照报文已已走过的的链路数数或到达达目的结结点之前前还需走走过的链链路数进进行,前前者称之之为后向向链分类类法,后后者称之之为前向向分类法法。按照照前向链链分类法法,到达达目的结结点之前前还要走走n条链路的的报文为为n类报文,n类报文逻逻辑上放放入

33、n队列。1类报文的的目的结结点就是是邻近结结点。按按照这种种方法对对报文分分类从根根本上消消除了图图7.8所示的输输入队列列环路,因此不不会发生生间接死死锁。图图7.9中,各个个输出端端口逻辑辑上有三三个队列列q1,q2,q3。q1放1类报文(到达目目的结点点的链路路数为1),q2放2类报文,q3放3类报文。当图7.8所示的情情况出现现时(各各个结点点的q2的长度已已到达限限额),死锁不不会出现现,这是是因为B能接收A从q2发出的报报文,并并将报文文放入B的q1队列(A中的2类报文到到达B后变成1类报文)。如果果假定B的q1队列也已已到达限限额,但但由于B将q1队列中的的报文发发往C之后,C总

34、是能接接收目的的结点就就是C的报文(B的q1队列很快快就会倒倒空)死死锁就不不会出现现。第七章协协议实实现技术术图7.9前向链分分类法第七章协协议实实现技术术3.交通流量量控制接收缓冲冲区的分分配管理理与网络络报文流流量控制制有关,或者说说某些交交通流量量控制算算法是通通过接收收缓冲器器的分配配管理来来实现的的。其中中最常用用的做法法是对不不同类别别的报文文实行优优先级别别控制(优先界界别高的的报文可可获得多多的接收收缓冲器器),以以提高网网络流通通量,减减少交通通堵塞发发生率。例如,当采用用前向链链分类法法时,如如果使类类别低的的报文优优先级别别高(即即1类报文优优先于2类报文)就能使使接近

35、于于目的结结点报文文尽快离离开网络络,避免免交通堵堵塞。第七章协协议实实现技术术7.5协议并行行处理技技术随着数据据通讯速速率的提提高,计计算机网网络各层层协议的的执行速速度也必必须提高高。例如如,当数数据传输输速率为为1Gbps(1000Mbps)时,如如果传输输层的平平均报文文长度为为128字节,那那么它每每秒要处处理一百百万个报报文。如如果每个个报文的的处理要要花费50条指令(不包括括CRC校验),那么传传输层协协议处理理器的速速度应大大于50Mips。如果传传输层报报文包含含CRC码,处理理器速度度要更高高(约100Mips)。MIPS-MillionInstructions PerS

36、econd每秒百万万条指令令第七章协协议实实现技术术提高协议议执行速速度的办办法之一一是协议议并行处处理技术术,即用用多个CPU并行执行行某层协协议。文献【14】以传输层层协议为为例,定定义了三三种粒度度(grains)不同的的协议并并行处理理;粗粒度(coarsegrain)并行,中粒度度(mediumgrain)并行和和细粒度度(fine grain)并行。按粗粒度度并行处理理协议时时,协议议实体按功能划划分成多多个任务务,各个任务务分配给给不同的的CPU处理。例例如,传传输层协协议可划划分成联联接处理理,数据据接收处处理。数数据发送送处理等等多个任任务。如如果协议议功能划划分更细细一点(

37、如图3.16描述的ISOTP4数据发送送模型那那样),这些任任务可分分配给更更多的CPU执行。第七章协协议实实现技术术按中较度度并行处理理协议时时,多个输人人报文分分配给多多个CPU处理。输入报文文在多个个CPU中分配的的方法有有两种:随机分配配和轮循循分配。对于随随机分配配方法,当一个个输入报报文来到到时,如如果处理理器池子子中有空空闲的处处理器,则随机机地占用用一个处处理器处处理该报报文;如如果处理理器池子子中没有有空闲的的处理器器,该报报文则进进人等待待队列。对于轮轮循分配法,输人报报文轮询询分配法法,输入入报文按按先后次次序轮循循地分配配给多个个处理器器。例如如,设处处理器池池子有5个

38、CPU,第1号报文分分配给CPU1,第2号报文分分配给CPU2,第6号报文分分配CPU1,按细粒度度并行处理理协议时时。多个处理理器同时时处理一一个报文文。例如,多多个处理理器同时时分析处处理一个个报文头头时,每每个处理理器分析析报文头头的一个个字段。第七章协协议实实现技术术粗粒度并并行处理理易于实实现,这这是因为为各个任任务界限限清晰,相关性性小。但但粗粒度度并行度度小,速速度提高高有限。细粒度度可获得得很高并并行度,但实现现困难。中粒度度并行处处理技术术兼有两两者优点点,值得得人们深深人研究究。第七章协协议实实现技术术作为例子子,图7.10示出传输输层报文文发送的的并行模模型,图图7.11

39、示出传输输层报文文接收的的并行模模型。图图7.10中,会晤晤层交给给传输层层的报文文流(TSDU流)按轮轮循法则则分配绘绘m个处理器器(P1,P2,Pm),并放放在各个个处理器器的局部部存贮器器队列(q1,12,qm)中。报报文发出出之后,它进入入Rctran队列。由由处理器器R负责报文文的重发发。图7.11中,网络络层交给给传输层层的输人人报文流流(TPDU流)按轮轮循的方方法分配配给n个处理器器(P1,P2,Pn),并放放在各个个处理器器的局部部存贮器器队列(q1,q2,qn)中。正正确的报报文收到到之后产产生一个个ACK信息放人人ACK队列。处处理器Q专门负责责发送入入ACK报文。图图7

40、.10和图7.11只是一个个传输层层协议并并行处理理的模型型,将它它们付诸诸实现还还必须解解决以下下一些问问题。图7.10传输层报报文发送送并行模模型图图7.11传输层报报文接收收并行模模型第七章协协议实实现技术术第七章协协议实实现技术术1发送窗窗口问题题RTD(RoundTime Delay)指报文文从一个个传愉层层协议实实体到另另外一个个传愉层层协议实实体之间间来回传传送一次次的延迟迟时问,它是传传愉层窗窗口流控控制的重重要参数数。当两两台机器器距1000千米时,RTD近似于10ms。在数据据传输1Gbps时,一个个长度为为512字节的报报文只需需4us传送时间间,这意意味着发发送方可可在RTD=10ms时间内连连续发生生2500个报文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论