1,应用层:浏览器通过DNS解析www.baidu.com的IP地址,例如192.168.12.18,通过这个IP地址找到服务器,浏览器发起一个HTTP会话到192.168.12.18,通过TCP封装数据包,输入到网络层。
2,传输层:把HTTP会话请求分为报文段,添加源和目标端口,例如服务器使用的80端口进行监听,客户端会随机分配一个端口例如5000,服务器返回报文就会返回到客户端的5000端口。
3,网络层:主要做的就是通过查找路由表确认如何到达服务器。
4,链路层:发送IP数据包到服务器。过程是通过邻居协议查找IP地址对应的MAC地址,然后发送ARP请求来查找目标地址,如果得到了回应,使用ARP请求应该可以传输IP数据包了,然后发送数据包到服务器。
总体事件的顺序:
1,浏览器获得www.baidu.com的输入域名。
2,浏览器向DNS请求解析www.baidu.com的IP地址。
3,DNS解析出服务器的IP地址。
4,浏览器向服务器建立TCP连接。
5,发出HTTP请求,请求百度首页。
6,服务器返回百度首页数据给浏览器。
7,释放TCP连接。
8,浏览器解析数据,呈现WEB页面给用户。