欢迎来到天天文库
浏览记录
ID:52701414
大小:658.27 KB
页数:8页
时间:2020-03-29
《面向对象的网络协议 (22).pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、下载第18章性能测定本章评价TIP的性能,提供在TIP和TCP/IP之间进行比较的基准检验程序,研究TIP的模块化和配置概念对总吞吐率的影响。18.1测试环境测试环境由通过一个以太网和一个ATM网互连的两台SunSPARCstation10构成。两台工作站都运行SunOS4.1.3操作系统。客户站(该站发送数据并进行测量)的主频为30MHz,而服务器站的主频为40MHz。以太网只用来为客户和服务器进行通信,同步测试的运行。ATM网用于实际的吞吐率测量,它包括一个Fore公司ASX-200交换机(3.0.1版驱动程序),和插入我们的客户和
2、服务器站的Fore公司SBA-200/125ATM板(3.0.1b版驱动程序)。每个ATM板都嵌入了专用的硬件,处理AAL5和AAL3/4分段和重组(segmentationandreassembly,SAR)功能。物理层由AMDTAXI芯片实现,它提供100Mbit/s的数据率。在ForeATM应用编程接口处可用的最大数据率是87300kbps。在测试期间,除了UNIX的基本系统活动以外,没有其他应用程序使用ATM网络,也没有其他应用运行在客户站和服务器站上(这给出了一个实际的UNIX环境)。18.2测试程序所用的测试程序是以GNUC
3、++编写的,它拥有一个客户部分和服务器部分。客户部分运行在用户空间的客户站,它控制测试的运行和完成时间的测量。服务器部分运行在用户空间的服务器站,它消费外来的测试数据。在客户和服务器之间存在着两个连接:一个控制连接,为测试的同步运行交换信息;一个数据连接,其中传输实际的测试数据以及完成吞吐率的测量。图18-1给出了测试系统的配置。客户站服务器站控制连接客户客户测试程序对象数据流源数据流汇TIP对象数据连接BSDSocketsTCPUDPUDPTCPIPIPAAL5/ATM图18-1测试系统配置第18章性能测定计计197下载为每次测试运行
4、在客户机服务器之间所使用的控制协议示于图18-2。客户发送一个“测试运行开始”的请求,并等待响应。服务器收客户服务器到了该请求,并在所有相关的初始化工作完成测试运行开始之后,以“测试运行就绪”进行证实。刚一收到响应,客户就建立起数据连接,将通过gettimeofday系统调用得到的测试开始时间记测量得到的时间测试运行就绪录下来,然后发送16MB的测试数据,并等待由服务器在控制连接上发回的一个“测试运行测试运行使用数据连接结束”指示。该指示一到达,客户就再次调用gettimeofday来决定测试结束的时间。测试结束和测试开始之间的时间差就
5、给出了从存储器测试运行结束到存储器单向传输16MB数据所经历的时间(包括传输“测试运行结束”指示的时间)。注图18-2单个测试运行序列意,我们测量的只是一个连接的数据传输阶段,不包括打开或关闭该连接所需要的时间。每个所运行的测试被重复25次,然后估算相关的吞吐率的峰值和平均值,以及平均值的标准差。被测量的数据连接由TIP提供,它的软件作为程序库连接到测试程序上,因此两者作为一个单一的用户进程运行。为了向下兼容,因特网协议组(TCP、UDP和IP)是由TIP逻辑构成的,从物理上说它们位于UNIX内核中,在TIP中它们是由提供以BSDSoc
6、kets访问因特网服务的特殊模块表示的。对于TCP套接字,发送缓冲和接收缓冲被设置为52428字节,而UDP套接字为32732字节(这些都是系统给定的上限),这样在测试时,无论何时都能使用最大的接口缓冲。连接到测试程序的TIP软件包括:协议操作系统Channels;经选择的Sockets++,以及想要进行的性能测量所需要的Tempo和因特网模块。由于我们的评估集中在数据传输阶段所能达到的吞吐率,只要组装一个数据流源和一个数据流汇所需要的模块。经过特别挑选的模块列于表18-1中。这些模块允许一个可靠的数据流,它拥有或者没有分段功能,有或者
7、没有多点播送功能,使用UDP或者TCP。一般说来,TIP也能直接在IP和AAL5/ATM上运行。然而,其相关的性能测量尚待进一步研究。表18-1为性能评价所挑选的模块类模块类描述Sockets++SRC提供发送SDU的基于消息的接口SNK提供接收SDU的基于消息的接口TempoSEG向下提供SDU分段功能,向上提供重组功能SND提供可靠的传输PDU到单个数据流汇SND_N提供可靠的传输PDU到多个数据流汇SND_S_N完成SND_N和SEG功能RCV提供PDU的可靠的接收功能,即根据要求产生选择性重传,指示丢失的数据PDURCV_S完成
8、RCV和SEG功能HAND_THROUGH空模块,它以透明的方式把从用户接收到的消息转发给提供者,或者反之NetglueUDP提供对UDP服务的基于消息的访问TCP提供对TCP服务的基于消息的访问TCP_B
此文档下载收益归作者所有