【计算机考研408-计算机网络-教书匠视频笔记】主机访问浏览器的全部过程

news2024/10/7 12:25:18

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q9CF2lnV-1670594818326)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221209205607001.png)]

主机H1利用浏览器通过该域名请求访问web服务器

  • 由于题目给定主机H1的ARP表是空的

(1)主机H1首先会发送ARP请求报文,ARP请求报文会被封装在以太网的MAC帧中发送

ARP请求报文:FF-FF-FF-FF-FF-FF

源MAC地址:00-11-22-33-44-cc(即主机H1的MAC地址)

  • ARP协议的作用:由IP地址查找对应的MAC地址
  • ARP请求报文会被封装在以太网广播帧中,整个过程都是在数据链路层中进行的

(2)该ARP请求报文进入以太网交换机,以太网交换机进行自学习和转发帧的操作,登记ARP报文的源地址和进入交换机时的端口号(这就是所谓的自学习)

  • 题目给定以太网交换机的交换表是空的

  • 自学习后的交换表

(3)由于该ARP请求报文是广播帧,故不用查表,直接从其他所有的端口转发出去

  • 本地域名服务器会收到
  • H2主机会收到
  • R路由器也会收到

(4)本地域名服务器从该广播帧中解析出ARP请求报文,从而知道该ARP请求报文是询问自己的,故接收该ARP请求报文,并向主机H1发出ARP响应报文欲告知自己的MAC地址。

路由器R从该广播帧中解析出ARP请求报文,知道不是询问自己的,从而丢弃该报文,H2同理丢弃。

  • ARP响应报文被封装在以太网单播帧中发送

ARP响应报文:00-11-22-33-44-cc(目的地址,主机H1的MAC地址)00-11-22-33-44-bb(源地址,本地域名服务器的MAC地址)

(5)该单播帧ARP响应报文从交换机的1号端口进入交换机,故交换机更新交换表,更新完后,在交换表中查找该单播帧的目的MAC地址,发现对应的端口号为4,故从该端口4转发出

(6)主机H1收到来自交换机端口4转发的ARP响应报文,通过解析该报文,发现是发送给自己的,于是知道了本地域名服务器的MAC地址,并更新ARP表

  • 现在主机可以向本地域名服务器发送DNS请求报文了,以便获取web服务器域名所对应的IP地址
  • DNS是基于UDP的,根据域名查询出IP地址

DNS查询流程简化如下(这里我使用的是递归与迭代相结合的方式),

a.查询本地域名服务器,本地域名服务器中没有记录所以进行b

b.访问DNS根服务器,根服务器通过查询知道了该域名是归.com顶级域名服务器管理的,所以告知本地域名服务器去查询顶级域名服务器,所以去进行c

c.本地域名服务器,去查询.com域服务器(顶级域名服务器),然后该服务器告知,负责abc.com区域的服务器知道,我告诉你他的地址,你去问他把

d.最后,访问abc.com域服务器,得知此域名对应的IP地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ecRp8aQr-1670594818326)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221209213337116.png)]

DNS请求报文的封装情况,

(7)主机收到DNS响应报文从而知道了web服务器的IP地址,通过比较前25比特网络前缀,知道了web服务器与主机H1不在一个网络当中

(8)于是,主机H1要通过访问R路由器也就是默认网关192.168.1.1来访问web服务器

  • 主机H1查找ARP表发现,默认网关192.168.1.1的MAC地址,找不到

(9)主机H1再次发送ARP请求报文,通过路由器R的IP地址来查询其相应的MAC地址,ARP请求报文被封装在以太网广播帧中发送

  • 目的地址:FF-FF-FF-FF-FF-FF
  • 源MAC地址:00-11-22-33-44-cc

(10)路由器R从该广播帧中解析出ARP请求报文,知道这是询问自己,所以接收该报文(其他的设备发现不是给自己的,丢弃该报文),响应该报文

(11)路由器R给主机H1发送ARP响应报文,告知自己的MAC地址,ARP响应报文被封装在以太网单播帧中发送

该ARP响应报文进入交换机后,更新交换表,如下

(12)更新完后,对该单播帧进行转发,根据目的MAC地址查询交换表,发现应该从4号端口中转发出去

(13)主机H1收到单播帧,从中解析出ARP响应报文,从而知道了路由器R该接口的IP地址所对应的MAC地址,将其记录到ARP表中

(14)先主机H1可以通过路由器R访问web服务器

(15)主机H1与web服务器之间要先通过TCP连接报文建立连接(即三报文握手)

  • TCP使用熟知端口号80

  • 主机可以在第三个报文段中携带HTTP请求报文

  • web服务器在收到报文后,将所请求的内容封装成HTTP响应报文

  • 通过已建立的连接发送给主机H1

(16)至此,主机H1访问web服务器的应用场景的全部过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 容器使用

文章目录Docker 容器使用Docker 客户端运行一个web应用查看 WEB 应用容器网络端口的快捷方式查看WEB应用程序日志查看WEB应用程序容器的进程检查WEB应用程序停止WEB应用容器重启WEB应用容器移除WEB应用容器Docker 容器使用 Docker 客户端 docker 客户端非常简单 ,我们可以直接…

全网显示 IP 归属地,用上这个开源库,实现也太简单了

细心的小伙伴可能会发现,最近蘑菇新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息 动态显示IP属地 在蘑菇群聊中,也 可 以 展 示 IP 属 地,下面是小伙伴们在交流群中显…

【强化学习论文合集】十八.2019国际表征学习大会论文(ICLR2019)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

面试官:你觉得你最大的缺点是什么?

