GRE (泛型路由封装)指定一个协议,用于在另一个任意网络层协议上封装任意协议。
我想我不明白为什么GRE是需要的。若要将协议A封装在协议B中,您不能仅将A数据包作为B数据包中的数据发送吗?
我知道GRE可以用来创建一个隧道,当前RFC的第3节提到了安全性考虑,但是除了应该有一些安全性之外,什么都没有说。
简而言之,GRE比协议的“天真”封装有什么好处?
发布于 2014-08-18 03:01:48
GRE只是一个隧道协议--它存在的主要原因是复杂的隐藏/旁路。
一些例子包括:
这也是RFC提到的开放式安全的一个例子。这不是一个疏忽,只是一种不排除使用未来技术的方法(GREoSSL、GREoQuantumCryptography等)。
从中间设备的角度来看,封装的通信量是GRE报头中的“本机”,有效负载被解释为终止设备上的附加报头这一事实在很大程度上与IMHO无关。
GRE只是一个大多数路由器都能理解的协议,它非常简单,不会给路由器带来太多负担。
想一想另一种方式--如果您想要在HTTP内部隧道IP (完全可能,如果有点低效的话),您需要在所有路由器上实现HTTP服务器。GRE只是一种简单的、无状态的、极简主义的方法来实现同样的目标。
发布于 2016-02-13 14:22:19
GRE也用于通过第三层跨网络执行跨网络操作。请查看以下文章作为示例。https://supportforums.cisco.com/document/139236/understanding-spanrspanand-erspan
https://networkengineering.stackexchange.com/questions/10481
复制相似问题