好文供参考!1/27http协议精编5篇【引读】这篇优秀的文档“http协议精编5篇”由网友上传分享,供您参考学习使用,希望此文对您有所帮助,喜欢的话就分享给下载吧!http协议范文1关键词:深度包解析;性能监测;访问时延;系统健康度中图分类号:TN06?34文献标识码:A文章编号:1004?373X(2015)21?0118?05AnalysismethodofperformancemonitoringforinformationsystembasedondeeppacketinspectionSUNFeng1,CHENYuhui1,LIUJiahua1,CHENLong1,CAIGuangchen2(1.NARIGroupCorporation/StateGridElectricPowerResearchInstitute,Nanjing210000,China;2.PacteraTechnologyInternationalLtd.,Nanjing210000,China)Abstract:AnanalysismethodofperformancemonitoringforWebinformationsystembasedondeep好文供参考!2/27packetinspectionisproposed.Thetechnologyfoundationforimplementingthismethodisexplained.Thespecificrealizationstepsofthismethodareproposed,whichinvolvestheindicatorsofnetworktransmissiondelay,pageaccessdelayandsystemhealth?degree.Theproposedmethodwasverifiedinacertainpowerenterpriseportalsystem.Thepracticeresultsshowthatthisanalysismethodofperformancemonitoringcanoperatestablyandanalyzeintuitively,andhasgoodpracticabilityandmarketvalue.Keywords:deeppacketinspection;performancemonitoring;accessdelay;systemhealth?degree信息系统正逐渐成为支撑大型企事业单位生产的必要工具,而信息系统性能优劣已成为生产力的主要体现。基于深度包解析技术的Web信息系统性能监测分析方法,通过对用户访问信息系统的真实镜像数据进行分析,提炼出系统使用过程中的网络时延、业务处理时延等指标,从用户视角描述系统性能,计算出系统健康度。相比于传统的通过采集主机硬件、操作系统、中间件、数据库等资源指标来判断系统性能状况的技术,该方法具有分析更准确、直接、可有效降低运维人员巡检工作量等优势。1深度Web业务包解析基础好文供参考!3/27相比于普通的数据包解析,深度包解析技术(DPI)在分析IP数据包源地址、目的地址、源端口、目的端口以及协议类型等包头信息的基础上,还增加了对应用层单个数据包内容的分析,并且能够把分散的数据包重新组合成一个相关联的数据流,通过对数据流的分析,提炼出用户访问信息系统不同页面、不同应用的行为。业务数据包捕获过滤与重组还原是该技术的基础。业务数据捕获与过滤采用旁路侦听的方式实现业务数据捕获与过滤,优点是对Web信息系统的正常运行几乎无影响,同时管理效果也很优异。具体步骤是,首先配置交换机,将Web信息系统所在交换机端口的数据复制到镜像口;其次,使用网线连接镜像口与监控主机;第三,在监控主机部署数据包采集模块。模块采用免费、公共的WinPcap(WindowsPacketCapture)开发包,它为Windows应用程序提供了访问网络底层数据的能力。WinPcap操作的核心流程如图1所示。其中,pcap_lookupdev()函数:遍历本地网卡设备,与镜像口相连的本地网卡可作为数据操作网卡;pcap_open_live()函数:打开选中的设备;pcap_setfilter()函数:设置过滤器,将过滤字符串设定成“tcpandserver?ipandserver?port”的形式,WinPcap提供的内核级数据包过滤机制将准确地捕获访问业务信息系好文供参考!4/27统的所有TCP数据包,如“tcpandhostandport80”规则表示捕获IP地址为的服务器80端口所有的TCP数据包;pcap_loop()函数:使用回调函数循环捕获网络数据,在函数中进行数据包分析、数据包储存等操作。图1WinPcap捕获过滤网络数据包核心流程数据包重组TCP数据包重组依据TCP/IP协议原理,TCP会话的每一端都包含1个序列号与确认号,分别用来跟踪该端发送的数据量与接收的数据量。同一TCP会话中,同方向的一对数据包,前者的相对序列号seq值与包内容长度len值之和应该等于后者的seq值;反方向的一对数据包,前者的seq值与len值之和,应等于后者的相对确认号ack值。因此,依据seq,ack,len之间的关系,为同一TCP会话建立两个数据包队列,依次分别存入正常包序与异常包序的TCP报文。异常包序情况包括完全重复、部分重复、数据后发先到、len=0等。待当前TCP会话的全部报文收取完毕后,取出正常队列中的最后一个TCP报文,根据其seq值与len值,在异常队列中查找其后续报文,按去重原则将异常队列数据包丢弃或者存入正常队列。例如,正常队列最后一个TCP报文数据段第一字节的序号好文供参考!5/27为seq=200,len=150,异常队列取出的同向TCP报文数据段第一字节的序号为seq=300,len=160,则报文数据序号300~350区间是重复的,因此修改异常报文seq值为350,len值为110,将其存入正常报文队列尾。HTTP数据包重组HTTP协议是基于TCP协议,在Web信息系统中使用最广泛的一种通信协议,由终端浏览器向服务器发起请求,服务器反馈请求结果。HTTP请求方法包括GET,HEAD,POST等,其中GET表示请求指定的Web文档,POST表示请求Web服务器接收指定文档。HTTP响应包括HTTP连接状态码、响应头、响应数据等信息。HTTP包重组是对同一TCP会话中重组过的正常包序的TCP报文进行分析,识别出HTTP请求头与响应包头,根据响应包头中的Content?Length值或chunked信息,找出所有HTTP响应数据报文。重组流程见图2。2信息系统性能监测分析方法实施步骤基于深度包解析技术的Web信息系统性能监测分析的目的在于,从原始网络数据包中提炼出信息系统访问数据并展开分析,其包括业务数据捕获过滤、深度包解析与时延指标获取、系统性能健康度分析三大步骤,数据流向如图3所示。业务数据包存储好文供参考!6/27本方法采用嵌套链表的方式保存、捕获、过滤并经重组还原的,所有TCP,HTTP业务数据包。同一个Web信息系统会被多台终端访问,因此在IP层面,信息系统的IP与其访问终端IP是一对多的关系,为每一个访问终端的IP维护一张IP链表。在端口层面,信息系统提供的服务端口一般固定不变,而访问终端所使用的端口却是变化不定的,因此,信息系统的端口与访问终端的端口也是一对多的关系。在IP链表中,为每个访问Web信息系统的端口维护一张Port子链表。子链表中的每个节点保存该端口下所有经重组提炼出的HTTP协议包,分为HTTP请求数据与响应数据两部分,后者可能含有若干TCP分片包,也可能只有一个TCP包。为方便后续分析,以Port子链表节点首个数据报文开始时间先后为排序规则,为所有的Port子链表节点建立节点时间索引表,如图4所示。所有待分析的数据都保存在嵌套链表中,分析完毕后,从链表中删除所有已分析的数据。信息系统访问量特别大时,可以选择将嵌套链表的数据定期存入实时数据库或文件,由分析线程读取数据库或文件数据进行指标提炼,并删除过期数据。深度业务包解析与时延指标获取信息系统访问整体时延=建立连接时延+网络传输时延+系统响应时延,对用户而言,浏览器渲染时间也是影响体验的因素之一,这里暂不考虑。好文供参考!7/27连接建立时延与网络传输时延监控模块为每个收到的TCP数据包加上时间戳,对于每一次终端开始访问Web信息系统前的TCP三次握手,认定收到的第一个握手AYN包时间为[T1,]第二次握手SYNACK包时间为[T2,]第三次握手时间为[T3,]如图5所示。定义[ΔT(1?2)=T2-T1,]则[ΔT(1?2)]表示服务器本身对TCP握手包响应的处理时间,则该时间近乎为0,同理访问终端对SYNACK包的响应时间近乎为0。定义[ΔT(2?3)=T3-T2,]则[ΔT(2?3)]表示SYNACK包与ACK包在网络上传输的时间。因此:系统响应时延系统响应时延=页面访问结束时间-页面访问开始时间。而页面开始时间的判断,是基于通过深度包解析建立的页面专属信息库。(1)页面专属信息库本方法提出页面指纹与页面资源两个概念。页面指纹是指能把某个页面与其他页面区分开的页面信息组合。多数信息系统不同的页面对应不同的URL,因此URL信息可作为页面的指纹,结合HTTP请求命令,该类型指纹定义形式为“请求方式+URL”。少数信息系统采用了flex等开发技术,不同页面采用相同的URL,如此,就需要对这部分页面的起始交互数据进行深度数据包分析,提炼出能够标识页面的数据信息,指纹定好文供参考!8/27义形式为“请求方式+URL+内容关键词”。页面资源是指信息系统服务器反馈给访问终端的各页面组成元素,如js资源、css资源、图片资源、xml资源等。为待分析的Web信息系统建立包含页面指纹与页面资源专属信息库,是系统响应时延分析的前提。信息库格式如表1所示。(2)页面响应时间的计算读取每一个访问终端的IP父链表的时间索引表,顺序找到各Port子链表的节点,对节点HTTP请求部分的数据进行页面指纹信息匹配。如果找到页面指纹信息,并且节点HTTP响应码为200OK等正确码,则认定该节点第一个数据报文的开始时间为对应页面的开始时间,若响应码为400,500等错误码,则判定页面访问失败。时间索引表与Port子链表的对应关系如图6所示。为当前访问终端IP的每个检测到开始的页面建立一个队列,从Port子链表删除已经匹配到页面指纹的节点,将其加入到对应的新建的页面队列中,同一个IP终端,访问同一个页面的队列应具有惟一性。如果在同一IP父链表中,短时间内连续识别出某些Port子链表节点,它们均匹配到相同的页面,则终端可能存在页面刷新与重复打开行为,此时应以最后一个Port子链表节点的第一个数据报文的开始时间作为页面的开始时间。好文供参考!9/27如果当前Port子链表节点不属于页面开始节点,则提取出该节点HTTP请求部分的资源信息,判断该资源是否属于当前正在分析中页面的页面资源。如果不是,则丢弃该节点;如果是,将其从Port子链表删除,加入对应的页面队列,同时更新该页面队列最迟数据包的接收时间。若某页面队列从最迟数据包接收时间开始,超过页面访问时间(一般为20s),没有新的Port子链表节点加入,则视最迟数据包接收时间为页面结束时间。计算页面结束时间与开始时间的差值作为页面响应时间,同时删除该页面队列。Web信息系统性能健康度计算信息系统的组成页面是多样性的,不同类型页面的时延评价标准应具有差异性,将页面定义为3大类、13小类(如表2所示),由用户根据自身需求为其分别定义标准响应时长。信息系统的性能健康度评价基于目标系统是否有响应、目标系统响应时间是否超过基线时间。图9系统健康度与时延截图4结语本文给出一种基于深度包解析技术的Web信息系统性能监测分析方法,从用户使用的角度对信息系统的性能状况做出分析与评价,该方法是信息系