Generic Route Encapsulation -- 通用路由封装(协议)
网络中可能存在不支持组播的路由器。组播数据沿组播路由器逐跳转发,当下一跳路由器不支持组播时,组播路径将被阻断。这时,通过在两岸组播路由器之间建立GRE(Generic Routing Encapsulation)隧道,可以实现跨越单播网段的组播数据交换。这种情况可以类比被河流阻断的交通,在两岸架桥是一种常见的解决方法。
使用GRE隧道传输组播数据的过程如下:
远端路由器识别出希望从隧道接口发出的报文,将报文使用单播报文头和GRE隧道封装,然后交给单播模块。单播模块将该报文当作普通的单播报文,查找单播路由表,从某物理接口发出。
本地路由器从某物理接口接收到此单播报文,解封装,还原为组播报文,上传给组播模块。组播模块认为此组播报文从隧道接口接收到的。