收发包流程"/>
TC收发包流程
以一条普通的三层路由转发流为例:
测试仪的2/3为连接ONU的一端,9/8为连接OLT的一端。2/3端口下建造的流为上行流,9/8下建造的为下行流。
源MAC 目的MAC 源IP 目的IP
2/3 XX:XX:XX:XX:11:23 XX:XX:XX:XX:2E:3A 192.168.1.63 120.120.120.120
9/8 XX:XX:XX:XX:11:2B XX:XX:XX:XX:2E:3B 120.120.120.120 20.20.20.20
上行流:
源MAC是测试仪2/3的MAC地址,目的MAC是ONU的br0的MAC地址;源IP是测试仪2/3的IP地址,目的IP是测试仪9/8的IP地址。
br0收到这个包以后,查看IP地址不是自己,转到三层即nbif处;因为192.168.1.63是私有IP,所以要经过NAT转换,将数据包头的源IP改为公有IP,即nbif的IP地址:20.20.20.20。同时记录印象:192.168.1.63 tcp 1024 ----- 120.120.120.120 tcp 1025。 在此过程中Internet上看到的这个数据包时,都只会知道这个数据包来自Public IP:20.20.20.20,而不知道私有IP192.168.1.63。
在测试仪的9/8下进行抓包,抓到的即是从ONU发的上行流的包。
包的源MAC应是nbif,目的MAC是9/8;源IP是nbif,目的IP是9/8。
下行流:
源MAC是测试仪9/8的MAC地址,目的MAC是ONU的WAN连接(nbif)的MAC地址;源IP是9/8的IP地址,目的IP是WAN连接的IP地址。
目的IP为什么不是TC2/3的IP地址?
因为测试仪9/8不知道2/3的私有IP地址:192.168.1.63,它眼里只有公有IP地址:20.20.20.20。当ONU收到这个数据包后,比对之前在内存中写入的数据,将目的IP改为测试仪2/3的IP地址。
在2/3下进行抓包,源MAC是br0,目的MAC是2/3;源IP是9/8,目的IP是2/3。
更多推荐
TC收发包流程
发布评论