侧边栏壁纸
  • 累计撰写 71 篇文章
  • 累计创建 87 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

网络加密传输协议对比分析

KunkkaWu
2020-02-19 / 0 评论 / 2 点赞 / 1,484 阅读 / 638 字 / 正在检测是否收录...

DTLS与HTTPS等协议调研对比

要求:

  1. 网络延迟80ms以内
  2. TLS防止数据网络传输被窥探

可实现的方案有

  • HTTPS: 最稳定可靠的方案,但是网络延迟比较高,大约3 - 4倍的网络延迟消耗。
  • HTTP + AES: 性价比最高的方案,既有HTTP的速度和稳定,也具备对称加密的性能。非TLS协议
  • UDP + AES:速度最快的方案,既有UDP的速度,也具备对称加密的性能。非TLS协议,且UDP包在网络堵塞的时候容易丢包,且不支持数据包重传。
  • DTLS:最新的技术方案,基于udp协议,在TLS的基础上改造的新协议。速度略快于HTTPS,但是同样会有udp协议的弊端,网络阻塞的时候容易丢包。可能会有NAT穿透的问题。

对比各方案

| | HTTPS | HTTP+AES | UDP+AES | DTLS |
| ------------ | ------------ | ------------ | ------------ |
| 协议 | TCP | TCP | UDP | UDP |
| 握手 | 3次 | 3次 | 1次 | 2次 |
| 连接 | 有 | 有 | 无 | Cookie模拟 |
| 稳定性 | 强 | 强 | 弱 | 较弱 |
| 包序列| 有 | 有 | 无 | 有 |
| 丢包重传| 有 | 有 | 无 | 1次 |
| 网络延迟 | 3-4倍 | < 2倍| 1倍 | 3倍左右 |
| 特点 | 稳定、安全、速度慢 | 稳定、安全、速度快 | 不稳定、安全、速度极快 | 不够稳定、安全、速度快|

快: UDP + AES > HTTP + AES > DTLS > HTTPS
安全: HTTPS > DTLS > HTTP + AES > UDP + AES
稳定: HTTP + AES > HTTPS > DTLS > UDP + AES
稳定且安全: HTTPS > HTTP + AES > DTLS > UDP + AES
快、稳定且安全:HTTP + AES > DTLS > HTTPS > UDP + AES
稳定、安全且快: HTTP + AES > HTTPS > DTLS > UDP + AES

分析与结论

首先,需要烤考虑一个问题: 稳定和速度 哪个更重要。让二者不可兼得的时候,哪一个更重要。

以上的4种方案,安全性都是不错的。只是 HTTP + AES 和 UDP + AES并非TLS协议类。而是通过加密本身数据,达到安全的目的。

批量IP查询接口支持200个域名同时查询,数据量比较大,数据包大将会产生UDP包切割帧的问题,出现丢包的概率就会变大。

综上所述:

  1. 个人建议: HTTP + AES 。 安全、稳定、速度,兼顾。
  2. 最有挑战: DTLS。 性能优于HTTPS,缺乏稳定性。
2

评论区