第六次计算机网络实验报告(待完善)
in with 0 comment

第六次计算机网络实验报告(待完善)

in with 0 comment

IP协议的分析。

如图1,在Ethereal上部的窗口中,有帧编号(No.)、时间(Time)、源地址(Source)、目的地址(Destination)、协议(Protocol)和信息(Info)等列,各列下方依次排列着俘获的分组。中部的窗口给出选中的某帧的详细内容。下部窗口对应的该协议帧某字段的十六进制数值内容。

从信息(Info)一栏中可以看出数据包的大致内容与标志。

查找源是202.196.64.199,目的是本机IP的,目标端口是80的TCP数据,从过滤出来的数据包中根据SYN、ACK标志能够找出TCP3次握手的数据包的数据帧编号为177、180、182.

图1

第一次TCP握手

说明:图2为本地主机:192.168.1.49 和www服务器 www.zzu.edu.cn 之间建立TCP连接时的第一次握手过程:分组177为 192.168.1.49 发送请求。

图2

在上图中:

第二次TCP握手

说明:第二次TCP握手数据包是 www.zzu.edu.cn 回应请求。其协议分析与第一次握手的协议分析类似、具体数据包内容见下图。

第二次握手 第二次握手数据包详细信息

通过分析第二次TCP握手的数据包我们可以发现,第二次TCP握手时,数据包的Flags字段已经改变为 Flags:0x012(SYN,ACK),表示服务器已经收到客户端的TCP连接请求、并开始准备建立TCP连接,回送ACK确认字段,并且Seq=0,ACK=1,Len=0

第三次TCP握手

说明:NO.182 为本地主机与远程服务器建立连接,其协议分析与第一次握手的协议分析类似、具体数据包内容见下图。

第三次握手 第三次握手数据包详细信息

通过分析第三次TCP握手的数据包我们可以发现,第三次TCP握手时,数据包的Flags字段已经改变为 Flags:0x010(ACK),表示客户端已经收到服务器的TC回应、并开始建立TCP连接,回送ACK确认字段,并且Seq=1,ACK=1,Len=0

TCP握手成功开始进行HTTP通信

  1. 如下图、在客户端与服务端建立完成TCP连接后,客户端通过TCP向服务器发送 HTTP GET 请求,请求 /资源。 GET请求
  2. 具体的请求参数见下图,其中此数据包请求的 Seq=1,Ack=1,Len=370 get请求-长度370
  3. 服务器在收到客服端的资源请求后,查找自己的资源文件,将客户端所请求的数据回送回去。具体信息见下图、可以看出其中服务器使用HTTP 1.1协议回送了200状态码,表示正常处理了客户端的请求、ACK=371(1+370)因为GET请求的Len=370,服务端已经接收并正确处理GET请求数数据包,同时此数据包的Len=1460,所以服务器所发送的数据包的Seq=1461(1460+1)html传输
  4. 同时通过分析下图中的TCP传送过程中的数据包,我们可以发现,服务端的ACK字段的值=客户端的Seq+数据包长度Len、Seq字段值=原Seq+数据包长度Len;客户端Seq字段值=原Seq+数据包长度Len,客户端的ACK字段的值=服务端的Seq+数据包长度Len,通过这样的确认机制,保证了数据传输的可靠性。 ACK_SEQ_len