实验13 分析TCP特性

这篇具有很好参考价值的文章主要介绍了实验13 分析TCP特性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验名称

分析TCP特性

二、实验目的

1. 掌握使用Wireshark分析俘获TCP踪迹文件的基本技能;

2. 深刻理解TCP重要的工作机理和过程。

三、实验内容和要求

1. 本机与远程服务器的TCP踪迹文件;

2. 熟悉TCP踪迹文件;

3. 分析TCP序号、确认号和流量控制工作过程;

4. 分析TCP拥塞控制机理。

四、实验环境

1.运行Windows10操作系统的PC一台

2.PC通过WLAN连接校园网;或者具有适合的踪迹文件

3.每台PC运行程序协议分析仪WireShark

五、操作方法和实验具体步骤(需截图)

3. 实验步骤

1)俘获本机与远程服务器的TCP踪迹文件

在开始研究TCP工作机制之前,需要使用Wireshark来俘获从本机到远程服务器之间的

TCP踪迹文件。为此,可以从本机浏览器打开某Web网站上的网页,用HTTP协议下载包

括文本文件在内的对象。与此同时,在本机上运行Wireshark俘获本机收发的TCP报文段并

存入踪迹文件tcp.cap中。为了便于比较,可以从因特网上下载现成的踪迹文件进行分析,

相关URL是http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip。

2)熟悉TCP踪迹文件

打开wireshark,开始捕获报文,使用过滤器过滤出TCP报文选择一个报文,观察其各层次协议间的包含关系。观察HTTP与TCP之间关系是如何体现的?从俘获报文列表窗口右侧,可以发现发起三次握手的SYN报文,也可以发现一系列交互的HTTP报文。

实验13 分析TCP特性

图1

回答下列问题:

(1) 传输文件的源主机所使用IP地址和端口号是什么?

答:源主机IP地址:192.168.43.125

源主机端口号:52082

(2) 服务器所使用IP地址和端口号是什么?

答:服务器IP地址:39.106.226.142

服务器端口号:443

(3) 前6个TCP报文段的每个长度各为多长?

答:66、66、54、54、1514、54

3)分析TCP序列/应答编号和流量控制

为分析TCP序号和确认号,可以从分组列表中观察,也可以点击“统计/流量图”,出现如图所示的本机与服务器之间的图分析结果。

实验13 分析TCP特性

图2

观察该图,回答下列问题:

(4) 用于发起与服务器TCP连接的TCP SYN报文段的序号是多少?在该报文段中标识

其为SYN报文段的标志是什么?

答:序号:Seq=0

通过查看图二中第一行,点击第一行报文,可以识别连接建立时的SYN报文;字段中SYN为1,表明了这是一个SYN报文。

实验13 分析TCP特性

图3

(5) 服务器应答上述TCP SYN报文段的SYN ACK报文段的序号是什么?在该SYN

ACK报文段的ACK应答字段中的值是多少?服务器是怎样确定这个ACK值的?在该报文

段中标识其作为SYN ACK报文段的标志是什么?

答:序号:Seq=0

应答:Ack=1

服务器将上一次接收到报文的seq+1得到Ack的值

标志位:Flags=0x012

(6) 接收方的ACK报文应答的数据一般为多长?如何确定接收方是对哪个报文段进行

应答的?

答:一般为1460bytes。

TCP的报文到达确认,是对接到的数据的最高序列号的确认,并向发送端返回一个下次接受时期望的TCP数据包的序列号。

(7) 观察TCP SYN报文段达到的时间以及SYN ACK报文段回复的时间,它们与后继请求和应答报文对之间的时间差一样吗?

答:不一样。

(8) 接收方通常的可用缓存的量是一样大的吗?最小量是多少?出现了为抑制发送方

而减少接收缓存空间的情况吗?

答:不一样大。

最小的缓存空间是5084个字节。

在接收缓存达到最大的值17520字节之前接收窗口大小稳定增长。发送方不会因为接受缓存空间不足而受到影响。

(9) 在踪迹文件中有重传报文段吗?如何检查是否出现了这种情况?

答:没有,从图2中可以看出从源端发往目的地的序号逐渐增加,如果这其中有重传的报文段,则其序号中应该有小于其临近的分组序号的分组,图中未看到这样的分组,故没有重发片段。

(10) 对该TCP连接,吞吐量是多大?解释计算所使用的方法。

