当前位置: 首页 > news >正文

分布式专题——33 一台新机器进行Web页面请求的历程 - 指南

1 场景与网络拓扑说明

  • 用户场景:同学X入职成都新公司NewCompany,公司配发新笔记本电脑,他将电脑接入公司网络,准备访问百度网页;

  • ISP(互联网服务提供商):NewCompany的ISP由四川电信提供,百度公司的ISP由北京电信提供;

  • 网络设备与地址

    • 公司网络内有交换机、路由器等设备
    • 笔记本电脑的MAC地址(用于局域网内设备识别)为:11:22:33:44:55:66
    • 网关路由器:
      • 对内网关地址(公司局域网内的网关标识):192.168.5.1
      • 对内MAC地址(局域网内路由器的标识):22:33:44:55:66:11
      • 对外Internet地址(连接公网的地址):120.68.34.89,对外的MAC地址因重要用于局域网寻址,此处无关紧要
    • 百度的Web服务器地址:IP地址14.215.177.38,域名www.baidu.com
    • 路由器还承担DHCP服务器的职责(用于自动给公司网络内设备分配IP等网络配置信息)
    • 假设条件:百度所有素材内容都放在其公司内部服务器上,未采用CDN(内容分发网络)等机制

    在这里插入图片描述

  • Web页面请求的整体逻辑基础:当新PC接入公司网络并要访问百度网页时,需要经过一系列网络协议和设备的交互,包括从局域网内的通信,到通过ISP接入公网,再到与百度服务器所在网络建立连接、获取网页内容等过程,涉及MAC地址寻址、IP地址路由、DNS(域名系统)解析(将域名www.baidu.com转换为IP地址14.215.177.38)等关键网络技术环。

2 交换机

在这里插入图片描述

3 路由器

在这里插入图片描述

  • 工作层级:工作在网络层;
  • 数据包处理:在输入端口接收到数据包后,解析并根据IP地址,在内部路由表中查找,再经内部交换结构往输出端口输送,使数据包到达正确IP地址;
  • 路由寻址算法
    • 分为集中式和分散式两种;
    • 集中式最出名的是图论中的Dijkstra算法,该算法需知道整个网络情况;
    • 实际工作中两种算法结合利用,比如一个ISP内部使用基于Dijkstra算法的OSPF协议;多个ISP之间采用的BGP协议,算法思想接近分散式路由选择算法;
  • 实际应用示例:以网络拓扑图为例,四川电信和北京电信内部的路由器可能用OSPF协议进行路由规划,四川电信和北京电信之间的路径可能用BGP协议规划,路由表也可手工设置。

4 DHCP 获取 IP 地址

5 DNS、ARP、NAT

5.1 DNS

5.2 ARP

  • Address Resolution Protocol(地址解析协议),用于在同一个子网内将网络层地址(如IP地址)和链路层地址(MAC地址)相互转换。每台主机或路由器内存中有ARP表,包含IP地址到MAC地址的映射关系;RARP(反向地址解析协议)则以相反方式工作,通过物理地址解析出对应的IP地址;
  • ARP查询流程(获取网关路由器MAC地址)
    • 笔记本虽知道默认网关的IP地址192.168.5.1,但不知道其MAC地址,因此生成ARP查询报文,目的IP为192.168.5.1,将该报文放入具有广播目的MAC地址(FF:FF:FF:FF:FF:FF)的以太网帧,发送给交换机,交换机将帧交付给所有连接设备(包括网关路由器);
    • 网关路由器在连接公司网络的接口收到ARP查询帧,发现ARP报文中目标IP(192.168.5.1)与自身接口IP匹配,于是准备ARP回答,在ARP回答中,将自己的MAC地址22:33:44:55:66:11与IP地址192.168.5.1关联,目的MAC地址设为笔记本的MAC地址11:22:33:44:55:66,发送该帧给交换机,再由交换机交付给笔记本;
    • 笔记本接收ARP回答帧,从中抽取网关路由器的MAC地址22:33:44:55:66:11,之后就能用该MAC地址将具备DNS查询的以太网帧寻址到网关路由器。

5.3 NAT

