• 【运维面试题】访问www.baidu.com背后发生了什么·dns解析过程·ping过程


    一、访问www.baidu.com背后发生了什么

    1.浏览器解析url是否合法
    2.浏览器向DNS服务器请求解析ip地址
    3.dns将解析出来的ip地址返回给浏览器
    4.三次握手,浏览器与服务器进行tcp连接
    5.浏览器向服务器请求html文件
    6.服务器返回html文件给浏览器
    7.四次挥手,浏览器与服务器断开tcp请求
    8.浏览器执行html文件,渲染页面

    二、dns解析过程

    答法1(推荐)

    1. 客户端首先查看浏览器缓存,看有没有该域名对应的IP地址,没有就到本地host文件里面去查找;
    2. 本地host文件里没有,就向本地域名服务器进行递归查询,本地域名服务器也是先查看自己的缓存;
    3. 本地DNS服务器没有的话就向根域名服务器进行迭代查询,根域名服务器通常是把自己知道的顶级域名服务器的ip地址告诉本地域名服务器;
    4. 本地域名服务器再向顶级域名服务器查询,顶级域名服务器要么给出所要查询的IP地址,要么告诉本地服务器下一步应该向哪一个权限域名服务器进行查询;
    5. 地域名服务器向权限域名服务器进行查询,然后得到了所要解析的IP地址;
    6. 本地域名服务器将该域名和对应的IP地址写入自身缓存,然后将解析的IP地址返回给客户端

    在这里插入图片描述

    答法2

    • 客户机首先查看自己浏览器的缓存,如果没有对应的dns解析,就查看自己机器中的host文件。
    • 如果都没有向本地dns服务器查询,本地dns服务器也是先查看自己的缓存,如果有直接返回,如果没有,询问运营商。
    • 运营商,查询缓存,查询数据区,有返回,没有访问根域名服务器。
    • 根域名服务器查询.com的域名服务器位置,返回给运营商,运营商访问.com服务器,.com服务器返回baidu.com服务器ip给运营商。
    • 运营商访问baidu.com服务器,baidu.com服务器返回www.baidu.com的ip给运营商。
      运营商返回给本地服务器,本地服务器返回给客户机。

    智能dns就是将用户发起的查询进行判断出师哪个运营商的用户查询,然后将请求转发给相应的运营商ip处理,减少跨运营商访问的时间,提高访问速度。

    三、ping过程

    A机器ping B机器的过程 (ping命令在网络层)

    1、 A机器会拿着B机器的IP地址和自己的子网掩码进行与运算得到一个网段号;
    2、 然后到A机器自己的路由表里去查询是否有合适的路由条目进行转发,如果有就进行转发,如果没有就会通知网络不可达;
    3、 因为我们配置了默认路由,所以A机器就会把数据转发到默认的网关中,数据链路层会进行帧的封装,源mac是自己的,目的mac是网关的,因为交换机看不到IP地址,只是根据mac地址进行转发;
    4、 网关收到数据包后,也是查看目标IP地址,然后到路由表里查询哪条路由可以到达,然后就路由,如果没有就直接丢弃数据包;
    5、 在发包的过程中是双向的 当B机器接受到数据包后,它也会返回一个数据
    包,这样才能进行通信。

  • 相关阅读:
    SpringBoot集成Mybatis-plus
    openGauss学习笔记-125 openGauss 数据库管理-设置账本数据库-校验账本数据一致性
    JavaEE——No.1 线程安全问题
    硬盘分区误删数据如何恢复呢?
    基于单片机的土壤温湿度控制系统
    电压放大器在电子实验中有哪些作用
    java高级之单元测试、反射
    LeetCode每日一题——828. 统计子串中的唯一字符
    ORA-22922:不存在的 LOB 值
    基于图像识别的迁移学习之一
  • 原文地址:https://blog.csdn.net/qq_40887651/article/details/128194245