面试官:你觉得你最大的缺点是什么? 前言 相信百分之80的同学们都会被问到这个问题:你觉得你最大的缺点是什么? 这也是求职者一个充满恐惧的问题,特别是我们程序员,大家在与人沟通并没有我们与代码沟通这么得心应手,如果你没回…

网络请求工具wget和curl

一. wget命令 wget命令来自于英文词组”web get“的缩写,其功能是用于从指定网址下载网络文件。 wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。 注意:不同busybox版本集成的wget命令,可能不…

统计检验分析

1. 正态分布检验 2. 统计检验 正态分布且方差齐非正态分布或方差不齐para test non-para testnon-pairedpaired2组 t-testWilcoxon rank-sum testWilcoxon signed-rank test3组及以上One way ANOVA Kruskal-Wallis testt-test: Paired t-test: 确定某个总体的成对测量值之间…

说说WM_DESTROY和WM_NCDESTROY的区别

在一个 Windows 窗口被销毁的时候,你会发现有两个比较类似的消息:WM_DESTROY和WM_NCDESTROY,那么,这俩兄弟之间有什么区别呢?今天就来讲讲。 不同之处在于,WM_DESTROY消息在窗口销毁序列的开头发送&#x…

MySQL执行计划误选索引及修改方案

MySQL的优化器 MySQL在执行查询语句时使用那个索引是由server层的优化器决定的。优化器的作用是找到一个最优的执行方案,用最小的代价去执行语句。由于MySQL使用预估的方式去选择索引,所以MySQL可能会出现选择索引出错的情况,无法命中最优索…

刘韧工作手册(2023年版)

刘韧于2022年9月22日为云算科技做内部演讲。由谭缘整理成文,李欣欣编辑,朱芳文审定。一、认知篇01 干中学,重复做。“学”是为了“习”,学到的东西是为了下一次习的时候,做得更好。“习”,是最终实践的成果…

WSL安装教程

wsl安装教程引言前期准备工作安装wsl第一步第二步 检测系统版本第三步 确定虚拟机特性第四步 下载Linux内核的更新包第五步 设置WSL 2作为默认版本第六步 选择Linux发行版本并设置Linux账号小TIPS引言 Windows Subsystem for Linux(简称WSL)是一个在Win…

大家都在画圣诞树,我们用代码敲一颗吧~圣诞树

前段时间发布的文章很多人问怎么操作的,今天具体说明一下:PS:如果需要下载可以点击左下角阅读全文下载代码使用更方便具体步骤如下:复制下面代码在电脑里面新建一个记事本,将代码复制到新建的记事本里保存记事本&#…

虚拟机网络连通性选择

做运维的朋友对于虚拟机这个概念应该不会陌生,这里不做讲解。今天主要想对虚拟机的网络连通性的选择方法做一个简单的介绍,如果是老人就没必要看了,此文章针对刚入门初次使用虚拟机进行测试、工作的小伙伴。 咱们常见的虚拟机平台软件有很多&…

【实时数仓】用户行为日志采集模块单机模式部署,Nginx介绍、安装和配置,采集模块集群部署并使用Nginx进行反向代理

文章目录一 日志采集模块1 打包单机部署(1)修改gmall2022-logger中的logback.xml配置文件(2)修改SpringBoot核心配置文件application.propeties(3)测试(4)程序运行流程2 Nginx&#…

Grafana 的介绍和安装

版本:9.3.1 介绍 Grafana是一款能够提供查询、告警和可视化指标、日志、链路跟踪的软件,并且提供了TSDB时序数据库用于存储数据。 一共有3个版本,Grafana OSS(开源版),Grafana Enterprise(企业…

【C++】红黑树

一.红黑树的概念与性质 1.概念 红黑树是二叉搜索数的一种, 相比于AVL树(二叉平衡搜索树)红黑树通过减少旋转的次数来进一步优化了查找效率, 在每个节点上增加一个存储位表示节点的颜色, Red or Black, 通过对任何一条从根到叶子的路径上各个节点着色方式的限制, 红黑树确保没…

亚马逊云科技re:Invent:创新永无止境,科技重塑未来

作为全球IT行业一年一度的科技盛宴,2022亚马逊云科技re:Invent全球大会吸引了来自世界各国的开发者与企业客户的高度关注,其中自然也包括了广大中国企业。作为全球云计算领域的风向标,本届大会究竟揭示了怎样的行业趋势?发布了哪些…

【超聚变】FusionServer1288H V6安装CentOS系统

【超聚变】FusionServer1288H V6安装CentOS系统1、创建Raid2、安装系统2.1.使用IBMC地址,登录web界面2.2.选择启动虚拟控制台2.3.挂载镜像2.4.选择启动盘2.5.安装系统2.6.选择英文安装2.7.时区选择上海(Asia/Shanghai)2.8.选择最小化安装&…

【Vue源码解析】mustache模板引擎

模板引擎什么是模板引擎实现 Scanner 类根据模板字符串生成 tokens在 index.js 引入 parseTemplateToTokens实现 tokens 的嵌套One More Thingtokens 结合数据解析为 dom 字符串定义 lookup 函数定义 renderTemplate 函数什么是模板引擎 模板引擎是将数据变为视图最优雅的解决…

如何清除chrome浏览器缓存

清除浏览器的缓存知识调用前言引入具体操作知识调用 文章中可能用到的知识点前端学习:浏览器缓存方式有哪些(http协议 websql indexDB cookie localstorage sessionstorage)如何查看Chrome浏览器的页面缓存内容【详细教程】 前言引入 上期文…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.1 簇点链路

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.1 簇点链路31.1.1 簇点链路31.1.2 快速入门31 限流规则 31.1 簇点链路 31.1.1 簇…