打开网页发生了什么?
浏览器输入http://www.baidu.com,回车
应用层
1、DNS(Domain Name System)解析出IP地址
2、HTTP(HyperText Transfer Protocol)生成针对目标Web服务器的http请求报文
传输层
3、TCP(Transmission Control Protocol)将HTTP请求报文按序号分割成多个报文段,把每个报文段可靠地传给对方
网络层
4、IP协议负责搜索对方的地址,一边中转一边传送ip包。
数据链路层
5、把ip包加上帧头部,封装起来。如果连的是wifi,就是手机和路由器点对点的传送帧。如果用的是流量,就是手机和基站点对点的传送帧。路由器还起到交换机的作用,甚至手机也有路由器的作用,不过只能小范围内构建局域网。网吧和学校机房,会用到集线器(广播形式)或者交换机来组建局域网。
物理层
6、不需要加头部了,网卡收到什么数据就发送什么,透明的传输比特流,电磁波充当传送媒介,发送给基站。基站能收到信号的范围也很有限,长距离传输还得靠埋在地下的光缆。
你的http请求报文经过十万八千里,来到了web服务器所在的城市。服务器通过双绞线和网卡收到了你的请求。
物理层
7、服务器网卡接收信号
数据链路层
8、去除帧头部,得到帧数据
网络层
9、去除ip头部,得到ip数据
传输层
10、去除tcp头部,得到tcp报文段的数据部分
应用层
11、去除http头部,解析请求,返回请求资源(html文件)。有专门的http服务器来处理http请求,如apache,tomcat、nginx。
顺着网线、基站,返回的数据被你的手机接收到了,手机浏览器解析出网页内容。你就看到五花八门的网页内容了。