访问网页数据传输过程分析

写作背景

这是本菜鸡的一门课程考核内容,记录一下过程,以供各位和以后的自己参考。
案例是 分析访问某个网站的数据传输过程,具体 URL 见文章。
如果有什么问题,还请各位大佬提出,不胜感激。
如果觉得我这篇文章写的好的话,能不能给我 点个赞评论 一波。如果要点个 关注 的话也不是不可以🤗。

步骤

如下:

  1. 启动 wireshark
  2. 访问该网站。
  3. 点击“搜索”。
  4. 获得响应结果。
  5. 关闭 wireshark
  6. 保存结果。

截图

本机网络配置 如下:
请添加图片描述
本机 DNS 记录 如下:

  • 访问前:
    在这里插入图片描述
  • 访问后:
    在这里插入图片描述
    抓包结果 如下:
  1. DNS 报文:
    在这里插入图片描述
  2. TCP 请求过程:
    在这里插入图片描述
  3. HTTP 报文:
    在这里插入图片描述
    响应报头 如下:
    在这里插入图片描述
    响应内容 如下:
    在这里插入图片描述
    可以看到,

本机 IPV4 地址为 172.22.244.61IPV6 地址为 2001:da8:253:c027:3196:163:55cd:a8e8,与抓取的请求包中 源IP 相符。

浏览器中请求的 URLhttp://dict.youdao.com/w/eng/你好 ,其中,你好 经过 URL 加密 后结果为 %E4%BD%A0%E5%A5%BD ,与捕获的报文中 域名携带参数 相符。

浏览器中展示的 HTML 页面的源码也与响应报文中 响应数据 相符。

DNS 响应的结果中,

  • 域名为 dict.youdao.com 被映射到了 cname.dict.ntes53.netease.com
  • 又被映射到了 dict.ntes53.netease.com
  • 通过最后一行可以得到, dict.ntes53.netease.comIPV6 地址为 2408:8706:0:5e05:123:123:219:80
  • 即,域名 dict.youdao.com 对应的服务器 IPV6 地址为 2408:8706:0:5e05:123:123:219:80 。与 HTTP 请求中目的 IP 相符。

HTTP 请求前,本机和服务器之间要进行 TCP 三次握手,如请求过程图片的 No.103、No.124、No.125 所示。

综上所述,抓包结果没问题。

分析

数据传输过程

在这里插入图片描述

  • 向服务器请求,封装成请求数据包,发送给服务器。
    1. 请求数据包从 客户机应用层 出发,经过 客户机传输层客户机网络层客户机数据链路层客户机物理层本地交换机物理层,到达 本地交换机数据链路层
    2. 本地交换机向本地路由器转发数据包。
    3. 数据包从 本地交换机数据链路层 出发,经过 本地交换机物理层本地路由器物理层本地路由器数据链路层,到达 本地路由器网络层
    4. 本地路由器对数据包进行 分组过滤,依据 路由表 信息,将可传输的数据包 转发 至目的路由器。
    5. 数据包从 本地路由器网络层 出发,经过 本地路由器数据链路层本地路由器物理层,通过 互联网目的路由器的物理层 连接,然后经过 目的路由器的数据链路层,到达 目的路由器的网络层
    6. 目的路由器根据 路由表 信息将数据包转发至目的交换机。
    7. 数据包从 目的路由器网络层 出发,经过 目的路由器数据链路层目的路由器物理层目的交换机物理层,到达 目的交换机数据链路层
    8. 目的交换机转发数据包至对应服务器。
    9. 数据包从 目的交换机数据链路层 出发,经过 目的交换机物理层服务器物理层服务器数据链路层服务器网络层服务器传输层,到达 服务器应用层
    10. 服务器 WEB 应用对请求数据包进行解析,提供对应资源,封装成响应数据包。
  • 按传输路径返回给客户机。

交互过程

由上述图可以得到这次请求的过程:

  1. 域名解析过程

    1. 由于 本机 DNS 缓存中 并未有域名 dict.youdao.com 的记录,所以本机向本地 DNS 服务器(IP 地址为 210.31.48.8)发送 DNS 请求报文,请求获得域名 dict.youdao.com 对应的 IP 地址,此查询过程是 递归查询
      1. 如果 本地 DNS 服务器 有对应缓存,则直接返回结果。
      2. 如果 本地 DNS 服务器 没有缓存,向 根域名服务器 查询,有则返回结果。
      3. 如果 根域名服务器 没有缓存,向 顶级域名服务器 查询,有则返回结果。
      4. 如果 顶级域名服务器 没有缓存,向 权威域名服务器 查询,返回结果。
    2. DNS 服务器响应,并返回 域名解析的结果,具体分析见 截图 部分解析。
  2. TCP交互过程

    • 本机与服务器之间建立 TCP 连接,需要进行 三次握手 。如下图所示:
    Client Server SEQ=x SEQ=y, ACK=x+1 SEQ=x+1, ACK=y+1 Client Server
    1. 第一次握手,No.103 报文,SEQ=0
    2. 第二次握手,No.124 报文,SEQ=0ACK=1
    3. 第三次握手,No.125 报文,SEQ=1ACK=1
  3. HTTP交互过程

    1. 三次握手成功后,本机向 dict.youdao.com 对应的 IPV6 地址发送 HTTP 请求,方式为 GET 请求,请求路径为 /w/eng/%E4%BD%A0%E5%A5%BD
      1. 客户端 IP 即本机 IP ,是 2001:da8:253:c027:3196:163:55cd:a8e8 ,端口为 49973
      2. 服务器 IPDNS 请求结果,是 2408:8706:0:5e05:123:123:219:80 ,端口为 80
    2. HTTP响应 :返回数据格式为 HTML。源 IP 、端口和目的 IP 、端口与请求过程相反。

网络拓扑

简单网络拓扑如下(使用 Packet Tracer 作图):
在这里插入图片描述

网络仿真

可以使用 OPNET 进行网络仿真,并分析其性能。

网络拓扑图如下(使用 OPNET 作图):
在这里插入图片描述在这里插入图片描述在这里插入图片描述
其中:

  • 子网之间使用 1000BaseT 连接,子网内使用 100BaseT 连接。

一共 3 个场景,分别为 basebusybusier

其中:

  • base :链路无载荷。

  • busy :链路载荷设置如下:

    • server
      在这里插入图片描述
    • 子网间:
      在这里插入图片描述
    • client:无
  • busier :链路载荷设置如下:

    • server
      在这里插入图片描述
    • 子网间:
      在这里插入图片描述
    • client :无

仿真结果比较:

  • 以太网时延比较:
    在这里插入图片描述
    可以看到,链路载荷对时延的影响还是有点明显的,载荷越大,时延越高



结尾

以上就是我要分享的内容,因为学识尚浅,会有不足,还请各位大佬指正。
有什么问题也可在评论区留言。
在这里插入图片描述

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值