键入url时,数据在网络上的传输过程

数据在网络上的传输过程

1 数据包的单次传输过程

从应用层到数据链路层不断封装。
1
(1)当输入url后,应用层的浏览器负责解析url. 使用socket连接服务器,开始三次握手,先封装成一个TCP的header
在这里插入图片描述
(2)TCP将数据发给IP层,IP层将其封装成IP packet
在这里插入图片描述
在网络层封装完毕后,需要在网络层决定发送到哪。
在这里插入图片描述
根据本机管理的路由表和目的ip确定下一跳ip。数据链路层发送数据的时候,需要的是mac地址。因此需要将下一跳的ip换成mac地址(根据ARP表)。得到mac地址后,交给数据链路层封装成帧
在这里插入图片描述
(3)数据链路层负责在广播域中广播以太帧,如果某节点的mac匹配则接收,不匹配则直接丢掉。当设备匹配到路由器A时,路由器会对以太帧进行解包分用,并传入网络层查询下一跳ip,及其对应的mac地址,然后再封装成以太帧继续进行发送,直到找到目标ip。

小结:
应用层:解析url,创建Socket
传输层:封装TCP Segment,开始三次握手过程
网络层:封装IP Packet, 查询路由表得到下一跳ip,查询ARP表,得到下一跳的mac地址
数据链路层:封装以太网Frame,广播域中广播frame

2 数据包的总体传输过程:

–> 域名解析(DNS)
–> 发起TCP的3次握手
–> 建立TCP连接后发起http请求
–> 服务器响应http请求,浏览器得到html代码
–> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
–> 浏览器对页面进行渲染呈现给用户(根据响应中的Content-Type确定响应内容格式)。

参考博客:输入url,回车后都发生了什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值