打开一个笔记本连接到校园网上,并访问www.google.com,会经历哪几步?
打开主页:如何连接上网
- 新连接的笔记本还没有IP地址,本地路由器地址,DNS地址,要解决这些问题,就需要使用DHCP协议来获取,DHCP查询信息被封装在UDP数据段中(不是TCP),之后被封装在IP数据报中,再被封装到802.1Ethernet数据帧中,该数据帧通过广播的形式发送到整个LAN,从而被正 在运行DHCP服务的设备接收到。
- 路由器接收到DHCP信息之后,知道该局域网来了一个新的设备,于是DHCP服务器生成了DHCP ACK信息(用户IP,本地路由器IP,DNS服务器名字和IP),最后发给用户端。 最后,用户端获得了IP地址,DNS名字和地址,以及本地路由器的IP地址。
获取google的IP地址
- 用户端发出DNS request之前,需要使用ARP协议获取路由器的MAC地址,在知道了本地路由器的MAC地址之后,随即发出包含DNS查询的数据帧。本地路由器通过路由转发将该数据报发送到对应的DNS服务器上,最后DNS服务器将google的IP地址发送给用户。
发送http请求(传输层采用TCP)
- 为发送HTTP request,用户端首先创建一个跟web server之间的TCP socket,并将TCP SYN segment(三步握手第一步)发送到web服务器上。
- web服务器生产 TCP SYNACK(三步握手第二部)信息发送给用户端,用户收到之后,TCP连接基本创建成功。
- 最后发送HTTP request,请求google的主页,web服务器在收到请求后,将主页发送给用户,用户在接受到信息后,最终将页面解析在浏览器上。致此,一次访问网页的请求终于完成了。