答:TCP吞吐量是指在一定时间内传输的字节量。

本次实验中总传输时间为2.029475-1.607262=0.422213秒,传输数据为第一个序列号和最后的序列号的ACK 之间的差值,为5995-1=5994。因此TCP的吞吐量为5994/0.422213=14.197kb/s。

4)分析应用层内容

本实验中的应用层是HTTP,该协议的可靠传输基于TCP得到的。通过分析TCP报文

序列可以得到HTTP传输的内容。为此,点击TCP三次握手之间的第4号报文,发现它是

一条从本机向服务器发送HTTP POST命令的报文,请求Web服务器发送特定的页面对象。

对于后继报文,也可以发现以ASCII明文发送的应用层内容。

对于分析应用层内容,Wireshark提供了一个很好的工具。点击“分析/追踪流/TCP流”,可打开如图4所示界面,显示了该TCP流的应用层相关信息。

实验13 分析TCP特性

图4

(11) 分析一下HTTP传输的是大约什么内容?

答:看一下基本是乱码;大体能看出,是http1.1协议;是本机和CSDN的一个网址通信的情况。

(12) 如果Web页面传输的是图片或视频对象,会出现什么情况?

答:会出现传输失败。

5)分析TCP拥塞控制

前面实验已经为你用Wireshark分析报文序列打下了有用的基础。应当说它是一件枯燥

(尽管十分有用)的工作,下面使用Wireshark提供的分析大量TCP报文时的图形工具。

点击“统计/TCP流图形/吞吐量”,得到如图5所示的界面。图中的每个点表示在某时刻该TCP连接的吞吐量。

实验13 分析TCP特性

图5

(13) 根据图43分析的吞吐量分布曲线,解释哪部分对应的是TCP慢启动阶段和拥塞避

免阶段。

答:0-0.1s慢启动,0.3s内拥塞避免阶段。

(14) 图示曲线是否与课文中的理论分析曲线一致?为什么?

答:不一致。因为本次实验中测试时间较短,没有形成完整的拥塞避免算法。

六、实验心得体会(或者所遇疑难问题解决方案)

TCP:传输控制协议

  TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。

  面向连接: 面向连接意味着使用tcp的应用程序在传输数据前必须先建立连接,就如打电话一样,要先进行拨号,等待对方响应才能开始说话。

  可靠性:TCP协议通过下列方式来提高可靠性: 应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由TCP传递给I P的信息单位称为报文段或段

  • 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

  • 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。

  • TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发送端超时并重发)。

  • 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。

  • 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。

  • TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

字节流:两个应用程序通过TCP连接交换8 bit字节构成的字节流

  另外,TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据,还是ASCII字符或者其他类型数据。对字节流的解释由TCP连接双方的应用层解释。

TCP首部格式

  TCP数据是被封装在IP数据包中的,和UDP类似,在IP数据包的数据部分。TCP数据包的格式如下:

实验13 分析TCP特性

源端口号和目的端口号与UDP中类似,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接,在网络编程中,一般一个IP地址和一个端口号组合称为一个套接字(socket)。

  序号:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。在tcp中tcp用序号对每个字节进行计数(这个值与发送的帧数没有关系,而是与发送的数据字节数有关系,后面会有说明)。

  确认序号:包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1(不是单纯的序号加1,还包括数据字节数)。

  首部长度:用于记录tcp数据报首部的长度,一般为20字节,实际值为首部长度除以4。

  URG: 紧急指针( urgent pointer)有效。

  ACK: 确认序号有效。

  PSH: 接收方应该尽快将这个报文段交给应用层。

  RST: 重建连接。

  SYN: 同步序号用来发起一个连接。

  FIN: 发端完成发送任务。

  窗口大小:用于流量控制。

  检验和:检验和覆盖了整个的 TCP报文段: TCP首部和TCP数据,与udp相似需要计算伪首部。

本次实验我掌握了使用Wireshark分析俘获TCP踪迹文件的基本技能,利用wireshark获取了本机与远程服务器的TCP踪迹文件加以分析,熟悉了TCP踪迹文件里面的内容,分析了TCP序号、确认号和流量控制工作过程,了解了TCP拥塞控制机理。文章来源地址https://www.toymoban.com/news/detail-465900.html

