《深度解析:双网卡在网络中的实际应用(一)》介绍了双网卡应用的实际网络环境,以及网络设备上的详细配置。本文将说明同一台电脑上的两块网卡位于不同VLAN中时,对电脑访问互联网带来的影响。
二、PC上两块网卡的IP地址位于不同的VLAN中。如图2所示,电脑PC上有两块网卡,分别用网线连接到Cisco 3750上。其中,PC上左边的网卡通过网线连接到3750的VLAN 201中,右边的网卡通过网线连接到3750的VLAN 220中。因为从图1中可以看出,网络中配置有DHCP服务器,所以当PC加电,启动操作系统后,电脑会从DHCP服务器上自动获取IP地址。这样两个网卡都能从DHCP服务器上分别获取到一个IP地址,也就是同一个操作系统中会有两个IP地址同时处于活动状态。如下图所示,是在电脑的"命令提示符CMD"中执行命令"ipconfig /all"后的显示结果,其中电脑PC上使用的操作系统是"Win 7旗舰版"。
图2 PC上两个网卡位于不同的VLAN中
C:\Users\Administrator>ipconfig /all
以太网适配器 本地连接 2:
描述. . . . . . . . . . . . . . . : Realtek RTL8139 Family Fast Ethernet NIC
物理地址. . . . . . . . . . . . . : 00-1A-EB-4D-07-4A
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
IPv4 地址 . . . . . . . . . . . . : 192.168.201.35(***)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2012年1月19日 15:42:38
租约过期的时间 . . . . . . . . . : 2012年3月19日 15:42:38
默认网关. . . . . . . . . . . . . : 192.168.201.254
DHCP 服务器 . . . . . . . . . . . : 192.168.1.1
DNS 服务器 . . . . . . . . . . . : 85.61.14.251
8.8.8.8
以太网适配器 本地连接:
描述. . . . . . . . . . . . . . . : Intel(R) 82566DM-2 Gigabit Network Connection
物理地址. . . . . . . . . . . . . : 00-31-86-14-16-A2
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
IPv4 地址 . . . . . . . . . . . . : 192.168.220.5(***)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2012年1月19日 15:47:09
租约过期的时间 . . . . . . . . . : 2012年3月19日 15:47:09
默认网关. . . . . . . . . . . . . : 192.168.220.254
DHCP 服务器 . . . . . . . . . . . : 192.168.1.1
DNS 服务器 . . . . . . . . . . . : 85.61.14.251
8.8.8.8
从上面的输出结果可以看出,Win 7操作系统中共有两个网络连接,"本地连接 2"和"本地连接",前者的IP地址为192.168.201.35,也就是连接到Cisco 3750中VLAN 201上的那个网卡的IP地址;后者的IP地址为192.168.220.5,也就是连接到Cisco 3750中VLAN 220上的那个网卡的IP 地址。两个网卡的默认网关地址都是从DHCP服务器上自动获取的,前者是192.168.201.254,后者是192.168.220.254。两个网卡从DHCP服务器上自动获取的DNS的地址都是一样的,为85.61.14.251和8.8.8.8。从上面的输出中也可以看出网络中DHCP服务器的IP地址为192.168.1.1。两个网卡自动获取的IP地址都有"获得租约的时间"和"租约过期的时间",而且也能显示出两个网卡的MAC地址分别为"00-1A-EB-4D-07-4A"和"00-31-86-14-16-A2"。
现在,PC上同时有两个正常活动的IP地址,那Win 7系统能不能正常访问互联网?若是能正常访问的话,出去的数据是从哪个网卡出去的?从互联网上返回电脑PC上的数据又是从哪个网卡传输到电脑上?是通过"本地连接 2"的网卡,还是通过"本地连接"的网卡?
经过测试,发现在PC上可以正常访问互联网上所有的数据。和在电脑上安装一块网卡访问互联网的效果是一样的。也就是,同时使用两块网卡并不影响用户对网络的正常访问。下面是在电脑PC上执行命令"ping www.baidu.com"的输出结果。
C:\Users\Administrator>ping www.baidu.com
正在 Ping www.a.shifen.com [61.135.169.125] 具有 32 字节的数据:
来自 61.135.169.125 的回复: 字节=32 时间=2ms TTL=50
来自 61.135.169.125 的回复: 字节=32 时间=2ms TTL=50
来自 61.135.169.125 的回复: 字节=32 时间=2ms TTL=50
来自 61.135.169.125 的回复: 字节=32 时间=2ms TTL=50
61.135.169.125 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 2ms,最长 = 2ms,平均 = 2ms
但是从上面的输出结果也看不出,电脑的哪个网卡在和外界的互联网进行通信。后来想到,其实每一台具有三层IP地址的网络设备,在本质上它就相当于一台路由器,其中都包括有路由表。这些设备在发出数据包时都会对照自己的路由表,来决定到底是从哪个接口上把数据包发送出去。所以在图2中的PC上肯定也存在路由表。如下所示,是在电脑的"命令提示符CMD"中执行命令"route print"后的显示结果:
C:\Users\Administrator>route print
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 接口列表
13...00 1a eb 4d 07 4a ......Realtek RTL8139 Family Fast Ethernet NIC
12...00 31 86 14 16 a2 ......Intel(R) 82566DM-2 Gigabit Network Connection
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = IPv4 路由表
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.201.254 192.168.201.35 20
0.0.0.0 0.0.0.0 192.168.220.254 192.168.220.5 10
192.168.201.0 255.255.255.0 在链路上 192.168.201.35 276
192.168.201.35 255.255.255.255 在链路上 192.168.201.35 276
192.168.201.255 255.255.255.255 在链路上 192.168.201.35 276
192.168.220.0 255.255.255.0 在链路上 192.168.220.5 266
192.168.220.5 255.255.255.255 在链路上 192.168.220.5 266
192.168.220.255 255.255.255.255 在链路上 192.168.220.5 266
255.255.255.255 255.255.255.255 在链路上 192.168.201.35 276
255.255.255.255 255.255.255.255 在链路上 192.168.220.5 266
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"route print"命令可以显示出电脑中的路由表情况。从上面输出的"接口列表"中可以看出,PC通过两个接口和外界的互联网进行通信,从两个接口的MAC地址,就能知道它们分别对应电脑PC上的"本地连接 2"和"本地连接"的两个网卡。从"IPv4路由表"中可以看出,在电脑PC上存在两个默认网关"192.168.201.254"和"192.168.220.254"。有两个默认网关,那电脑PC到底是使用哪个网关,把它上面的数据发送到互联网上的?其实,在上面的输出结果中还有一个重要的参数--"跃点数"。跃点数越小的路由,就会被选为从电脑上发出数据包的活动路由,也就是说网关"192.168.220.254",最终成为电脑PC和外界通信的活动网关。对照上面命令"ipconfig /all"的输出结果,可以看出是网卡"Intel(R) 82566DM-2 Gigabit Network Connection"在和外界进行着数据的交互。
为了进一步验证是不是网卡"Intel(R) 82566DM"在和外界进行数据交互,在命令行提示符中执行命令"netstat -an",以下是输出结果。
C:\Users\Administrator>netstat -an
活动连接
协议 本地地址 外部地址 状态
TCP 192.168.201.35:139 0.0.0.0:0 LISTENING
TCP 192.168.220.5:139 0.0.0.0:0 LISTENING
TCP 192.168.220.5:1808 64.4.44.95:1863 ESTABLISHED
TCP 192.168.220.5:3904 123.125.114.64:80 ESTABLISHED
TCP 192.168.220.5:3905 123.125.114.64:80 ESTABLISHED
TCP 192.168.220.5:3906 123.125.114.17:80 ESTABLISHED
TCP 192.168.220.5:3907 123.125.115.43:80 ESTABLISHED
"netstat -an"命令,可以以数字的形式显示电脑中所有的连接和监听端口。从上面的输出结果可以看出,和外界建立"ESTABLISHED"的都是"192.168.220.5"这个IP地址,而地址"192.168.201.35"一直处于监听状态,并没有与外界建立连接和通信。所以说电脑PC上,连接到Cisco 3750的两块网卡,只有"Intel(R) 82566DM"这一块网卡和外界进行数据通信。而另一块网卡其实是处于备用状态的,一旦网卡"Intel(R) 82566DM"故障,也就是在"route print"命令的输出中,路由"0.0.0.0 0.0.0.0 192.168.220.254 192.168.220.5 10"消失,网卡"Realtek RTL8139"马上就会承担起和互联网进行数据交互的接口。也就是在"route print"命令的输出中,路由"0.0.0.0 0.0.0.0 192.168.201.254 192.168.201.35 20"就会成为活动路由。
从上面的测试结果可以得出这样的结论:"在一台电脑上安装两个网卡,只要这两个网卡在路由表中的,两条默认路由的'跃点数'不一样,那电脑就会选择'跃点数'比较小的默认路由作为和外界通信的路由。'跃点数'较大的路由作为备用路由。"
在下一篇的《深度解析:双网卡在网络中的实际应用(三)》将分别说明同一台电脑上的两块网卡位于同一个VLAN中,以及把两块网卡配置成一样的IP地址时,对电脑访问互联网带来的影响。