浏览器输入一个域名地址

  • 来源:csdn
  • 更新日期:2018-05-25

摘要:临近毕业了没事,最近在徐汇这边找了一家公司实习,闲着没事,又把以前的TCP/IP相关的东西拿过来看看。 想起了泛亚技术研发中心的一道面试题: 向浏览器输入www.baidu.com这个域名后,把具体过程分析一遍。 我当时好像只说了关于一个ARP协议,其它的蒙圈了,对于这类基础知识掌握能力不行啊。。。

临近毕业了没事,最近在徐汇这边找了一家公司实习,闲着没事,又把以前的TCP/IP相关的东西拿过来看看。

想起了泛亚技术研发中心的一道面试题:

向浏览器输入www.baidu.com这个域名后,把具体过程分析一遍。

timg (64).jpg

我当时好像只说了关于一个ARP协议,其它的蒙圈了,对于这类基础知识掌握能力不行啊。。。

 

于是又把以前初学TCP时,写的一些博客拿过来看。

OSI模型与TCP模型点击打开链接、TCP/IP协议点击打开链接、三次握手与四次握手点击打开链接、点击打开链接

终于把其中的很多词汇串联在一起了,所以现在感觉比原来只知道死记硬背更有条理性了吧。

 

引用另外一篇的博客说明:点击打开链接。也可以参考另外一篇博客简单解释点击打开链接

 

事件顺序

 

(1) 浏览器获取输入的域名www.baidu.com
(2) 浏览器向DNS请求解析www.baidu.com的IP地址
(3) 域名系统DNS解析出百度服务器的IP地址
(4) 浏览器与该服务器建立TCP连接(默认端口号80)
(5) 浏览器发出HTTP请求,请求百度首页
(6) 服务器通过HTTP响应把首页文件发送给浏览器
(7) TCP连接释放
(8) 浏览器将首页文件进行解析,并将Web页显示给用户。


涉及到的协议

(1) 应用层:HTTP(WWW访问协议),DNS(域名解析服务)
DNS解析域名为目的IP,通过IP找到服务器路径,客户端向服务器发起HTTP会话,然后通过运输层TCP协议封装数据包,在TCP协议基础上进行传输

(2) 传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输)
HTTP会话会被分成报文段,添加源、目的端口;TCP协议进行主要工作

(3)网络层:IP(IP数据数据包传输和路由选择),ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)
为数据包选择路由,IP协议进行主要工作,相邻结点的可靠传输,ARP协议将IP地址转成MAC地址。