输入一个URL发生了什么

孤单小弟 HTTP

一个URL的组成
在这里插入图片描述

首先浏览器需要对URL进行解析,从而生成发送给web服务器的请求信息。
在这里插入图片描述

URL是就是请求服务器的文件资源。
在这里插入图片描述
假如不带文件路径呢?通常服务器会在根目录下放置一个默认的Index.html,返回他即可。

浏览器解析出URL,确定了对方的web服务器和文件名。生成请求。
在这里插入图片描述
一个孤单的HTTP数据包背起了行囊。

真实地址查询DNS

通常输入的服务器域名是字符串,因为直接输入IP难以记忆。DNS服务器(端口为53)专门保存了web服务器域名和IP之间的对应关系。

就像外国人说一个地点,xx街道xx区xx市xx省一样。他们的习惯与我们相反。

在这里插入图片描述
根域处于互联网任意一个DNS服务器中。

讲清楚这些再看。

  • 此时浏览器发出一个dns请求,询问本地DNS服务器,域名对应的IP是啥。假如本地有缓存过它对应的IP,直接返回。
  • 假如没有,本地DNS服务器会向根域DNS服务器询问,“大哥,请问这个域名的IP地址是啥”
  • 根域收到它请求,看见后缀为.com,指明一条道路,归.com管,我给你.com的顶级域服务器地址,你去问他。
  • 它(本地DNS服务器)找到了顶级域服务器,“二哥请问这个域名对应的IP地址是啥”
  • 二哥一看,这个域名,归权威DNS服务器管,你去问他
  • 它又找到了权威DNS服务器,问道"三哥,这个域名对应的IP是啥",权威服务器一查,本地DNS服务器拿到对应的IP,返回给自己的浏览器。

经过不断的问路,终于找到了目的地。接下来该怎么发呢?

可靠传输TCP

数据链路层确定点到点,中间经过一个个源mac地址,目的mac地址的区间,不断跳转

首先,三次握手,建立链接。浏览器就可以发送自己的请求报文,假如数据大小大于MSS还会进行分段之后加报头,同时TCP还有保证可靠性,效率的一些机制。
有了TCP的保证,很心安,可是我该往哪走?

远程定位IP

IP协议将数据拿到,假如数据大小大于MTU,会进行分片后加IP报头,IP报头中拥有源IP,目的IP这两个IP始终是不会变化的。

  • 源IP:客户端有多个网卡,就有多个IP,经过route-n查看路由表,根据目的ip按位与子网掩码,算出网段。观察与哪个网卡相匹配,填入网卡的IP。假如没有填默认的。
  • 目的IP:就是之前DNS解析拿到的。
    知道了源IP,目的IP,经过多次路由选择,就确定了本主机到另一台主机之间的路径。
    路由选择:
    目的IP,按位与子网掩码。算出网段。观察本主机路由表,查找目的ip的网络地址,假如有找到下一跳,假如没有转发给默认路由1。路由器1在路由表匹配到了转发给下一跳路由器,路由器匹配到了而且发现是自己局域网主机,将IP数据报经过交换机转发至目标主机。
    在这里插入图片描述

有了IP,不再迷茫,可是那么远,我下一站在哪?

两点传输MAC

数据链路层根据MAC地址在一个接一个的区间中进行传输,每个区间的起始地址就是源MAC地址,目的地址就是目的MAC地址。

源MAC地址:直接从网卡的ROM里读取。经过路径选择,我们知道了各个路由器的IP,同时经过ARP协议,拿到他们的MAC地址。然后在两点之间传输数据。所以源MAC,目的MAC是不断变化的。

ARP协议:以广播的形式对所有设备询问,这个IP地址是谁的,请把你的MAC地址告诉我。同时划分一个ARP缓存存储IP地址到MAC地址的映射。
谢谢大家的帮助,现在我终于可以出门了。

最终

自底向上不断分离报头,可靠地收到这些数据后,处理请求,返回响应。经过同样的步骤,将响应报文送给客户端浏览器。浏览器收到响应后,渲染数据。四次挥手断开链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值