关注
1. DHCP 配置主机信息 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255) 和源 IP 地址(0.0.0.0)的 IP 数据报中。 该数据报则被放置在 MAC 帧中,该帧具有目的地址 FF:FF:FF:FF:FF:FF,将广播到与交换机连接的所有设备。 连接在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报、UDP 报文段、DHCP 请求报文,之后生成 DHCP ACK 报文,该报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP 报文段有被放入 IP 数据报中,最后放入 MAC 帧中。 该帧的目的地址是请求主机的 MAC 地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了 MAC 地址到其转发接口的交换表项,因此现在交换机就可以直接知道应该向哪个接口发送该帧。 主机收到该帧后,不断分解得到 DHCP 报文。之后就配置它的 IP 地址、子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。 2. ARP 解析 MAC 地址 主机通过浏览器生成一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 请求。为了生成该套接字,主机需要知道网站的域名对应的 IP 地址。 主机生成一个 DNS 查询报文,该报文具有 53 号端口,因为 DNS 服务器的端口号是 53。 该 DNS 查询报文被放入目的地址为 DNS 服务器 IP 地址的 IP 数据报中。 该 IP 数据报被放入一个以太网帧中,该帧将发送到网关路由器。 DHCP 过程只知道网关路由器的 IP 地址,为了获取网关路由器的 MAC 地址,需要使用 ARP 协议。 主机生成一个包含目的地址为网关路由器 IP 地址的 ARP 查询报文,将该 ARP 查询报文放入一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,并向交换机发送该以太网帧,交换机将该帧转发给所有的连接设备,包括网关路由器。 网关路由器接收到该帧后,不断向上分解得到 ARP 报文,发现其中的 IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。 3. DNS 解析域名 知道了网关路由器的 MAC 地址之后,就可以继续 DNS 的解析过程了。 网关路由器接收到包含 DNS 查询报文的以太网帧后,抽取出 IP 数据报,并根据转发表决定该 IP 数据报应该转发的路由器。 因为路由器具有内部网关协议(RIP、OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经配置了网关路由器到达 DNS 服务器的路由表项。 到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待解析的域名。 找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。 4. HTTP 请求页面 有了 HTTP 服务器的 IP 地址之后,主机就能够生成 TCP 套接字,该套接字将用于向 Web 服务器发送 HTTP GET 报文。 在生成 TCP 套接字之前,必须先与 HTTP 服务器进行三次握手来建立连接。生成一个具有目的端口 80 的 TCP SYN 报文段,并向 HTTP 服务器发送该报文段。 HTTP 服务器收到该报文段之后,生成 TCP SYN ACK 报文段,发回给主机。 连接建立之后,浏览器生成 HTTP GET 报文,并交付给 HTTP 服务器。 HTTP 服务器从 TCP 套接字读取 HTTP GET 报文,生成一个 HTTP 响应报文,将 Web 页面内容放入报文主体中,发回给主机。 浏览器收到 HTTP 响应报文后,抽取出 Web 页面内容,之后进行渲染,显示 Web 页面。 转自:https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md
查看原帖
2 评论
相关推荐
03-15 11:23
湖北师范大学 计算机类 点赞 评论 收藏
转发
03-20 01:33
门头沟学院 计算机类 点赞 评论 收藏
转发
04-02 21:21
大连民族大学 设计学类 点赞 评论 收藏
转发
牛客热帖
- 1... 想来字节技术实习,看我这篇就够了!——保姆级面经大放送2.4W
- 2... 0实习经验上岸字节,分享一下过程经验1.9W
- 3... 25届第一份实习怎么找?1.9W
- 4... 外卖员面试经验1.9W
- 5... 【奖】休息放松or学习提升,五一假期和牛牛一起“充充电”🔋1.4W
- 6... 【0429快问快答】99%牛油的疑惑解答(更新至38个问题1.2W
- 7... 准备去参加自己的婚礼1.1W
- 8... 美团后端日常实习一二面(已oc)9594
- 9... 【💰有奖征集】非技术岗位笔面经邀你来分享!攒人品时间到!7995
- 10... 腾讯后台开发一面4.267624
正在热议
# 牛友的五一计划 #
15113次浏览 325人参与
# 如何看待offer收割机的行为 #
193756次浏览 2980人参与
# 牛客帮帮团来啦!有问必答 #
396078次浏览 7800人参与
# 晒一晒我的offer #
2821786次浏览 49896人参与
# 无实习如何秋招上岸 #
172421次浏览 2717人参与
# 如何一边实习一边秋招 #
201096次浏览 3993人参与
# 春招别灰心,我们一人来一句鼓励 #
21133次浏览 304人参与
# 非技术岗薪资爆料 #
8231次浏览 152人参与
# 硬件人的春招flag #
14538次浏览 199人参与
# 在国企工作的人,躺平了吗? #
72709次浏览 878人参与
# 字节跳动工作体验 #
53016次浏览 1516人参与
# 聊聊这家公司值得去吗 #
62787次浏览 1217人参与
# 女生做医疗销售有前景吗 #
3849次浏览 48人参与
# 第一次面试 #
16989次浏览 260人参与
# 来聊聊机械薪资天花板是哪家 #
22516次浏览 178人参与
# 机械人,你的秋招第一份简历被谁挂了 #
26945次浏览 491人参与
# 你更愿意参加线上面试还是线下面试? #
6883次浏览 94人参与
# 华为求职进展汇总 #
441569次浏览 4433人参与
# 机械制造2024笔面经 #
278341次浏览 4662人参与
# 如何KTV领导 #
7483次浏览 72人参与