标签:连接 img 消息服务 结构 拓扑 alt 配置路由器 姓名 节点
使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。
网络拓扑图如下图所示:
192.168.1.99,默认网关为192.168.1.100
192.168.2.99,默认网关为192.168.2.100
路由器参数配置
进入特权模式,清除路由器的现有配置,并且禁用DNS查找;
配置路由器算法;
连接192.168.1.0和192.168.2.0两个网络。
检验ip地址是否正确并且处于接口激活状态:
查看路由表:
(1)画出TCP连接建立示意图
(2)分析序号和确认号的变化
seq是序列号,是为了连接以后传送数据用的,ack是对收到的数据包的确认,值是等待接收的数据包的序列号。
在第一次消息发送中,客户端随机选取一个序列号作为自己的初始序号发送给服务端;第二次消息服务端使用ack对客户端的数据包进行确认,因为已经收到了序列号为x的数据包,准备接收序列号为x+1的包,所以ack=x+1,同时服务端告诉客户端自己的初始序列号,就是seq=y;第三条消息客户端告诉服务端收到了服务端的确认消息并准备建立连接,客户端自己此条消息的序列号是x+1,所以seq=x+1,而ack=y+1是表示客户端正准备接收服务端序列号为y+1的数据包。
(3)解答:为什么连接建立需要第三次握手
这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。
所谓已失效的连接请求报文段是这样产生的。A发送连接请求,但因连接请求报文丢失而未收到确认,于是A重发一次连接请求,成功后建立了连接。数据传输完毕后就释放了连接。现在假定A发出的第一个请求报文段并未丢失,而是在某个网络节点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。本来这是一个早已失效的报文段。但B收到此失效的连接请求报文段后,就误以为A又发了一次新的连接请求,于是向A发出确认报文段,同意建立连接。假如不采用三次握手,那么只要B发出确认,新的连接就建立了。
由于A并未发出建立连接的请求,因此不会理睬B的确认,也不会向B发送数据。但B却以为新的运输连接已经建立了,并一直等待A发来数据,因此白白浪费了许多资源。
第三次实验报告:使用Packet Tracer分析TCP连接建立过程
标签:连接 img 消息服务 结构 拓扑 alt 配置路由器 姓名 节点
原文地址:https://www.cnblogs.com/zyb1104/p/11704940.html