网络拓扑图如下:
根据上图,如果h1 ping h2会有分别经过s1和s2的两条链路可选,那么初始状态下是否两条链路都可以发送数数据呢?
显然,不可以。因为,初始状态下,h1和h2一般都只设置了一个端口h1-eth0和h2-eth0的ip地址,如图。
在mininet的终端中输入命令links,如图可用看出,有h1-eth0----s1----h2-eth0和h1-eth1----s2----h2-eth1这两天链路,但是由于只有h1-eth0和h2-eth0配置了ip地址,所以此时只有经过s1的链路才能传输数据。
例如,将h1-s1之间的链路down掉,此时h1 ping h2就无法ping通了。
为了让两条链路都能够通信,就需要为h1-eth1和h2-eth1这两个网卡配置IP地址,具体的配置过程如下,先进入h1和h2的XTerm终端,分别在两个终端中输入命令ifconfig h1-eth1 10.0.0.4和ifconfig h2-eth1 10.0.0.2,然后再用ifconfig查看,就可以发现网卡都配置上了ip地址。
此时,可用通过指定特定的网卡进行数据传输,例如想要数据经过链路h1-eth1----s2----h2-eth1,可以在h1中通过网卡h1-eth1 ping 10.0.0.2,那么如何通过固定的端口发送数据呢,即在h1的XTerm终端输入命令ping -I h1-eth1 10.0.0.2,即可让数据经过链路h1-eth1----s2----h2-eth1。