到了这里,关于实验13 分析TCP特性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络实验】实验四 TCP/UDP协议分析

    目录 一、TCP连接建立过程分析 二、TCP关闭连接过程分析 三、6号报文分析 四、A方TCP报文序列号分析 五、计算 六、UDP协议分析 图 1 第一次握手 第一次握手:客户端将标志位 SYN 置为 1 ,随机产生一个值 SEQ = X = 0 ,并将该数据包发送给服务器,等待服务器确认; 图 2 第二次

    2024年02月03日
    浏览(54)
  • 实验7 利用Wireshark软件分析TCP

    目录 一、 实验目的及任务 二、 实验环境 三、 预备知识 四、 实验步骤 五、 实验报告内容 一、 实验目的及任务 1.通过协议分析进一步明确TCP报文段结构中各字段语法语义; 2.能够描述TCP协议的序号确认机制、连接管理、RTT估算、流量控制机制。 二、 实验环境 联网的

    2023年04月08日
    浏览(43)
  • [计算机网络] 实验四 TCP协议分析

    实验目的 了解运输层 TCP 协议基本概念、报文结构 分析 TCP 报文头部 分析 TCP 连接建立过程、TCP 连接释放 掌握利用 tcpdump 和 wireshark 进行 tcp 协议分析技术。 实验内容 1.wget使用和TCP分析 [如果你还不懂 w g e t wget w g e t 指令请点击这里] 我们首先通过 w g e t wget w g e t 下载该网

    2023年04月25日
    浏览(45)
  • powershell 接收一个端口tcp数据复制转发到多个目的

    在 PowerShell 中,你可以使用  New-Object  来创建  System.Net.Sockets.TcpListener  和  System.Net.Sockets.TcpClient  对象,从而接收一个 TCP 端口的数据并将其转发到多个目的地。下面是一个 PowerShell 脚本示例,该脚本展示了如何从一个 TCP 端口接收数据并将其复制到多个目标地址: 在这个

    2024年02月21日
    浏览(38)
  • 网络程序设计实验-TCP/IP协议栈源代码分析

    ​ inet_init代码如下: 调用inet_init的过程中,涉及到的函数如下: 1. start_kernel: start_kernel 是Linux内核的启动函数,定义在 init/main.c 文件中。 在启动过程中,首先执行 start_kernel ,这个函数负责进行内核的初始化工作。 2. rest_init: 在 start_kernel 中,会调用 rest_init 函数,该函数的

    2024年02月03日
    浏览(71)
  • 【计算机网络实验】TCP和UDP传输过程仿真与分析

    实验内容 TCP 和UDP 传输过程仿真与分析 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 通过抓取DNS报文,分析UDP数据包传输过程 实验要求 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程,

    2024年02月03日
    浏览(56)
  • 网络程序设计实验:TCP/IP协议栈源代码分析

    深入理解TCP/IP协议栈的源代码结构和功能,探究其与上层套接口和下层数据链路层的关联方式。 分析TCP的三次握手过程,理解其状态转换和数据传输机制。 掌握send和recv操作在TCP/IP协议栈中的执行路径,探究其与上层应用程序的交互方式。 了解路由表、ARP缓存以及IP到MAC地址

    2024年02月03日
    浏览(64)
  • 网络程序设计专题实验:TCP/IP协议栈源代码分析

    inet_init是如何被调用的?从start_kernel到inet_init调用路径 跟踪分析TCP/IP协议栈如何将自己与上层套接口与下层数据链路层关联起来的? TCP的三次握手源代码跟踪分析,跟踪找出设置和发送SYN/ACK的位置,以及状态转换的位置 send在TCP/IP协议栈中的执行路径 recv在TCP/IP协议栈中的执

    2024年02月02日
    浏览(69)
  • 《计算机网络—自顶向下方法》 Wireshark实验(四):TCP 协议分析

            在因特网协议族(Internet Protocol Suite)中,TCP 层是位于 IP 层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是 IP 层不提供这样的流机制,而是提供不可靠的包交换。TCP 和 UDP 处在同一层——传输层,但是它们有很多的

    2024年02月05日
    浏览(48)
  • 漏测分析的目的

    漏测分析的目的 漏测分析是软件测试过程中的一项重要工作,旨在识别和分析测试工作中可能存在的遗漏或疏漏,从而进一步提高软件质量和可靠性。 漏测分析的主要目的是找出未被覆盖的测试用例,即未能被测试到的功能或者代码路径。通过漏测分析,可以检测到测试用

    2024年02月05日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包