计算机网络(二):HTTPDNS、IPv6、QUIC

HTTPDNS

介绍:

  • 系统的是 UDP去localDNS找,HTTPDNS是用HTTP去 HTTP服务器上找
  • 让我们的手机App 发起一个HTTP请求(这个请求地址多数使用ip直连,如果使用域名那么依然针对此请求依然有传统DNS的问题),这个请求可以携带用户所在的运营商,地理位置,精确到省市,然后服务器根据这些信息 返回一个最佳的ip地址给App,然后App将这个域名-ip的映射关系设置到我们的okhttp中。这样手机中的大部分请求就会直接使用我们HTTP服务器返回的ip地址而不是运营商的地址了。

优势:

  • 防劫持
  • 精准调度
  • 实时解析生效

IPv6

介绍:

  • 采用128位正整数表示,需要16字节存储,可以提供约2128≈3.4x1038个地址,可分配的地址数量是大的惊人;
  • 以每 16 位作为一组,冒号十六进制法来表示IPv6地址
  • 简化方式1:允许将每个16进制值的前导0省略
  • 简化方式2:某些情况下,一个IPv6地址可能包含很长的一段0,可以把一段连续的0压缩为::。但为了保持地址解析的一致性,零压缩在一个地址中只能使用一次

优势:

  • 充足的地址空间和层次化的结构
  • 增强的组播支持和对流控制
  • 更小的路由表,更灵活的路由机制
  • 动态配置状态地址
    • 可自动配置,即使没有 DHCP 服务器也可以实现自动分配IP地址,真是便捷到即插即用啊。
  • 更有效的认证安全机制
    • 有应对伪造 IP 地址的网络安全功能以及防止线路窃听的功能,大大提升了安全性。
  • 省流高效
    • 包头包首部长度采用固定的值 40 字节,去掉了包头校验和,简化了首部结构,减轻了路由器负荷,大大提高了传输的性能。
  • 扩展灵活

QUIC(Quick UDP Internet Connection)

介绍:

  • QUIC融合了包括TCP,TLS,HTTP/2等协议的特性,但基于UDP传输。
  • QUIC协议实现在用户态,建立在内核态的UDP的基础之上,集成了TCP的可靠传输特性,集成了TLS1.3协议,保证了用户数据传输的安全。
  • 把连接的管理和安全性合二为一融为一体

优势:

  • 建连快
    • 1-RTT 握手
    • 0-RTT 传输
  • 连接迁移
    • 以一个 64 位的随机数作为 ID 来标识,这样就算 IP 或者端口发生变化时,只要 ID 不变,这条连接依然维持着,上层业务逻辑感知不到变化,不会中断,也就不需要重连,从而提高业务层的体验。由于这个 ID 是客户端随机产生的,并且长度有 64 位,所以冲突概率非常低。
  • 解决TCP队头阻塞问题
    • 丢包阻塞。HTTP2的传输层用的TCP,TCP的实现是在内核态的,而流是实现在用户态度,TCP是看不到"流"的,所以在TCP中,它不知道这个数据包是请求1还是请求2的,只会根据seq number来判断包的先后顺序。
  • 更优的拥塞控制算法
    • TCP的RTT测量往往不准确,QUIC的RTT测量是准确的。
    • 不同于TCP,QUIC的拥塞控制算法是可插拔的,由于其实现在用户态,服务可以根据不同的业务,甚至不同的连接灵活选择使用不同的拥塞控制算法。(Reno、New Reno、Cubic、BBR等算法都有自己适合的场景)
    • 在TCP协议中,初始包和重传包的序号是一样的,拥塞控制算法进行计算RTT的时候,无法区别是初始包还是重传包,这将导致RTT的计算值要么偏大,要么偏小。
    • QUIC通过Packet Number来标识包的序号,而且规定Packet Number只能单调递增,这也就解决了初始包和重传包的二义性。从而保证RTT的值是准确的。
  • 两级流量控制
    • 不仅有连接这一个级别的流控,还有流这个级别的流控。每个流都有自己的可用窗口,可用窗口的大小取决于最大窗口数减去发送出去的最大偏移数,跟中间已经发送出去的数据包,是否按顺序收到了对端的ACK 无关。
相关推荐
Best-Wishes10 小时前
好靶场杯第一届-古法 流量包分析
计算机网络·web安全·安全威胁分析
黄俊懿16 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密
网络·数据库·计算机网络·安全·架构·系统架构·架构师
范什么特西20 小时前
计算机网络
计算机网络
却道天凉_好个秋21 小时前
计算机网络:DNS总结
网络·计算机网络·dns
Syc1102g1 天前
在 Linux CentOS 系统中设置静态 IP
linux·网络·计算机网络·个人开发
我爱cope2 天前
【计算机网络 | 网络层10:OSPF 与 BGP:自治系统内部和互联网之间如何路由?】
网络·学习·计算机网络·智能路由器
shiyi.十一3 天前
第8章:计算机网络中的安全 — 知识要点与架构
计算机网络·安全·架构
一条泥憨鱼3 天前
【从0开始学习计算机网络】| WebSocket-握手、全双工和心跳
websocket·计算机网络·网络安全·https·dns
2501_916007474 天前
免费抓包工具 Windows 和 Mac 怎么选?根据平台来选择工具
网络协议·计算机网络·网络安全·ios·adb·https·udp
一条泥憨鱼4 天前
【从0开始学习计算机网络】| DNS 污染、劫持与 CDN:你的网页是怎么被“掉包“的
学习·计算机网络·安全·http·https·dns