zoukankan      html  css  js  c++  java
  • 第三次实验报告:使用Packet Tracer分析TCP连接建立过程

    • 姓名:吕煜华
    • 学号:201821121046
    • 班级:计算1812

    1 实验目的

    • 使用路由器连接不同的网络
    • 使用命令行操作路由器
    • 通过抓取HTTP报文,分析TCP连接建立的过程

    2 实验内容

    使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。

    • 建立网络拓扑结构
    • 配置参数
    • 抓包
    • 分析数据包

    3.1 建立网络拓扑结构

    网络拓扑图如下图所示:

     

    3.2 配置参数

    客户端IP地址为   192.168.1.46 默认网关为192.168.1.47

    服务端IP地址为   192.168.2.46 默认网关为192.168.2.47

    路由器配置并激活端口:

     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.47 255.255.255.0
     R(config-if)#no shutdown # 激活接口
     R(config)#interface G0/1
     R(config-if)#ip address 192.168.2.47 255.255.255.0
     R(config-if)#no shutdown # 激活接口

    配置路由算法:

    启用动态路由:

    R(config)#router rip

    R(config)#version 2  使用rip 2版本

    R(config-router)#no auto-summary  关闭自动路由汇总

    指定网络:

    R(config-router)#network 192.168.1.0 

    R(config-router)#network 192.168.2.0

    3.3 抓包,分析TCP连接建立过程

    通过抓取HTTP数据包得到的TCP报文,完成如下事情:

    (1)画出TCP连接建立示意图

    如下图所示:

     

    (2)分析序号和确认号的变化

    在需要建立TCP连接时,客户端TCP发送一个同步位SYN,选择一个初始序号seq=x告诉服务器客户将在连接中发送的数据的初始序列号seq,客户端状态为SYN_SENT,即SYN=1,ACK=0。TCP规定,在SYN=1时不能携带数据,但是要消耗一个序号,所以申明自己的序号seq=x。

    然后Server进行回复确认,即SYN=1,ACK=1,seq=y,ack=x+1。

    然后客户端再次确认,但不用SYN=1,即ACK=1,seq=x+1,ack=y+1。(SYN=1时,表明这是一个请求连接或接受连接报文)

     (3)解答:为什么连接建立需要第三次握手

     为了防止pc端发出的连接报文失效但之后又发送到Server端导致出现错误,而且浪费资源。

  • 相关阅读:
    批量数据导入数据库方法
    Remoting简单实践
    js面向对象继承
    Linq实现t-Sql的各种连接
    数据库树状结构的关系表的删除方案
    记录一次SQL查询语句
    mvc请求过程总结
    T-sql表表达式
    各个浏览器的兼容问题及样式兼容处理(不定期补充)
    vue.js 键盘enter事件的使用
  • 原文地址:https://www.cnblogs.com/lvyuhua/p/11707154.html
Copyright © 2011-2022 走看看