(0)gre的turnel的打通
1、 这个过程就是双方建立turnel的过程。
(1)局域网路由过程
1、主机A发送一个源为192.168.1.2,目的为10.1.1.2的包
(2)封装过程
1、根据内网路由,可能是你的默认路由网关将之路由至192.168.1.254
2、192.168.1.254第一次封装包,增加增加gre包头,说明包的目的地址192.192.192.1和源地址192.192.192.2。
3、192.168.1.254第2次封装包,增加公网的包头(否则在公网上无法路由),说明包的目的地址110.2.2.2和源地址180.1.1.1。
4、 192.168.1.254把所有到10.1.1.0/24的包,都地址转换为从 192.192.192.2出(snat)
(3)公网路由过程
1、经过n个路由设备,该包最终路由到110.2.2.2
(4)拆包过程
1、B端的路由器检测到是到达自己的ip,就开始拆包
2、拆包之后发现有GRE协议,就进一步拆包
3、拆包之后发现目的地不是自己的内网ip、发现自己本地做了snat,就将至源ip替换为10.1.1.1
(5)局域网路由
1、实际上从10.1.1.1出发的,到达目的地为10.1.1.2的包,无需路由,直接在局域网内广播。10.1.1.2的机器确定是发送给自己的包,就接收。然后进一步处理了。