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

    • 姓名:林永鑫
    • 学号:201821121040  
    • 班级:计算1812

    1 实验目的

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

    2 实验内容

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

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

    3. 实验报告

    3.1 建立网络拓扑结构

    网络拓扑图如下图所示:

    3.2 配置参数

    • 客户端的IP地址为192.168.1.40
    • 服务端的IP地址为192.168.2.40

    客户端:

    服务端:

     路由器参数配置的详细操作:

    配置并激活端口 

     

    • Router>enable # 进入特权执行模式

    • Router#configure terminal # 进入全局配置模式

    • Router(config)#hostname R # 将路由器名称配置为R
    •配置F0/0接口与F0/1接口:

     R(config-if)#no shutdown:激活接口

    配置路由算法

     启用动态路由
    • R(conf)# router rip
    • R(conf)#version 2 使用rip 2版本
    • R(conf)#no auto-summary 关闭自动路由汇总
     
     指定网络

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

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

    抓到的包:

    TCP报文:

     

     

     

     

    画出TCP连接建立示意图

    如下图所示:

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

    • 在打算建立TCP连接时,向服务器TCP发出连接请求报文段,这时首部的同步位SYN=1,同时选择一个初始序号seq=x。这时,客户端状态为SYN_SENT;
    • 服务器收到连接请求报文之后,如同意建立连接,则向客户端发送确认。在确认报文段中应把SYN位和ACK位都置为1,确认号ack等于x+1,同时初始序号seq=y;
    • 客户端收到服务器的确认后,还要向服务器给出确认,确认报文段的ACK置1,ack=y+1,自己的序号为seq=x+1

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

    为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误

    4. 拓展 

  • 相关阅读:
    MongDB简单介绍
    Docker的简单介绍
    maven简单介绍
    粗谈Springboot框架,众所周知Springboot是有spring推出的微服务框架,什么是微服务框架呢!
    Springboot打包问题,打包的话是通过
    SpringBoot注解及swagger注解使用及规范
    properties配置
    日志配置
    c++几个面试题
    c++四种强制类型转化的区别
  • 原文地址:https://www.cnblogs.com/lyxsg/p/11689695.html
Copyright © 2011-2022 走看看