为什么 HTTP/3 基于UDP,可靠么?

对网络技术有一定研究的同学一定知道,HTTP/3竟然是基于UDP的。在很多同学的印象里,UDP属于一种非常低级的协议:传输不可靠,没有拥塞机制,把它用在准确可靠的万维网传输上,是一件不可想象的事情。

然而,真的是这样吗?我们先把吃惊的嘴合上,一起来看一下,为什么HTTP/3可以基于UDP,并且这还是一种非常聪明的选择。

要明白这个选择,我们首先就得消除一下对于UDP的误解。

  1. UDP是最纯洁的传输层协议
    实际上,UDP并不是像大家想象中的那样不可信,它只是因为简单,才让你有这样的认知。从另一个角度来说,它其实是最纯洁的传输层协议。

那么UDP在网络传输中,到底处于一个什么位置呢?我们需要简单看一下典型的网络分层。

在这里插入图片描述

物理层和连接层
物理层处于网络的最下层,它处理的消息,全部是1和0,这是硬件层面的东西,保证了我们的信息能够正常交流
连接层对这些1和0进行了初步的整合,组成了固定长度的信息帧(frame),每个信息帧里面,都包含SRC和DST(这里是mac地址),得以让我们的两台机器进行点对点通信
这时候网络数据包还不能逃离局域网,想要更大规模的传输,就需要网络层的帮助。

网络层
为了让这些地址有意义, 网络层加入了IP协议,通过IP地址进行目标机器的定位,最后经过路由器的转换,由连接层负责具体信息的传输。比如我在下面的这个wireshark的抓包。

在这里插入图片描述

EthernetII就是我们所说的连接层以太网,传输的信息是Frame
下面的是IPv4协议,表明了是一个IP包。
如果你去看一下IP的报文,会发现它的格式是非常怪异的,中间节点在路由的时候,需要走先解包然后再封包的过程。这是由于IP协议是网络层协议,它的头信息,比如IP地址,其实是连接层协议的报文体(playloadÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRMEB定制开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值