天天看点

网络协议之网页数据包到服务器的传输过程

1、浏览器输入网址。例子:https://www.iqiyi.com

2、浏览器打开地址簿,查找域名对应的ip,找到对应的服务器。该查找过程用到了地址簿协议DNS,或更为精准的地址簿查找协议HTTPDNS

3、浏览器打包请求,http协议或https协议

4、浏览器将经过应用层(DNS,http,https)封装后的数据包交给传输层(TCP,UDP)。TCP:面向连接,保证连接到达,不能到达则重链,直至到达。TCP协议有端口两个,一个监听浏览器,一个监听服务器,系统通过判断端口来分配数据包。UDP:无连接协议

5、浏览器将经过传输层封装的数据包交给系统的网络层(IP协议)。IP有源地址(浏览器所在机器的IP地址),目标地址(服务器所在机器的IP地址)。操作系统根据目标地址IP判定查找路径,本地还是网络,内网还是外网,国内还是国外

6、浏览器根据目标IP判定非本地,找到谁是网关,找网关需要ARP协议。

7、操作系统将IP数据包给MAC层,网卡将数据包发出。

8、网关(路由器)接收数据包,取出目标IP,根据路由协议(OSPF,BGP),获取下一个网关MAC地址,直到获取到最后一个网关。网关内用MAC地址通讯。

9、数据到达最后网关,查找目标IP,获取目标IP的MAC地址

10、目标服务器对比数据包中MAC地址(9中获取到的MAC地址),将数据包发送给服务器的网络层(IP协议),对比IP,取下IP头,IP头里写上一层封装的TCP协议,将数据包交给TCP层

11、TCP沿来路回复“已到达目标服务器”