个人信息:
姓名:倪晓东
班级:计算1811
学号:201821121020
一、实验目的
- 使用路由器连接不同的网络
- 使用命令行操作路由器
- 通过抓取HTTP报文,分析TCP连接建立的过程
二、 实验内容
使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。
建立网络拓扑结构:
该网络拓扑结构由一台PC机、一台路由器和一台服务器构成。
配置参数
PC机IP:192.168.1.20 服务器IP:192.168.2.20
配置路由器:打开路由器,点击CLI
Router>enable # 进入特权执行模式
Router#configure terminal # 进入全局配置模式
Router(config)#hostname R # 将路由器名称配置为R
配置G0/0接口:
R(config)#interface G0/0
R(config-if)#ip address 192.168.1.21 255.255.255.0
R(config-if)#no shutdown # 激活接口
配置G1/0接口:
R(config)#interface G0/1
R(config-if)#ip address 192.168.2.21 255.255.255.0
R(config-if)#no shutdown # 激活接口
激活成功可以看到中间连线变绿。
R(config)#router rip #启用动态路由
R(config)#version 2 #使用rip2版本
R(config)#no auto-summary #关闭自动路由汇总
R(config)#network 192.168.1.24
R(config)#network 192.168.2.24 #指定网络
抓包:
分析数据包:
tcp:
SOURCE PORT:源端口 DESTINATION PORT:目的端口
SEQUENCE NUMBER:序号 ACKNOWLEDGEMENT NUMBER:确认号
OFFSET:数据偏移 RESERVED:保留 WINDOW:窗口
CHECKSUM:检验和 UEGENT POINTER:紧急指针
OPTION:选项 PADDING:填充
FLAGS :
URG:紧急指针标志
ACK:确认序号标志
PSH:push标志
RST:重置连接标志
SYN:同步序号,用于建立连接过程
FIN:结束标志,用于释放连接
画出TCP连接建立示意图
分析序号和确认号的变化
第一次握手:pc机向服务器发出连接请求报文段,此时SYN=1,同时选择一个初始序号seq=0,SYN=1的报文段不能携带数据,但要消耗一个序号。
第二次握手:服务器收到请求连接报文段并同意连接,向PC机发送确认,SYN=1,ACK=1,ack=1,同时自己选择一个初始序号seq=0;同时这个报文段不能携带数据,但要消耗一个序号。
第三次握手:PC机收到确认后,向服务器发送确认,确认报文段ACK=1,确认号ack=1,自己的序号seq=1,TCP的标准规定,ACK报文段可以携带数据,但是如果不携带数据则不消化序号,这个情况下,下一个数据报文段序号seq=1.TCP建立连接。
为什么连接建立需要第三次握手
答:为防止了以失效的连接请求报文段突然又传送到B,因而产生错误,可能导致资源浪费。