- 应用层:客户端浏览器经过DNS解析到www.baidu.com的IP地址220.181.27.48,(DNS常见使用分布式的结构)经过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,而后经过TCP进行封装数据包,输入到网络层。
- HTTP请求与响应:将要发送的数据以及http请求的地址等封装成一个http请求报文。
-
传输层:把HTTP会话请求分红报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。而后使用IP层的IP地址查找目的端。这里还涉及到创建TCP连接(3次握手)以及以后释放TCP连接(4次握手)。浏览器
-
网络层:网络层不关心应用层或者传输层的东西,主要作的是经过查找路由表肯定如何到达服务器,期间可能通过多个路由器,这些都是由路由器来完成的工做,经过查找路由表决定经过那个路径到达服务器。(这里涉及到路由选择的一些算法:RIP、OSPF等)服务器
- 链路层:包经过链路层发送到路由器,经过ARP协议查找给定IP地址的MAC地址(ARP:经过查路由表肯定了路由的下一跳是谁),而后发送ARP请求查找目的地址,若是获得回应后就能够使用ARP的请求应答交换的IP数据包如今就能够传输了,而后发送IP数据包到达服务器的地址