6 域内路由到DNS

  • 网关路由器与四川电信R1路由器的转发

    • 网关路由器的运行

      • 网关路由器接收包含DNS查询的以太网帧,从中抽取IP数据报;
      • 查找IP数据报的目的地址(DNS服务器地址120.69.56.46),根据自身转发表,决定将该数据报发送到四川电信网络中的R1路由器;
      • 将IP数据报放置在链路层帧中,按照找到的链路进行发送;
    • 四川电信R1路由器的操作

      • 接收链路层帧,抽取IP信息报,检查其目的地址(120.69.56.46);
      • 根据自身转发表确定转发接口,通过该接口朝着DNS服务器转发数据报;
  • DNS服务器的解析与响应

    • DNS服务器解析

      • 涵盖DNS查询的IP数据报到达本地电信DNS服务器;
      • DNS服务器在其DNS数据库中查找域名www.baidu.com,找到对应的DNS源记录,其中包含www.baidu.com的IP地址14.215.177.38;
    • 生成DNS回答报文并转发

      • DNS服务器形成包含主机名到IP地址映射(www.baidu.com对应14.215.177.38)的DNS回答报文;
      • 将DNS回答报文放入UDP报文段,该数据报凭借四川电信网络反向转发到公司的路由器,再经以太网交换机发送到X同学的笔记本PC;
  • 笔记本PC获取IP地址:X同学的笔记本PC从接收到的DNS报文中,抽取出百度服务器www.baidu.com的IP地址,至此,笔记本PC准备好访问百度服务器。

7 TCP与HTTP

http://www.jsqmd.com/news/19450/

相关文章:

  • 开源隐私计算框架SecretFlow | 基于隐语的金融全链路场景介绍和应用实践
  • 2025 最新智能卫浴镜厂家推荐榜单:家装酒店工装优选,除雾语音多功能品牌权威盘点多功能/语音/蓝牙/led/带灯智能卫浴镜厂家推荐
  • win11暂停更新
  • 2025 年陶土砖生产厂家最新推荐权威榜单:劈开/红色/干挂/砌筑/仿古/透气/耐火/异型/装饰/外墙陶土砖产品及生产流程优势全面解读
  • redis 5.0.14单机部署
  • 视频汇聚平台EasyCVR在智慧工地无网线无电线监控现场视频解决方案
  • Spring进阶 - SpringMVC达成原理(二)DispatcherServlet处理请求的过程
  • 2025多校冲刺CSP模拟赛7
  • 视频汇聚平台EasyCVR级联播放偶发失败排查:TCP主动模式下的3秒超时响应差
  • redis 5.0单机部署
  • 企业微信ipad协议,标准化接口服务解决方案
  • 2025年DevOps平台全景观察:本土化与全球化双轨并行下的企业选择
  • Python实现基于SAO-Transformer-LSTM雪消融优化算法(SAO)优化Transformer-LSTM组合模型进行多变量回归预测的详细项目实例 - 详解
  • 2025 年最新推荐!国内污水处理设备优质厂家排行榜,助力企业精准选优质设备
  • 2025年模内注塑标杆厂家:腾达鑫电子,IML|IMD|IMR|IMP 定制新标准
  • zlog3
  • 信息熵的特征选择算法MATLAB实现
  • Qoder 上线提示词增强功能,将开发者从“提示词”的负担中解放出来
  • HZOJ CSP-S模拟赛37 比赛总结
  • 2025 文审礼品机源头厂家最新推荐榜:奔奔游乐居首,合规资质 + 实力口碑双保障权威排行
  • 数字商品服务助力开发者降本增效,加速数字商品商业变现
  • 系统建设
  • Python-配置PyCharm使用正确的Python解释器
  • pytorch第66页
  • Navicat Premium 17 官方版下载安装教程|支持MySQL、PostgreSQL、MongoDB等数据库
  • 有什么指标可以判断手机是否降频
  • 实用指南:Linux内核kallsyms符号压缩与解压机制
  • 从埋点到用户行为分析:ClkLog 如何帮助企业读懂用户
  • 深入解析:领码方案 | 掌控研发管理成熟度:从理论透视到AI驱动的实战进阶
  • 函数的高级