为什么 VPN 不是协议?
网络工程
虚拟专用网
协议理论
2021-07-21 05:34:43
2个回答
协议是一组关于如何完成某事的规则,而网络协议是一组关于如何在网络上进行通信的规则。
VPN 是一个概念,VPN 使用协议来完成这个概念,但 VPN 本身并不是一个协议。例如,VPN 可以使用 SSH(一种协议)、使用 TCP(一种协议)、使用 IPv4(一种协议)等,但 VPN 概念不是一种协议。
这样想一想,VPN和隧道有很多种,每一种都使用一种或多种特定的协议来完成VPN,但VPN本身并不是协议。
作为已经很好的答案的替代方案:
您可以使用以下启发式方法将协议与更高级别的概念区分开来:
- 协议由规则定义
- 更高层次的概念通常由目的定义
考虑“文件传输”。这是一个目的:将文件从主机 1 获取到主机 2,并且有大量程序使用大量协议来实现此目的。(在维基百科上列出。)
另一个将协议与目的区分开来的问题:“定义在哪里,以便我可以开始编码?” 如果答案是“某某文件”,那就是协议。
考虑“FTP”、“kermit”和“rsync”:它们都是为了从 A 到 B 获取文件,但它们是协议,分别由RFC 959、da Cruz 的 BYTE 文章和后续书籍中的规则定义(参见维基百科上的参考文献)和 Tridgell 的博士论文。它们旨在涵盖不同的情况并处理不同的问题,但它们的共同点是它们的目的。
您关于 VPN 的特定问题只是比文件传输更棘手,因为 VPN 通常在最终用户应用程序下使用。它们由其目的定义:“以虚拟方式提供专用链接的专用网络功能”。没有您可以阅读并开始编码的文档。但是如果你想要 GRE 作为你的协议,你可以阅读RFC 1701并开始编程。
其它你可能感兴趣的问题