您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 实验6分析TCP特性(物有所值)
一、实验名称分析TCP特性二、实验目的:1.掌握使用Wireshark分析俘获TCP踪迹文件的基本技能;2.深刻理解TCP重要的工作机理和过程:利用序号和确认号实现可靠数据传输,TCP拥塞控制算法(慢启动和拥塞避免),接收方通告的流量控制。三、实验内容和要求1.本机与远程服务器的TCP踪迹文件;2.熟悉TCP踪迹文件;3.分析TCP序号、确认号和流量控制工作过程;4.分析应用层内容;5.分析TCP拥塞控制机理。四、实验环境1)运行Windows8.1操作系统的PC一台。2)PC具有以太网卡一块,通过双绞线与校园网相连;或者具有适合的踪迹文件。3)每台PC运行程序协议分析仪Wireshark。五、操作方法与实验步骤1)俘获本机与远程服务器的TCP踪迹文件在开始研究TCP工作机制之前,需要使用Wireshark来俘获从本机到远程服务器之间的TCP踪迹文件。为此,可以从本机浏览器打开某Web网站上的网页,用HTTP协议下载包括文本文件在内的对象。与此同时,在本机上运行Wireshark俘获本机收发的TCP报文段并存入踪迹文件tcp.cap中。为了便于比较,可以从因特网上下载现成的踪迹文件进行分析,相关URL是。2)熟悉TCP踪迹文件打开tcp-ethereal-trace-1.pcap文件,可以看到俘获机器与gaia.cs.umass.edu的Web服务器之间交互的TCP和HTPP报文序列(参见图55)。选择一个报文,观察其各层次协议间的包含关系。观察HTTP与TCP之间关系是如何体现的?从俘获报文列表窗口右侧,可以发现发起三次握手的SYN报文,也可以发现一系列交互的HTTP报文。回答下列问题:(1)与gaia.cs.umass.edu传输文件的源主机所使用IP地址和端口号是什么?答:IP地址为192.168.1.102;端口号是1161(2)gaia.cs.umass.edu服务器所使用IP地址和端口号是什么?答:IP地址为128.119.245.12;端口号是80(3)前6个TCP报文段的每个长度各为多长?答:长度各为:62、62、54、619、1514、60(字节)。图55分析TCP踪迹文件3)分析TCP序列/应答编号和流量控制为分析TCP序号和确认号,可以从分组列表中观察,也可以点击“Statitics/FlowGraph”,出现如图56所示的本机与服务器之间的图分析结果。观察该图,回答下列问题:(4)用于发起与服务器TCP连接的TCPSYN报文段的序号是多少?在该报文段中标识其为SYN报文段的标志是什么?答:序号是0;通过查看图标中的中间绿色行,点显示SYN的箭头,可以识别连接建立时的SYN报文;字段中SYN为1,表明了这是一个SYN报文段。(5)服务器应答上述TCPSYN报文段的SYNACK报文段的序号是什么?在该SYNACK报文段的ACK应答字段中的值是多少?服务器是怎样确定这个ACK值的?在该报文段中标识其作为SYNACK报文段的标志是什么?答:序号是Seq=0;ACK=1,其等于SYN报文段中的值为求1,标志位是Flags=0x012(6)接收方的ACK报文应答的数据一般为多长?如何确定接收方是对哪个报文段进行应答的?答:一般为1460bytes。TCP的报文到达确认(ACK),是对接到的数据的最高序列号的确认,并向发送端返回一个下次接受时期望的TCP数据包的序列号(ACKNumber)。(7)观察TCPSYN报文段达到的时间以及SYNACK报文段回复的时间。它们与后继请求和应答报文对之间的时间差一样吗?答:不一样。(8)接收方通常的可用缓存的量是一样大的吗?最小量是多少?出现了为抑制发送方而减少接收缓存空间的情况吗?答:在整个路径中接收端的可能最小的缓存空间是5084个字节,显示了服务器发送的第一个确认的大小。在接收缓存达到最大的值17520字节之前接收窗口大小稳定增长。发送方不会因为接受缓存空间不足而受到影响。(9)在踪迹文件中有重传报文段吗?如何检查是否出现了这种情况?答:没有,从表中可以看出从源端发往目的地的序号逐渐增加,如果这其中有重传的报文段,则其序号中应该有小于其临近的分组序号的分组,图中未看到这样的分组,故没有重发片段。(10)对该TCP连接,吞吐量是多大?解释计算所使用的方法。答:TCP吞吐量计算很大程度上取决于所选内容的平均时间。作为一个普通的吞吐量计算,在这问题上,选择整个连接的时间作为平均时间段。然后,此TCP连接的平均吞吐量为总的传输数据与总传输时间的比值。传输的数据总量为TCP段第一个序列号(即第4段的1字节)和最后的序列号的ACK(第201段的164041个字节)之间的差值。因此,总数是164041-1=164040字节。整个传输时间是第一个TCP段(即4号段0.026477秒)的时间和最后的ACK(即第201段5.447887秒)时间的差值。因此,总传输时间是5.447887-0.026477=5.42141秒。因此,TCP连接的吞吐量为164040/5.42141=30.257KByte/s。图56TCP流图分析4)分析应用层内容图60FollowTCPStream界面本实验中的应用层是HTTP,该协议的可靠传输基于TCP得到的。通过分析TCP报文序列可以得到HTTP传输的内容。为此,点击TCP三次握手之间的第4号报文,发现它是一条从本机向服务器发送HTTPPOST命令的报文,请求Web服务器发送特定的页面对象。对于后继报文,也可以发现以ASCII明文发送的应用层内容。对于分析应用层内容,Wireshark提供了一个很好的工具。点击“Analyze/FollowTCPStream”,可打开如图60所示界面,显示了该TCP流的应用层相关信息。(11)分析一下HTTP传输的是大约什么内容?答:是一本书,《爱丽丝梦游仙境》(Alice'sAdventuresinWonderland)。(12)如果Web页面传输的是图片或视频对象,会出现什么情况?答:会出现传输失败。5)分析TCP拥塞控制前面实验已经为你用Wireshark分析报文序列打下了有用的基础。应当说它是一件枯燥(尽管十分有用)的工作,下面使用Wireshark提供的分析大量TCP报文时的图形工具。点击“Statistics/TCPStreamGraph/ThroughputGragh)”,得到如图61所示的界面。图中的每个点表示在某时刻该TCP连接的吞吐量。图61分析TCP序列吞吐量的时序图(13)根据图43分析的吞吐量分布曲线,解释哪部分对应的是TCP慢启动阶段和拥塞避免阶段。答:0-0.1s慢启动,0.3s内拥塞避免.(14)图示曲线是否与课文中的理论分析曲线一致?为什么?答:不一致。因为图示的曲线中的坐标单位与课本中的坐标单位不一致。六、实验数据记录和结果分析1)传输控制协议报文段结构。TCP(TransmissionControlProtocol,TCP)[RFC793]是TCP/IP体系中面向连接的运输层协议,它提供全双工的和可靠交付的服务。TCP报文段结构如图62所示。TCP与UDP最大的区别就是TCP是面向连接的,而UDP是无连接的。2)TCP拥塞控制算法。通常包括3个主要部分:(1)加性增(additive-increase),乘性减(multiplicative-decrease),即每发生一次丢失事件时就将当前的拥塞窗口CongWin值减半,每当它收到一个ACK后就把CongWin增加一个MSS(最大报文段长)。(2)慢启动(slowstart),即TCP发送方在初始阶段不是线性地增加其发送速率,而是以指数的速度增加,即每过一个RTT将CongWin值翻倍,直到发生一个丢包事件为止,此时CongWin将被降为一半,然后就会像上面所讲的那样线性地增长。(3)对超时事件作出反应。对于收到3个冗余ACK后,TCP将拥塞窗口减小一半,然后线性地增长。但是超时事件发生时,TCP发送方进入一个慢启动阶段,即它将拥塞窗口设置为1MSS,然后窗口长度以指数速度增长。拥塞窗口持续以指数速度增长,直到CongWin达到超时事件前窗口值的一半为止。此后,CongWin以线性速度增长,就像收到3个冗余ACK一样动作。图62TCP报文段结构七、实验体会、质疑和建议体会:通过本次实验掌握使用Wireshark分析俘获TCP踪迹文件的基本技能;深刻理解TCP重要的工作机理和过程:利用序号和确认号实现可靠数据传输,TCP拥塞控制算法(慢启动和拥塞避免),接收方通告的流量控制。TCP是因特网中最主要的运输层协议,它能够在两个应用程序之间提供可靠的、有序的数据流传输,能够检测在传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方。熟悉和懂得分析TCP踪迹文件;学会了分析TCP序号、确认号和流量控制工作过程;分析应用层内容;分析TCP拥塞控制机理。与此同时,我更深入地了解到计算机网络技术的先进性和重要性,在网络方面还有更多有趣实用的知识等着我去探索和掌握。质疑和建议:由于TCP较为复杂,在实验前应当熟悉TCP及其工作过程。通过实验,我充分认识到理论总在实验前,这样有利于我们学生接受新知识的灌输,而且把理论运用自如。
本文标题:实验6分析TCP特性(物有所值)
链接地址:https://www.777doc.com/doc-5409495 .html