(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf_第5页
已阅读5页,还剩89页未读 继续免费阅读

(计算机应用技术专业论文)基于ip时间戳选项的网络测量程序的设计与实现.pdf.pdf 免费下载

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

文档简介

基于i p 时间戳选项的网络测量程序的设计与实现 摘要 网络测量可用来考察某个协议或某个应用在因特网中的性能水 平。网络测量的详细分析能够帮助确定性能“瓶颈”。一旦解决了被 确定的性能问题,就能够研制性能更好的新协议。 下一代因特网网络规模进一步扩大,网络流量高速增长,以及 i p v 6 、i p v 4 双协议的使用,网络测量也面临着新的课题。 采用主动网络测量技术,利用i p 协议的时间戳选项,从源端向 目的端发送带有i p 时间戳选项的请求回显数据包,该数据包将穿越 每一路由器的当前时间记录在i p 选项内。目的端应答生成回显数据 包,并将原报文中的i p 选项数据复制到回显数据包中,发回给源端。 对回显数据包中的i p 选项数据进行处理和分析计算,就可获得网络 状态和性能的信息。 本文对l i n u x 系统下i p 协议和i c m p 协议的实现进行了研究,并 提出了l o s 算法的解决方案,实现了一个网络测量程序,从而能够正 确统计网络链路的利用率。 关键词时间戳i c m p 链路利用率原始套接字l i n u x 网络测量 t h ed e s i g na n di m p l e m e n t a t i o no ft h e n e t w o r km e a s u r e m e n tp r o c e d u r e sb a s e d o ni pt i m e s t a m po p t i o n a b s t r a c t n e t w o r km e a s u r e m e mc a nb eu s e dt oi n s p e c tt h ep e r f o r m a n c el e v e l o fac e r t a i np r o t o c o lo ra na p p l i c a t i o nu s e di nt h ei n t e r n e t n e t w o r k p e r f o r m a n c em e a s u r e m e n ta n dd c t a i l e da n a l y s i sh e l pt oi d e n t i 母t h e ”b o t t l e n e c k s ”o fn e t w o r kp e r f o r m a n c e o n c et h ei d e n t i f i e dp e r f o r m a n c e p r o b l e m s h a v eb e e ns o l u t i o n 。w ew i l lb ea b l et o d e v e l o pb e t t e r p e r f o r m a n c eo f t h en e wp r o t o c 0 1 w i t ht h es c a l eo ft h en e x tg e n e r a t i o ni n t e r n e tn e t w o r k sf u r t h e r e x p a n d i n g ,n e t w o r kt r a f f i cg r o w t h ,a n di p v 6a n di p v 4c o e x i s t i n g , n e t w o r km e a s u r e m e n ti sa l s of a c i n gn e wi s s u e s t h eu s eo ft h ea c t i v et e c h n o l o g yo fn e t w o r km e a s u r e m e n ta n di p t i m e s t a m po p t i o nc a nf o r c et h ed a t ap a c k e tw i t hi pt i m e s t a m po p t i o nt o s e n tf r o ms o l i c ei pt oo b j e c t i v ei p , t h e n ,e a c hd a t ap a c k e tr e c o r dt h et h e r o u t e r sc u r r e n tt i m ei ni pt i m e s t a m p o p t i o nf o l l o w i n gr o u t i n g 孔e r e s p o n s e dd a t ap a c k e t st h a ta r er e p l i c a t e di po p t i o nf r o ma r r i v e dd a t a p a c k e ti nt h eo b j e c t i v ei pr e t u r nt ot h eo r i g i n a li p a f t e rd a t ap r o c e s s i n g a n d a n a l y s i s o fd a t a p a c k e t w i mi p o p t i o n , n e t w o r ks t a t u s a n d p e r f o r m a n c ei n f o r m a t i o nc a nb eg a i n e d t h i sa r t i c l er c s e a r c hi m p l e m e n t a t i o no fi pp r o t o c 0 1a n di c 【p p r o t o c o lo nl i n u xs y s t e m p r o p o s e dt h es o l u t i o no fl u sa l g o r i t h ma n d p r o g r a m man e t w o r km e a s u r e m e n tp r o c e d u r e st h a tb ea b l et oc o r r e c s t a t i s t i c st h eu t i l i z a t i o no f t h el i n ki nt h en e t w o r k k e yw o r d st i m es t a m p r a ws o c k e t i c m p l i n ku t i l i z a t i o ns t a t i s t i c l i n u xn e t w o r km e a s u r e m e n t 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:豸醴笙日期:翌亟墨:兰兰 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 1 1 课题背景 第一章前言 网络的流量和规模高速增长,网络融合正在不断加快,如果没有更细化的网 络监测管理手段,网络良性运营是无法实现的。下一代网络要实现对网络资源及 运行状况进行细致的网络监测,包括链路、带宽资源、流量流向、时延、抖动、 丢包率等,以指导网络的扩容或者优化。网络测量迎来了一个具有挑战性的发展 机会。 采用主动网络测量技术,利用诤协议的时间戳选项,从源端向目的端发送 带有口时间戳选项的请求回显数据包,该数据包将穿越每一路由器的当前时间 记录在口选项内。目的端应答生成回显数据包,并将原报文中的m 选项数据复 制到回显数据包中,发回给源端。对回显数据包中的m 选项数据进行处理和分 析计算,就可获得网络状态和性能的信息。 l i n u x 是一种开放源代码的多任务、多用户的计算机操作系统,以免费使用、 高效性和灵活性著称。 出于这些原因,网络测量软件的开发和研究正在越来越多地使用开放源代码 平台。 1 2 研究内容 本课题的主要研究内容就是研制出口网络测量软件。 按照是否主动向网络中发送探测数据包,网络测量可分为主动测量和被动测 量。近年出现的主动网络测量技术集中在:( 1 ) 端到端时延测量;( 2 ) 丢包率测量; ( 3 ) 网络性能拓扑推测等方面。 端到端的时延测量一般采用构造具有一定特征的探测数据包,各个探测数据 包自动记录在穿越网络时所发生的相对时间坐标变化,从而获知网络状态。 根据上述的思想方法,本文所设计和实现的软件采用主动测量技术,将口 时间戳选项与i c m p 协议结合使用。首先,在源端使用原始套接字构造包含有 i c m p 回显请求的口时间戳选项的探测数据包。其次,从源端向网络发送该探测 数据包,穿越网络的探测数据包逐跳记录每一跳路由器的当前时间。然后,目的 端接收此探测数据包以后,生成i c m p 回显数据包,并将原数据包中的口选项 数据复制到回显数据包中,返送回给源端。最后,源端获得返回的该探测数据包, 计算出在每一跳的排队时延,并通过l l i s 算法对排队时延的处理,得到链路的 北京邮电大学硕+ 研究生学位论文第一章前言 利用率。 该方法对目的端的设备无特殊要求,在i p v 4 网络中可以一次最多探测9 条 链路。在无线网络环境下该方法可以以无线终端为源点探测包括核心网在内的上 下行链路利用率,也可以与端到端的瓶颈带宽测量、时延和抖动测量、丢包率测 量以及拓扑测量共同协作,实现端到端的网络性能评价,便于运营商在客户端验 证业务的性能,提升其运营水平。 由于l i n u x 的开源、自由和共享,最重要是l i n u x 的免费和强大的网络功能, 所以本文所设计和实现的软件就选择了l i n u x 作为开发环境和运行平台。 本课题涉及到关键的技术是l u s 算法,i p 数据的捕获技术和解析技术。 1 2 1 l u s 算法 l u s 算法是本课题的关键部分。通过研究口网络,使用数学模型对网络的 使用情况进行统计和预测,这是l u s 算法的基本出发点,也是网络测量技术的 重要研究方法。 l u s 算法利用m 时间戳,对网络路由结点之间的链路进行数学算法描述和 统计。在第五章中详细地描述了l u s 算法。 1 2 2i p 数据的捕获技术 网络数据捕获模块是本课题的基本组成部分,它是实现整个课题的基础,为 整个系统提供数据来源。因此,在设计和实现整个系统时,必须保证网络数据捕 获模块工作快速,稳定和可靠。 一般来说,在t c p 1 p 网络中捕获数据包的方式有第二层捕获、第三层捕获 和高层捕获等几种方式。第二层捕获是指在数据链路层直接进行包捕获,它能够 获得包括数据链路层包头在内的完整数据包;第三层捕获只捕获m 层以上的完 整数据包;高层捕获则是只捕获高层数据,不包括底层的数据。由此可见,第二 层数据捕获能获得完成的数据包,而其他的捕获方式只能捕获一部分数据,这样 往往会漏掉一些测量中所必需的原始检测信息,所以一般来说采用的都是第二层 的数据捕获方式。 1 2 3i p 数据包解析技术研究 根据数据包的协议字段、地址、端口信息和时自j 段等特征进行分析。根据数 据包的协议字段可以分析数据包的各种协议类型。根据地址、端口、时自j 段等特 征可以做出相应的统计图表。例如:通过对于协议字段的检查,可以分类口层 2 北京邮电大学硕上研究生学位论文第一章前言 上的三种协议:t c p 、u d p 和i c m p 的数据包。 定期地对网络数据包进行流量分析和调整,是及时了解当前网络性能,避免 停运和提供发现早期问题的重要步骤。通过网络流量分析及优化测试,用户可以 及时获得各网段及关键网络设备的使用情况( 利用率、碰撞、错误及广播四大参 数1 。对各网段进行流量分析,可以清楚地描述出各网段的网络带宽的最大占用 者,以便于进行以后的网络管理和用户跟踪。 1 2 a 实现的难点 本项目研究内容是需要在l i n u x 操作系统上开发和实现i p 网络测量软件,以 统计网络链路的利用率,其实现的难点有下面几点: l u s 算法 t c p i p 协议中,i c m p 协议和m 协议交互作用的实现复杂性 口数据的捕获技术和数据解析技术 1 3 国内外相关研究现状 目前国内外对m 的网络测量技术已经进行了很多研究,取得了许多成果, 并在商业产品上经过了实践检验。但是由于网络安全问题日益突出,对路由结点 的时自j 戳使用技术加以限制,相关的研究几乎没有公开发表过。 随着大规模部署基于i p v 6 的骨干网络,对于i p v 6 的一些新特性以及由此带 来的网络安全方面的问题,需要找出更高效安全的m 时问戳使用算法,所以本 课题所研究的口时间戳技术将促进我国在口网络的相关研究,具有一定的理论 和实际价值。 1 4 论文的主要内容和结构安排 本论文主要论述在l i n u x 操作系统中如何使用原始套接字和m 时间戳选项开 发网络测量程序及其部分关键技术的设计与实现,将主要分为三部分进行论述。 本文章节内容安排如下: 第一部分包括第一章和第二章。第一章为前言,主要描述了课题的背景和要 求,以及本课题的性质和意义。第二章为网络测量综述,介绍了网络测量的定义 和指标,在网络测量的分类和典型项目中将主动测量和被动测量重点做一对比, 最后介绍了网络测量体系结构和典型应用。 第二部分包括第三章和第四章。第三章为t c p 口协议,由于本文所设计和 实现的软件只使用m 和i c m p 协议,所以主要介绍口和i c m p 协议的数据报格 北京邮电大学硕 :研究生学位论文 第一章前言 式和时间戳选项。第四章为l i n u x 操作系统的网络编程,主要介绍了l i n u x 操作 系统网络编程和与t c p m 协议有关的基本知识。 第三部分包括第五章和第六章。第五章为程序设计与实现,主要论述了网络 测量程序及其部分关键技术的设计与实现,其中一些难点和重点部分的研究和实 现是最主要的。这是本论文的主体。并且第五章最后给出了l u s 程序的测试结 果。第六章为总结,主要描述了本课题研究的成功点,同时进行了技术展望。 4 第二章网络测量综述 随着因特网规模的迅速扩大,因特网出现了重大的变化。在因特网的变化中, 最突出的就是网络从单纯的数据传送发展到多媒体信息传送,这就使得网络流量 的形式发生了极大的变化。这种变化动摇了因特网设计的理论根基,使得网络流 量模型从基于泊松分布变为基于自相似。 由于量化分析能够更清楚地说明事物的本质,同时也更有利于统一标准,因 此,因特网的网络测量成为迫切需要解决的关键问题。 2 1 网络测量的定义 网络测量是指遵照一定的方法和技术,利用软件和硬件工具来测试或验证表 征网络性能的指标的一系列活动的总和。 对网络进行研究的最终目的是为了建立高效、稳定、安全、互操作性强,可 预测以及可控制的网络,而网络测量是获得最原始的网络行为指标和参数的最有 效的手段。 从概念上讲,网络测量是收集和分析网络协议运行性能的手段,可以帮助人 们更加深入地认识网络的一些内在机制。因此,当前网络测量己成为网络研究的 重点之一。 国外最早的网络测量始于7 0 年代初,逐渐成熟于8 0 年代,9 0 年代已渐成体系。 在2 0 世纪9 0 年代初期就有人开始研究因特网的测量。1 9 9 5 年美国科学基金会 ( n s f ) 系统地进行了因特网通信量的较大规模测量。1 9 9 6 年初,美国应用网络 研究国家实验室( n “州r ) 在n s f 支持下召开了有关因特网统计与分析的研讨 会i s m a 。此后,依托于美国加州大学圣地亚哥分校超级计算中心的因特网数据 分析合作组织( c a i d a ) ,对网络测量的相关理论和方法展开了系统性研究。i e t f 也成立了专门的工作组i p p m 来制定口网络的运行参数。1 9 9 7 年,v p a x s o n 的博士 学位论文“因特网的端到端动态性能的测量与分析”成为网络测量领域中的经典 文献啪。 实际上网络测量也是一种技术,它通过收集数据或分组的踪迹来显示和分 析在不同网络应用中网络分组的活动情况。 从研究的实质上看,网络测量可以把因特网从技术上升到科学,并且能够更 好地指导应用。可以说,对因特网的测量是对因特网进行控制的基础和前奏。 5 北京邮电大学硕士研究生学位论文第一二章网络测量综述 2 2 网络测量指标 因特网的测量有许多常用的指标。例如,分组时延( 单向或往返时延) 、 丢包率( 即分组丢失率) 、带宽( 包括容量、“瓶颈”带宽、可用带宽) 、可达 性、路由和跳数、网络系统的性能( 包括服务器性能、客户性能和网络路径性能 等) 。 2 2 1i t u _ t 定义的i p 网络性能参数 i t u t 对i p 网络性能参数的定义包括: 1 ) i p 包传输延迟( p a c k e tt r a n s f e rd e l a y ,i p t d ) 2 ) i p 包时延变化( i pp a c k e td e l a yv a r i a t i o n 。i p d v ) 3 ) i p 包误差率( i pp a c k e te r r o rr a t ei p e r ) 4 ) i p 包丢失率( i pp a c k e t l a s sr a t e ,i p l r ) 5 ) 虚假i p 包率( s p u r i o u si pp a c k e tr a t e ) 6 ) 流量参数( f l o wr e l a t e dp a r a m e t e r s ) 7 ) 业务可用性( i ps e r v i c ea v a i l a b ili t y ) 2 2 2i e t f 定义的i p 网络性能参数 i e t f 将性能参数称为“度量( m e t r i c ) ”。由i p p m ( i p p e r f o r m a n c em e t r i c s ) 工作组来负责网络性能方面的研究及性能参数的制定。i e t f 对i p 网络性能参数的 定义包括: 1 ) i p 连接性 2 ) i p 包传送时延 3 ) i p 包丢失率 4 ) i p 包时延变化 5 ) 流量参数 2 3 网络测量分类与研究进展综述 网络测量的分类标准有多种: 根据测量的方式,分为主动测量和被动测量。 根据测量的内容,分为拓扑测量、性能测量与流量测量。 根据测量点的多少,分为单点测量与多点测量。 根据被测量者知情与否,分为协作式测量与非协作式测量。 6 北京邮电大学硕士研究生学位论文 第一二章同络测量综述 根据测量所采用的协议,分为基于b g p 协议的测量、基于t c p i p 协议的测 量以及基于s n m p 协议的测量。 2 3 1 主动测量 在主动测量方式中,通过向网络中发送数据,观察结果和发送数据所需时间 来研究网络的行为。主动测量向网络中发送实际的业务量,利用这些业务量测量 反映网络提供给其他用户的服务的参数,包括r o u n d - h i pt i m e ( i m ) 和丢包率。 在主动测量项目中,测量的范围比被动测量大得多,可大到全球。如此庞大 的测量体系,有可能造成较大的网络负荷,且难以统一配置和管理。 到目前为止,人们所做的大多数项目都涉及到主动测量。典型的主动测量项 目有: 美国的n i m i ( n a t i o n a li n t e m e tm e a s u r e m e n ti n f r a s t m c u e ) 项目,利用p i n g 、 仃a 艄u t e 和m 仃a c e 等工具进行主动测量。 a m p ( a c t i v em e a s u r e m e n tp r o g r a m ) 项目,采用p i n g 避行双向测量,测量r 1 盯、 丢包率和拓扑。到了2 0 0 0 年6 月,运行主动测量监视器的源站点有1 1 6 个( 美国1 1 4 个,新西兰、挪威各1 个) ,被测量的目的站点约有1 3 3 4 0 个。其目的是为了增强 参与站点和用户对高性能网络运行情况的理解,帮助网络用户和提供商分析问 题。 s u r v e y o r 是一个建立在全球参与站点上的测量平台,部分由n s f 支持。 s u r v e y o r 钡4 量i n t e r n e t 的路径性能,包括单向延时、损耗、路由测量等,并研究相 应的分析方法与工具。设有5 5 个监测点,在1 8 8 3 条路经上进行单向时延测量。1 。 依托于u c s d s d s c ( u n i v e r s i t yo f c a l i f o r n i a , s a nd i e g o ,s u p e r c o m p u t e rc e n t e r ) 的研究部门c a d a ( c o o p e r a t i v ea s s o c i a t i o nf o ri n t e m e td a t aa n a l y s i s ) ,开展网络 测量、分析、可视化工具的研发,维护全球因特网平台的健壮性和可扩放性,受 到n s f ( n a t i o n a ls c i e n c ef o u n d a t i o n ) 、d a r p a ( d e f e n s ea d v a n c e dr e s e a r c hp r o j e c t s a g e n c y ) 、i s p ( i n t e m e ts e r v i c ep r o v i d e r s ) 和硬件供应商的资助,研究对象包括 i n t e m e t 拓扑结构、网络负载、网络性能、网络路由,监测正异常活动,关注带 宽估计,负载刻画,长期趋势识别,以进行流量工程设计、能力计划、安全迹象 检测,等等。 加拿大国家研究机构使用p e r ls c f i p t 跟踪对t r i u m f 感兴趣的节点。每1 0 分钟 检测一次丢包率,每天收集4 次t r a c e r t 数据并生成网络可视化图。 欧洲的p p n c g ( p a r t i c l ep h y s i c sn e t w o r kc o o r d i n a t i n gg r o u p ) 项目,监视全欧 洲某些粒子物理研究所的网络端到端性能,并加以优化 7 1 。 7 北京邮电大学硕t :研究生学位论文第二章嘲络测量综述 2 3 2 被动测量 在被动测量方式中,记录网络活动的探针被接入到网络中,在大多数情况下 探接到网络节点之间的连接上,汇总和记录那条连接上业务流量的信息。 被动测量主要在一个特殊点观察网络的行为,不增加和修改通过网络的数据 负载,因此对网络的行为没有影响。这种方法能够达到对观察点网络行为的详尽 理解,但难以获得对网络的整体理解,或者对网络的端到端行为的理解。被动测 量经常用于测量业务量的特征。同时不难看出,被动测量的前提是协作,否则无 法在测量点安装必要的软、硬件设备,其测量范围由此而受限。 典型的被动测量项目有: 受美国国家科学基金会n s f 资助的美国应用网络研究国家实验室f n l a n r ) 的测量项目p m a ( p a s s i v e m e a s u r e m e n t a n d a n a l y s i s ) ,旨在为高级网络( 如v b n s , a b l i e n e ) 提供协作性的服务支持。它采用o c3 m o n 数据搜集系统,包括专门的群 机系统、装有f o r ea t m c a r d s 和o p t i c a ls p l i t t e r s ( 分光器) ,采集a t m 的数据流, 使用c o r a l r e e f 根据一定的规则集进行数据采集,并可使用p e r l 等语言对数据进行 分析嘲。 b e r k e r l e yu n i v e r s i t y 和i b m 共同开发的s p a n d ( s h a r e dp a s s i v en e t w o r k p e r f o r m a n c ed i s c o v e r y ) 项目,它通过对捕捉到的u d p t c p 分组进行分析得到连接 带宽、丢包率等性能p j 。 2 3 3 主动测量与被动测量的结合 主动测量的优点是对测量过程的可控性比较高,灵活、机动,易于进行端 到端的性能测量:缺点是注入的测量流量会改变网络本身的运行情况,使得测量 的结果与实际情况存在一定的偏差,而且测量流量还会增加网络负担。 被动测量的优点在于理论上它不产生多余流量,不会增加网络负担;其缺点 在于被动测量基本上是基于对单个设备的监测,很难对网络端到端的性能进行分 析,并且可能实时采集的数据量过大,另外还存在用户数据泄漏等安全性和隐私 问题。 主动测量与被动测量各有其优、缺点,而且对于不同的性能参数来说,主动 测量和被动测量也都有其各自的用途。因此,将主动测量与被动测量相结合将会 给网络性能测量带来新的发展。 2 3 4 其他测量方式 从测量点的数量来讲,网络测量分为单点和多点测量。在研究初期,许多工 8 北京邮电人学硕士研究生学位论文第二章列络测量综述 作都属于单点测量,但因为测量能力有限,搜集的信息不全面,分布式多点测量 应运而生。尤其是多点主动测量,利用多个探测点得到的数据,能够综合出大规 模的网络数据和单点所得不到的交叉路由信息。 单点测试的典型例子是贝尔实验室的i n t e r n e tm a p p i n g 项目,这是一个非合 作测量。该项目成功地描述了科索沃战争期间南斯拉夫和科索沃两个网络的拓扑 变化情况,这表明在口网络测量中,单点非合作测量具有相当强的网络探测能力。 这也是网络测量在军事领域中应用的典范。 在拓扑测量方面,多数项目显示的是逻辑拓扑关系图。随着测量范围的扩大, 整张图规模结构也随之扩大。这时,人们往往希望与实际地域位置相对应,也就 是具有地理信息的拓扑图。s k i t t e r ( c a i d a ) 针对从几个源点到成千上万个目标点 收集到的路径信息进行拓扑结构和性能属性的可视化,并且开展了a s 的地理信 息图方面的研究。 在性能测量方面,相关项目开展得较多,测量内容包括吞吐量、延迟、丢包 率,并作网络可靠性、稳定性、可达性等方面的分析。这一方面是为了对一个特 定网络进行维护管理,保障服务质量,如p p n g g 和t r l u m f 项目。另一方面是为 了预报网络性能,如n p a c i s n e t w o r k w e a t h e r s e r v i c e 每隔一定的时间间隔,周 期性地监视、动态地预报( 各种网络及计算资源) 网络性能。收集某一时刻的数据, 通过数值模型预测下一时段的t c p i p 端到端的吞吐量、延迟,主要用于广域网上 的大规模计算的调度,在元计算软件平台上开发服务质量保证。更深入的分析工 作,如异常检测,尚在研究之中“m ,。 2 4 网络测量的体系结构 网络测量的体系结构从层次上说,是一个数据工程。从高层到低层依次为数 据表示、数据分析、数据管理、数据采集。 2 4 1 数据采集 数据采集是关键,包括主动测量采集、被动测量采集。利用主动测量易于控 制的优点,合理地设置测量分组:同时也利用被动测量不影响系统性能的优点, 适当选择测量探针的位置( 包括考虑通过测试点的业务) 。 数据采集着重考虑以下几个问题:一是数据采集时,尽量照顾到各种性能指 标;二是提供一个向第二层统一的访问接口;三是数据采集的粒度要满足所测指 标的需求,尽量减轻网络的开销;四是采样间隔的选择,这应视具体情况而定。 9 北京邮电大学硕t :研究生学位论文第二章嘲络测量综述 2 4 2 数据管理 由于测量得到的数据是非常庞大的,需要合适的数据存贮方法、维护、检索 策略。为便于分析,还需要将数据格式化。考虑到数据共享,一般运用数据库技 术,同时考虑到灵活性,也采用文件存贮方式。在数据存贮以前,作必要的预处 理,以压缩存贮量。 2 4 3 数据分析 数据分析需要研究如何定义每个行为指标,分析其包含的因素,如算法、误 差来源、测量单位等,还要考虑测量环境、测量方法、测量工具的影响。将所有 这些影响因素量化描述,即对应一个指标。由基本的性能指标能组合出新的指标, 还可定义反映网络整体性能的综合指标。 在测量得到原始数据后,首先对某一指标的大量样本采用统计学的方法进行 分析,得出均值、方差等基本统计量;其次由一些数学模型( 如时自j 序列预测、 回归分析、判断预测、小波分析等) 作出性能趋势预测;进而采用数据挖掘( d a t a m i n i n g ) 技术进行关联分析,得出网络本质的行为规律。经过这些步骤,通过归 纳、综合、分析、演绎对每一个指标给出合理的定义和分析算法”1 。 2 4 4 数据表示 数据表示即直观形象地表示出测量结果,发挥艺术想像力,可借鉴网管软件 采用的方法,也可征求网管人员和用户的意见。采用图形用户界面g u i ,以直方 图、二维、三维坐标曲线,扇形图,报表等形式。 2 5 网络测量的典型应用 网络测量的具体用途可分为以下几大类: 2 5 1 故障诊断 某些网络部件的故障会干扰整个网络的运行,例如,广播风暴、非法分组长 度、地址错误、安全性攻击等,需要对这些故障进行诊断。 2 5 2 协议排错 网络的研制者经常要对网络应用和网络协议的新改进的版本进行测试。而网 络测量能够为新协议和应用程序的正确运行“提供手段使其和标准保持一致口, i o 北京邮电大学硕j :研究生学位论文第一二章网络测量综述 或使老的版本向后兼容。 2 5 3 网络流量特征化 网络测量可使用统计技术来分析经验数据,从而提取出网络应用或网络协议 的特征。流量特征化使设计的网络协议和网络设备具有更好的特性。 2 5 4 性能评价 网络测量可用来考察某个协议或某个应用在因特网中的性能水平。网络测量 的详细分析能够帮助确定性能“瓶颈”。一旦解决了被确定的性能问题,就能够 研制性能更好的新协议。 2 5 5 其他用途 网络测量还有许多其他的用途,例如,用于选择服务器i s p 设备,用于验证 网络配置,用于设计因特网的新应用,用于配置网络或服务器,用于广域网中的 负载平衡以及用于计费等方面。 第三章t c p i p 协议 网络编程,主要是涉及网络函数的使用方法。但是,大部分网络编程问题 和网络编程无关,这些问题主要是集中在低层的网络协议实现的细节上。正如 r i c h a r ds t e v e n s 在t c p i p 详解中所说,在网络编程领域,开发者所遇到的实际 问题中,大约有9 0 都与开发者对于t c p i p 协议的理解相判加】。所以在具体使 用网络函数之前,本文先介绍t c p 协议。 本章主要侧重于从应用程序的角度讨论m 和i c m p 协议的问题,主要介绍 它们的数据报格式和时间戳选项。 3 1t c p ,i p 协议 t c p 口协议( t r a n s f e rc o n t r o l np r o t o c o l i n t e r n e tp r o t o c 0 1 ) d q 做传输控制网际 协议,又叫网络通讯协议。t c p i p 协议是互联网络的基础协议。它规范了网络 上的所有通信设备,尤其是一个主机与另一个主机之自j 的数据传输格式以及传送 方式。 t c p m 协议层次如图3 1 所示。t c p i p 协议采用了分层的层级结构,每 一层都需要它的下一层所提供的网络服务来完成自己的需求。 图3 1t c p 口协议层次 注;本章的引用围均来源于 t c p i p 详解卷1 :协议一书 下一部分描述每种报文,给出报文格式和意义的细节。 1 2 应用层 传输层 网络层 数据链路层 北京邮电大学硕:l 研究生学位论文 第三章t c p i p 协议 3 2 i p :网际协议 m 是t c p 口协议族中最为核心的协议。无论传输层使用何种协议,都要依 赖i p 来发送和接受数据。 口提供不可靠、无连接的数据报传送服务。不可靠的意思是它不能保证ip 数据报能成功地到达目的地。口仅提供最好的传输服务。口处理错误的简单算 法:丢弃该数据报,然后发送i c m p 消息报给信源端。任何要求的可靠性必须由 上层来提供( 如t c p ) 。无连接的意思是口数据报的接收顺序不一定是发送顺序。 3 2 1i p 数据报的格式 j 版本曳部k 度服务类型总长度 标识分段标志分段偏移曩 生存时闻协议校验和 2 0 : 源地址 目标地址 选项填充 数据 图3 2 口数据报格式及首部中的各字段 口数据报的格式如图3 2 所示。字段大小以字节为单位。 版本:用于传输数据的口版本,大小为4 位。 首部长度:用于规定报头长度,包括任何选项。由于它是一个4 位字段,因 此首部最长为6 0 个字节。普通口数据报( 没有任何选择项) 字段的值是5 。疋 首部长度必须为4 字节的整数倍。 服务类型( 1 o s ) :用于设置数据传输的优先权或者优先级,其大小为8 位。 总长度字段:指出数据报的总长,大小为1 6 位。标识字段:用于标识所有 的分段,大小为1 6 位。 分段标识:确定一个数据报是否可以分段,同时也指出当前分段后面是否还 有更多分段,大小为3 位。 分段偏移量由目标计算机用于查找分段在整个数据报中的位置,大小为1 3 位。 北京邮电大学硕j :研究生学位论文第三章t c p ,i p 协议 生存时间”儿( t i m e - t o - l i v ) :设置了数据报可以经过的最多路由器数,大 小为8 位。 协议字段:指定用于创建数据字段中的数据的上层协议,大小为8 位。 首部检验和:检查所传输数据的完整性,大小为1 6 位。首部检验和是根据 m 首部计算的检验和码。它不对首部后面的数据进行计算。 为了计算一份数据报的m 检验和,首先把检验和字段置为0 。然后,对首部 中每个1 6 位进行二进制反码求和( 整个首部看成是由一串1 6 位的字组成) ,结 果存在检验和字段中。当收到一份口数据报后,同样对首部中每个1 6 位进行二 进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和, 因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为 全l 。如果结果不是全1 ( 即检验和错误) ,那么i p 就丢弃收到的数据报。但是 不生成差错报文,由上层去发现丢失的数据报并进行重传。 由于当路由器转发一份报文时经常会修改r r l 字段( 减1 ) ,因此需要对i p 整个首部的检验和进行重新计算。 与m 检验和算法不同,i c m p 、i g m p 、u d p 和t c p 都采用相同的检验和算 法。i c m p 、i g m p 、u d p 和t c p 在它们各自的首部中均含有同时覆盖首部和数 据检验和码。 源m 地址和目的i p 地址:字段长度都是3 2 位的值。 选项:是数据报中的一个可变长的可选信息,字段长度具体取决于所选择的 口选项。选项字段一直都是以3 2 位作为界限,在必要的时候插入值为0 的填充 字节。这样就保证口首部始终是3 2 位的整数倍( 这是首都长度字段所要求的) 。 目前,m 选项包括:安全和处理限制、记录路径、时间戳、宽松的源站选路 和严格的源站选路。 数据:包含网络中传输的数据,口数据报还包括上层协议的报头信息 网络编程设置口数据报时,没有使用的字段必须设置为0 。 3 2 2i p 时间戳选项 口时间戳选项的格式如图3 3 所示。 i 一一一4 0 字节 l 字节l 字节i 字节 4 字节 4 字节4 字节4 字节 图3 - - 3i p 首部中时自j 戳选项的一般格式 c o d e :指明i p 选项的类型,1 个字节。时间戳选项的代码为0 x 4 4 。 北京邮电大学硕j :研究生学位论文第二三章t c p i p 协议 l e n 字段:选项的总长度,1 个字节。最多可以记录9 个时间戳选项,在这种 情况下为4 0 ( 由于m 首部中留给选项的空间有限,它一般情况都设置成最大长 度) 。 p 虮指针字段,p 心字段指向下一个可用空间的指针( 5 ,9 ,1 3 等) 。它是一 个基于1 的指针,指向存放下一个时间戳选项地址的位置。它的最小值为5 ,指 向存放第一个时间戳选项地址的位置。随着每个时间戳选项地址存入清单,p 仕 的值分别为9 ,1 3 ,1 7 ,最大到3 7 。当记录下9 个时间戳选项地址后,p 仃的值 为4 l ,表示清单已满。 o f :溢出字段,4 位的值。如果路由器由于没有空间而不能增加时间戳选项, 那么它将增加溢出字段的值。 f l :标志字段,4 位的值。时间戳选项的操作根据标志字段来进行: 表3 1 时间戳选项不同标志字段值的意义 标志描述 o 只记录时间戳。 l每台路由器都记录它的地址和时间戳。在选项列表中只有存放4 对地址和时间戳的空间。 发送端对选项列表进行初始化,存放了4 个m 地址和4 个取值为0 3的时间戳值。只有当列表中的下一个ip 地址与当l ; 路由器地址相匹 配时,才记录它的时问戳。 时自j 戳的取值一般为自u t c 午夜开始计的毫秒数。 由于i p 时间戳选项在实际使用时有所限制【9 1 。本文实现的l u s 程序假设以 下两个条件为默认条件: 第一个是任何给定路由器上时间戳都是正确性。利用该p 时间戳选项,可 以频繁使用默认路由器的当前时间。 第二个是网络的拓扑结构在短期内不会改变,这使得试图用口时间戳选项 来计算路由器之间的时延是有效的。 3 3i c m p :i n t e r n e t 控制报文协议 为了让互连网中的路由器报告错误或提供有关意外情况的信息,设计者在 t c p i p 中加入了一个特殊用途的报文机制。这个机制叫做i n t e m e t 控制报文协 议i c m p ( i n t e m e tc o n t r o lm e s s a g ep r o t o c 0 1 ) ,是m 的一部分,并在每个m 实现中 部必须有它。 i c m p 报文是放在一个m 数据报的数据部分中通过互连网的。i c m p 报文的 最终日的地不是一个应用程序或是目的机器上的用户,而是目的主机上处理它的 1 5 北京邮电大学硕士研究生学位论文 第三章t c p i p 协议 i n t e m e t 协议软件模块,即t c p i p 协议栈。 m 时间戳选项一般与i c m p 协议结合使用,从源端向目的端发送带有时间戳 选项的i c m pe c h or e q u e s t ( 请求回显) 探测报文,目的端接收此报文后,生成 i c m pe c h o ( 回显) 报文,并将原报文中的选项数据复制到回显报文中,发回 给源端。 3 3 1i c m p i c m p 是m 层的一个组成部分。i c m p 在i p 系统间传递差错和管理报文, 是任何m 实现必需和要求的组成部分。i c m p 报文通常被m 层或更高层协议 ( t c p 或u d p ) 使用。一些i c m p 报文把差错报文返回给用户进程。 i c m p 报文是封装在i p 数据报内部被传输的,如图3 4 所示。i c m p 报文 封装在口数据报中后,口数据报又进一步被封装在帧中通过物理网络传送。为 了标识i c m p ,数据报协议字段包含的值为i ,这是i c m p 的传输协议号。 一琅数据撤一 2 0 字节 图3 4i c m p 封装在m 数据报内部 即使i c m p 报文是用i p 封装和发送的,也不把它看成是高层协议,它是口 的一个必要部分。用i p 传递i c m p 报文的原因是可能需要经过几个物理网络才 能到达其最终目的地。因此,不能仅用物理传送来投递它们。 应用程序可以直接从原始口接口发送或接收i c m p 报文。原始口机制允许 进程直接发送和接收i c m p 报文,这样做有几个原因: 新i c m p 报文可由进程处理而无需修改内核。 可以用进程而无需用内核模块来实现发送i c m p 请求和处理回答的机制 ( p i n g 和t r a c e r o u t e ) 。 进程可以增加对报文的内核处理。 i c m p 报文分成两类:差错和查询【1 1 1 。查询报文是用一对请求和回答定义的。 i c m p 回送请求与应答和i c m p 时间戳请求与应答都是查询报文 3 3 1i c m p 报文格式 i c m p 报文的格式如图3 6 所示。所有报文的前4 个字节都是一样的,但是 剩下的其他字节则互不相同,不同类型由报文中的类型字段和代码字段来共同决 定。尽管每个i c m p 报文有自己的格式,但它们都以相同的三个字段开始:一个 8 位整数的报文类型( t y p e ) 字段用来标识报文;一个8 位代码( c o d e ) 字段提 供有关报文类型的进一步信息,以及一个1 6 位校验和( c h e c k s u m ) 字段( i c m p 使用与口相同的相加校验算法,但i c m p 校验和只覆盖i c m p 报文) 。 1 6 北京邮电大学硕士研究生学位论文第三章t c p i p 协议 图3 5i c m p 报文的格式 检验和字段覆盖整个i c m p 报文。i c m p 的检验和

温馨提示

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

评论

0/150

提交评论