python技术面试题(二)

正文共: 1145字 5图 预计阅读时间: 3分钟

1.描述用浏览器访问www.baidu.com的过程

1.首先由DNS服务器解析出baidu.com对应的IP地址。

2.要先使用ARP获取默认网关的mac地址。

3.组织数据发送给默认网关(IP还是DNS服务器的IP,但是mac地址是默认网关的mac地址),默认网关拥有转发数据的能力,把数据转发给路由器。

4.路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关。

5.目的网关(DNS服务器所在的网关),把数据转发给DNS服务器。

6.DNS服务器查询解析出baidu.com对应的ip地址,并原路返回请求这个域名的client。

7.得到了baidu.com对应的IP地址之后,会发送tcp的3次握手,进行连接。

8.使用HTTP协议发送请求数据给web服务器。

9.web服务器收到数据请求之后,通过查询自己的服务器得到的相应的结果,原路返回给浏览器。

10.浏览器接收到数据之后通过浏览器自己的渲染功能来显示这个网页。

11.浏览器关闭tcp连接,即4次挥手结束,完成整个访问过程。

2.过程中涉及到的知识点

2.1OSI模型

OSI模型称为开放式系统互联通信参考模型,将计算机网络体系结构分为七层:

第一层:物理层(比特流传输),相当于邮局中一线的搬运工人。

第二层:数据链路层(提供介质访问,链路管理),相当于邮局中的装拆箱工人。MAC地址在这一层。

第三层:网络层(寻址和路由选择),相当于邮局中为邮件物品按地区分类排序的工人。IP地址在这一层。

第四层:传输层(提供终端到终端的可靠连接),相当于公司中给邮局去寄信件的职员。

第五层:会话层(建立维护和管理会话),相当于公司中负责收寄信,装信封拆信封的秘书之类的人员。

第六层:表示层(处理数据格式,数据加密等),相当于公司中替老板写信的助理。

第七层:应用层(提供应用程序间通信),相当于大老板。

2.2TCP/IP模型

第一层:网络接口层(对应七层模型中的物理层和数据链路层)

第二层:网络层

第三层:传输层

第四层:应用层(对应会话层、表示层和应用层)

2.3ARP

ARP称为地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议

主机将包含目标IP地址的ARP请求广播到网络上的所有主机,然后通过接收返回的消息来确定目标的物理地址。

优质文章推荐:

公众号使用指南

redis操作命令总结

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

项目重点知识点详解

难点理解&面试题问答

flask框架中的一些常见问题

团队开发注意事项

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

重点内容回顾-DRF

Django相关知识点回顾

美多商城项目导航帖

项目重要技术点介绍

原文发布于微信公众号 - 小闫笔记(Pythonnote)

原文发表时间:2019-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券