目录
1. 面试实际问题2. 面试官心理分析3. 面试问题分析
1、面试题
使用浏览器请求链接时会发生什么过程(DNS解析过程)?
2、面试官心里分析
这个问题其实和上一个问题是一样的。测试你的基本技能,检查你对基本网络通信知识的理解。
话虽这么说,这个问题应该是考察一个人基本功的一个相当经典、直白的问题。有了这个清晰的认识,你将对网络通信的基本概念有一个基本的了解。
3、面试题剖析
如果你看了昨天发表的文章,你就知道什么是7层网络模型了。四层模型实际上是会话层、表示层和应用层合并为一个应用层。同时不包括物理层
您还了解了各层的协议和功能以及网络通信过程中发生的情况。现在假设您通过浏览器发送请求,访问与您的网站对应的计算机,然后发送请求。整个答题过程。
现在假设您已经在计算机上配置了一些设置。
IP地址:192.168.31.37
子网掩码:255.255.255.0
网关地址:192.168.31.1
DNS地址:8.8.8.8
现在,当您打开浏览器并请求地址www.baidu.com时,DNS服务器会解析域名并返回IP地址,例如172.194.26.108。
接下来判断两个IP地址是否在同一个子网,用子网掩码255.255.255.0对两个IP地址进行AND运算,可以清楚地看到192.168.31.0和172.194.26.0即可得到。同一子网。
如图所示:
接下来我们需要将数据包发送到网关。实际上,我们认为是路由器192.168.31.1,我们可以得到网关IP地址的MAC地址。应用层及路径当浏览器访问网站时,应用层使用的是http协议,浏览器发送的请求数据包中应该放什么?
http协议分为几个部分。
请求方法+URL地址+http版本
例如
GEThttp://172.194.26.108/testHTTP/1.1,类似于这个请求头:
主机:upload.jiansu.io
代理连接: keepalive
用户代理:Mozilla/5.0
ETC。
例如,请求正文可以包含通常构成http 请求消息的json。浏览器首先按照应用层http协议封装应用层数据包。此时http请求消息就被打包成数据包了。此时数据包没有包头。以上创建了一个http请求消息,并根据http协议生成了一个数据包。这就是网络模型的应用层所做的事情。
下一步是运行传输层。这一层就是TCP协议。 TCP协议随机选择发送端口,接收端口一般默认为80端口。
此时,应用层数据包被封装成TCP数据包,对应TCP头,TCP头中放置端口号信息。如图所示:
进入网络层,使用ip协议。此时,TCP报头和TCP数据包被组合成IP数据包,在IP报头内创建IP报头。本地和目标计算机的IP 地址。
这里的本地IP地址是192.168.31.37。
目标机器是172.194.26.108。
目前,数据包只能通过以太网协议通过网关广播发送,因为通过IP协议可以判断两个IP地址不在同一子网中。如图所示:
下一步是使用以太网协议的数据链路层。这里,将IP头和IP数据包封装成以太网数据包,并添加以太网数据包头。本地网卡和网关的MAC 地址。但如果以太网数据包限制为1500字节,而IP数据包限制为5000字节,则需要对IP数据包进行裁剪。
这时,以太网数据包必须被分割成四个数据包。每个数据包包括以太网报头、IP报头和截断的IP数据包。四个数据包的大小分别为1500、1500、1500、和560。 IP 标头包含每个数据包的序列号。
如图所示:
这四个以太网数据包通过交换机发送到网关,此时路由器可以将它们转发到其他子网。你可以有N个路由器或者网关,经过N个网关转发后,发送到百度的特定服务器,接收4个以太网数据包。
当百度服务器接收到这四个以太网数据包时,根据IP头中的序号将四个以太网数据包内的IP数据包组合起来,还原成完整的IP数据包。然后它从ip数据包中提取出tcp数据包,然后从tcp数据包中提取出http数据包,读取http数据包中的各种协议的内容,并进行一些处理,并将响应结果封装起来。它接收HTTP响应消息,将其封装成HTTP数据包,按照相同的过程封装TCP数据包,封装IP数据包,封装以太网数据包,并通过网关将其发回。
如下所示:
----------------结束-------------
另外,我们还推荐乳源课堂的1元系列课程。我们一起来学习吧。
互联网Java工程师面试惊喜课程(仅需1元)
零基础入门SpringCloud阿里巴巴项目(限1元)
亿级流量下的电商详情页系统实战实现项目(限1元)
Kafka消息中间件核心源码讲座(限1元)
掌握Java并发编程的12个实战实例(限1个)
从零开始,精通Elasticsearch(限1元)
基于Java手写文字的分布式中间件系统实践经验(限1元)
基于ShardingSphere的分库分表实践课程(限1元)
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。