网络运维亲历记 (网络运维纪实文学)
上QQ阅读APP看书,第一时间看更新

1.3 运维实例:双网卡在网络中的实际应用

因为用户的特殊需求,要保证其上互联网的高可靠性,所以考虑到在他的电脑上使用两块网卡访问互联网。这样当其中一块网卡故障或者是连接在网卡上的线路故障,另一块网卡和线路还可以继续保证用户正常地使用Internet。另外,还有一种方案就是使用双网卡绑定软件,把两个网卡绑定虚拟成一块网卡,但是这种方案就要多使用一个软件,这无疑就多增加了一个故障点。若用户在使用中,绑定双网卡的软件发生故障,也会影响到用户正常访问互联网。那么在不使用双网卡绑定软件的情况下,能不能把PC上的两块网卡同时接入到网络中?当其中的一块网卡故障后,另一块网卡是不是同样可以保证用户对互联网的正常使用?经过测试是可以的,以下是实验的过程。

1.网络结构图

(1)网络设备间的主要连接情况。网络结构图如图1-6所示。为了确保重要设备的稳定性和冗余性,核心层交换机使用两台Cisco4506,通过Trunk线连接。在接入层使用了多台Cisco3750交换机,图示为了简洁,只画出了两台。在核心交换机上连接有单位重要的服务器,如DHCP、E-MAIL服务器、WEB服务器等。其中,DHCP服务器在图1-6中只画出了一台,现实中存在两台双机热备的DHCP服务器。同样,对于连接到Internet的光纤,也有两条,这都是为了保障整个网络的高可靠性。IP地址的部署,使用的是C类私有192网段的地址。DHCP服务器的IP地址为192.168.1.1。Cisco4506和Cisco3750之间也是Trunk连接。图1-6部署模式设备间的连接情况如下所示:

图1-6 单位网络结构图

    Cisco4506A GigabitEthernet1/1 <----> Cisco4506B GigabitEthernet1/1
    Cisco4506A GigabitEthernet2/1 <----> Cisco3750A GigabitEthernet1/0/28
    Cisco4506B GigabitEthernet2/1 <----> Cisco3750B GigabitEthernet1/0/28
    Cisco3750A GigabitEthernet1/0/25 <----> Cisco3750B GigabitEthernet1/0/25

(2)在Cisco4506A和Cisco4506B上的主要配置。在图1-6的连接中,Cisco4506A和Cisco4506B之间的连接、Cisco4506和Cisco3750之间的连接及Cisco3750A和Cisco3750B之间的连接都是通过光纤连接的。而其他的连接使用的都是双绞线的连接。在Cisco4506A上的主要配置,如下所示:

    hostname Cisco4506A
    !
    interface GigabitEthernet1/1
    descri
    
    ption Link4506B_1/1
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk
    !
    interface GigabitEthernet2/1
    description Link3750A
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk
    !
    interface VLAN 201
    ip address 192.168.201.252 255.255.255.0
    standby 201 ip 192.168.201.254
    standby 201 priority 120
    standby 201 preempt
    !
    interface VLAN 220
    ip address 192.168.220.252 255.255.255.0
    standby 220 ip 192.168.220.254
    standby 220 priority 120
    standby 220 preempt

其中命令“ip address 192.168.201.252 255.255.255.0”是给指定的VLAN配置IP地址。

命令“standby 201 priority 120”中的“priority”是配置HSRP的优先级,201为组序号,它的取值范围为0~255,120为优先级的值,取值范围为0~255,数值越大优先级越高。

优先级将决定一台路由器在HSRP备份组中的状态,优先级最高的路由器将成为活动路由器,其他优先级低的路由器将成为备用路由器。当活动路由器失效后,备用路由器将替代它成为活动路由器。当活动和备用路由器都失效后,其他路由器将参与活动和备用路由器的选举工作。优先级都相同时,接口IP地址高的将成为活动路由器。

“preempt”是配置HSRP为抢占模式。如果需要高优先级的路由器能主动抢占成为活动路由器,则要配置此命令。配置preempt后,能够保证优先级高的路由器失效恢复后总能成为活动路由器。活动路由器失效后,优先级最高的备用路由器将处于活动状态,如果没有使用preempt技术,则当活动路由器恢复后,它只能处于备用状态,先前的备用路由器代替其角色处于活动状态。

命令“standby 201 ip 192.168.201.254”作用是启动HSRP,如果虚拟IP地址不指定,路由器就不会参与备份。虚拟IP应该是接口所在的网段内的地址,不能配置为接口上的IP地址。

在Cisco4506B上的主要配置如下所示:

    hostname Cisco4506B
    !
    interface GigabitEthernet1/1
    description Link4506A_1/1
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk
    !
    interface
    
    GigabitEthernet2/1
    description Link3750B
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk
    !
    interface VLAN 201
    ip address 192.168.201.253 255.255.255.0
    standby 201 ip 192.168.201.254
    standby 201 priority 110
    standby 201 preempt
    !
    interface VLAN 220
    ip address 192.168.220.253 255.255.255.0
    standby 220 ip 192.168.220.254
    standby 220 priority 110
    standby 220 preempt

(3)在Cisco3750A和Cisco3750B上的主要配置如下所示:

    hostname Cisco3750A
    !
    interface GigabitEthernet1/0/25
    description Link3750B_1/0/25
    switchport trunk encapsulation dot1q
    switchport trunk all
    
    owed VLAN 201,220
    switchport mode trunk
    !
    interface GigabitEthernet1/0/28
    description Link4506A
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk

在Cisco3750B上的主要配置如下所示:

    hostnameCisco3750B
    !
    interface GigabitEthernet1/0/25
    description Link3750A_1/0/25
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk
    !
    interface GigabitEthernet1/0/28
    description Link4506B
    switchport trunk encapsulation dot1q
    switchport trunk allowed VLAN 201,220
    switchport mode trunk

2.PC上两块网卡的IP地址位于不同的VLAN中

如图1-7所示,电脑PC上有两块网卡,分别用网线连接到Cisco3750上。其中,PC上左边的网卡通过网线连接到3750的VLAN 201中,右边的网卡通过网线连接到3750的VLAN 220中。因为从图1-6中可以看出,网络中配置有DHCP服务器,所以当PC加电,启动操作系统后,电脑会从DHCP服务器上自动获取IP地址。这样两个网卡都能从DHCP服务器上分别获取到一个IP地址,也就是同一个操作系统中会有两个IP地址同时处于活动状态。下面阴影部分内容是在电脑的“命令提示符CMD”中执行命令“ipconfig /all”后的显示结果,其中电脑PC上使用的操作系统是“Win 7旗舰版”。

图1-7 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,也就是连接到Cisco3750中VLAN 201上的那个网卡的IP地址;后者的IP地址为192.168.220.5,也就是连接到Cisco3750中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地址的网络设备,在本质上它就相当于一台路由器,其中都包括有路由表。这些设备在发出数据包时都会对照自己的路由表,来决定到底是从哪个接口上把数据包发送出去。所以在图1-7中的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上,连接到Cisco3750的两块网卡中只有“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”就会成为活动路由。

从上面的测试结果可以得出这样的结论:“在一台电脑上安装两个网卡,只要这两个网卡在路由表中的,两条默认路由的‘跃点数’不一样,那电脑就会选择‘跃点数’比较小的默认路由作为和外界通信的路由。‘跃点数’较大的路由作为备用路由。”

3.两块网卡的IP地址位于同一VLAN中

两块网卡位于不同的VLAN中,它们获取到的IP地址不一样,路由表中路由条目的“跃点数”也不一样,这样操作系统就可以选择“跃点数”小的路由作为活动路由。但若是把电脑PC的两块网卡接入到同一个VLAN中,两块网卡还是自动从DHCP上获取IP地址和DNS地址,最终在操作系统的路由表中还是会生成两个默认网关路由,而且两条默认路由的网关地址和跃点数这两个参数都应该是一样的,因为它们都位于同一个VLAN中。如图1-8所示,是把电脑PC上的两块网卡都接入到Cisco3750交换机VLAN 201中的示意图。同样,在电脑PC的“命令提示符CMD”中执行命令“ipconfig”,得到如下的输出结果:

图1-8 PC上两块网卡位于同一个VLAN中

    C:\Users\Administrator>ipconfig
    Windows IP 配置
    以太网适配器 本地连接 2:
    IPv4 地址............: 192.168.201.35
    子网掩码............: 255.255.255.0
    默认网关............: 192.168.201.254
    以太网适配器 本地连接:
    IPv4 地址............: 192.168.201.38
    子网掩码............: 255.255.255.0
    默认网关............: 192.168.201.254

从上面的输出中可以看出,“本地连接 2”网卡的IP地址和上面“2”中的没有变化,还是192.168.201.35,但是“本地连接”网卡的IP地址变成了“192.168.201.38”。并且两个网卡的默认网关都是一样的“192.168.201.254”。为了查看电脑PC中的路由表情况,执行命令“route print”,得到如下所示的输出结果:

    C:\Users\Administrator>route print
    = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    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.201.254  192.168.201.38    20
    192.168.201.0    255.255.255.0    在链路上  192.168.201.35  276
    192.168.201.0   255.255.255.0    在链路上  192.168.201.38   276
    192.168.201.35    255.255.255.255  在链路上 192.168.201.35  276
    192.168.201.38    255.255.255.255  在链路上  192.168.201.38   276
    192.168.201.255   255.255.255.255  在链路上  192.168.201.35   276
    192.168.201.255   255.255.255.255  在链路上  192.168.201.38   276
    255.255.255.255   255.255.255.255  在链路上  192.168.201.35   276
    255.255.255.255   255.255.255.255  在链路上  192.168.201.38   276
    = = = = = = = = = = = = = = = = = = = = = = = = = = = =

从上面的输出结果中可以看出,“IPv4路由表”中前两条的默认路由的网关地址变成一样的了,而且跃点数也都成了一样的“20”。那在这种情况下,PC还能不能和外界的互联网保持正常的通信?若是能通信的话,那它使用哪个网卡和外界通信的?

测试在PC上访问百度、新浪等网站,结果一切正常。PC还是能够正常地访问互联网。那PC是使用哪个网卡和外界通信的?经过多次打开互联网上的网页和使用命令“netstat -an”测试,发现PC有时是使用网卡“Intel(R)82566DM”,有时是使用网卡“Realtek RTL8139”和外界进行通信的。也就是在PC中执行命令“netstat -an”后,发现PC有时是使用IP地址“192.168.201.35”和外界建立连接的,有时是使用IP地址“192.168.201.38”进行连接的。

另外,在网络中位于VLAN 220中的一台IP地址是192.168.220.8/24的电脑上,同时执行两个命令“ping 192.168.201.35 -t”和“ping 192.168.201.38 -t”,其中“-t”参数,是指定电脑一直持续不断的执行ping命令。以下是两条命令的输出结果的一部分,因为每一行都是一样的,所以每一个命令就只列出了5行。

    C:\Users\Administrator>ping 192.168.201.35 -t
    正在 Ping 192.168. 201.35 具有 32 字节的数据:
    来自 192.168. 201.35 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.35 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.35 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.35 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.35 的回复: 字节=32 时间<1ms TTL=64
    C:\Users\Administrator>ping 192.168.201.38 -t
    正在 Ping 192.168. 201.38 具有 32 字节的数据:
    来自 192.168. 201.38 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.38 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.38 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.38 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168. 201.38 的回复: 字节=32 时间<1ms TTL=64

从以上这两个命令的输出结果可以看出,在图1-8中的电脑PC上的两个网卡都“同时”处于正常的活动状态。因为以上两个ping命令是“同时”执行的,并不是执行完其中一个再执行另一个。从上面的测试结果可以得出这样的结论:“在一台电脑上安装两个网卡,即使这两个网卡的‘默认网关’地址和路由表中的‘跃点数’两个参数都一样,也会不影响电脑正常访问互联网。”

4.两个网卡配置成同一个IP地址

在上面“2”和“3”测试的基础上,再深入一步,就是把两个网卡的IP地址、默认网关和DNS地址全都配置成一样的,看看会出现什么样的结果?电脑是不是还能正常访问互联网?

大家都知道,在XP操作系统中,当网络中存在两个同样的IP地址时,就会在电脑操作系统桌面的右下角,出现一个带感叹号的黄色小三角,并有提示:“IP地址与网络上其他系统有冲突”。但在Win 7操作系统中会出现什么样的情况呢?下面我们就一步一步地测试:

(1)电脑PC上两个网卡的连接示意图和图1-8是一样的,网卡“Intel(R)82566DM”的IP地址、默认网关和DNS地址都是自动从DHCP服务器获得的,分别为“192.168.201.35”、“192.168.201.254”、“85.61.14.251”和“8.8.8.8”。然后,我们把网卡“Realtek RTL8139”的IP地址、默认网关和DNS地址用手工配置,不让它使用从DHCP服务器上获取到的地址,当然网卡“Realtek RTL8139”还是连接到Cisco3750的VLAN 201中的。配置的参数和网卡“Intel(R)82566DM”的一样。

在电脑PC的“开始”→“控制面板”→ “网络和共享中心”→ “更改适配器设置”→ 双击“本地连接”→双击“Internet协议版本4(TCP/IPv4)”,然后在其中配置各项参数,如图1-9所示。

图1-9 手动配置网卡“Realtek RTL8139”参数

(2)在配置完上面的各项参数后,单击图1-9所示的“确定”按钮,会出现如图1-10所示的“警告”对话框。出现这个对话框,就是因为在Win 7系统中,配置了两个一样的IP地址导致的,类似XP系统中提示IP地址冲突一样。不过这种情况下可以不管这些警告,继续单击图1-10所示的“是(Y)”按钮。

图1-10 Win 7系统弹出的“警告”对话框

(3)进行完上面的配置后,发现图1-8示意图中的电脑PC还是能够正常访问互联网,并没有因为把两个网卡配置都配置成一样的IP地址,而导致访问Internet失败。不过这时Win 7系统还是自动地对电脑PC上两个网卡的网络参数配置作了修改。因为在“(1)”中我们已经把网卡“Realtek RTL8139”的各项网络参数配置成了如图1-9所示的数值,但是到现在的第(3)步,当我们再次打开网卡“Realtek RTL8139”的网络配置参数时,会发现它上面的配置参数变成了如图1-11所示的情况,和图1-9所示的已经有所变化。

图1-11 网卡“Realtek RTL8139”上的配置参数发生变化

(4)在图1-11中会发现,在图1-9中配置的“IP地址”和“子网掩码”两个参数已经消失了,其他的网络参数到还存在。另外,网卡“Intel(R)82566DM”的IP地址是自动从DHCP服务器上获得的,这时可以查看一下它上面的网络参数会有什么变化?如图1-12所示,是网卡“Intel(R)82566DM”上的参数变化情况。按道理说自动从DHCP服务器上获取各项网络配置参数,是不会在“默认网关(D)”的后面显示出数值的,但现在却把自动获得的“192.168.201.254”的网关地址显示出来了。引起这种变化,还是因为在Win 7系统中把网卡“Realtek RTL8139”的网络参数配置成和网卡“Intel(R)82566DM”一样的。

图1-12 网卡“Intel(R)82566DM”上的网络参数

(5)为了进一步了解清楚两块网卡的网络参数配置情况,就在“命令提示符CMD”中执行了“ipconfig”命令,得到了如下所示的输出结果:

    C:\Users\Administrator>ipconfig
    Windows IP 配置
    以太网适配器 本地连接 2:
    IPv4 地址............: 192.168.201.35
    子网掩码............: 255.255.255.0
    默认网关............: 192.168.201.254
    以太网适配器 本地连接:
    自动配置 IPv4 地址.......: 169.254.54.175
    子网掩码............: 255.255.0.0
    默认网关............: 192.168.201.254

从上面的输出可以看出网卡“Realtek RTL8139”对应的就是“本地连接”,在上面“(1)”中对其手工配置的IPv4地址和子网掩码“192.168.201.35”“255.255.255.0”,已变成了上面的“169.254.54.175”“255.255.0.0”。所以,这时电脑PC是使用“本地连接 2”的网卡“Intel(R)82566DM”和外界进行通信的。另外,在电脑PC中执行“route print”命令,会得到如下所示的输出结果:

    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.201.254  169.254.245.211    266
    = = = = = = = = = = = = = = = = = = = = = = = = = = = =

输出中的“IPv4路由表”包括两条默认路由,很明显第一条的“跃点数”比第二条要小的多,所以PC还是选择第一条作为它和外界通信的默认路由。第二条路由中的“接口”地址成为了“169.254.245.211”,所以即使第一条默认路由不能使用,PC也不能使用第二条路由和外界进行通信。也就是一旦网卡“Intel(R)82566DM”故障,电脑PC将不能访问Internet。网卡“Realtek RTL8139”也没有起到提高PC访问互联网的高可靠性。

从上面的测试步骤可以得出这样的结论:“在Win 7系统中,当把两块网卡的IP地址配置成一样时,系统会自动对两个网卡的网络参数配置进行调整,以保证操作系统和外界网络的正常通信。”

5.总结

(1)经过上面的分析,为了提高用户访问网络的高可靠性,可以按照图1-7和图1-8的网络示意图,在用户的电脑上安装配置两块网卡即可。一块网卡故障,另一块网卡还可以继续担负起访问互联网的任务。但图1-7和图1-8的连接示意图只是测试时使用的方案。在实际的部署中,PC上两个网卡要分别连接在不同的Cisco3750上,这样即使其中的一台3750故障,也不影响PC访问Internet。

(2)提高终端用户访问网络的可靠性,还有一种解决方案就是使用双网卡绑定软件。但这些软件的使用,无疑也增加了故障发生的概率。若是双网卡绑定的软件出现了问题,同样也会导致用户不能访问网络。所以,在普通用户的电脑上,直接安装两块网卡,不使用双网卡绑定软件,是提高电脑访问网络的高可靠性比较好的方案。

但如果是服务器的话,建议还是使用双网卡绑定软件的方案。因为在网络中服务器和普通PC最大的不同就是,服务器上的上行流量比较大,更多的是把服务器上的资源通过网络传送给用户。而对于普通的PC则是网络下行流量比较大,更多的是把网络上的资源下载到PC上。若是在服务器上安装两个网卡,给每个网卡配置一个IP地址,往往会导致很多网络故障。同时也增加了部署应用系统和排除网络方面故障的复杂度。

常用的双网卡绑定软件有NIC Express和Intel的双网卡绑定软件。NIC Express还可以通过绑定多块网卡,达到增加网络带宽的功能。但需要注意的一点就是,在绑定多块网卡时,每一块网卡的传输速率必须相同,这样才可以在网络达到高负荷运行状态时,起到负载均衡的作用。

(3)Windows系统中的Route命令。该命令的主要作用是用来显示、添加和修改Windows系统中的路由表项目。主要包括四种命令:“route print”命令是打印路由;“route add”命令是添加路由;“route delete”命令是删除路由;“route change”命令是修改现有路由。使用不带参数的“route”命令,可以显示相关的帮助信息。

像在上面使用的“route print”命令,就是显示出了PC中当前路由表中使用的路由条目。当在网卡上配置了IP地址后,与IP地址相关的路由条目就会自动地添加到操作系统的路由表中。执行“route print”命令的输出内容中,还包括一个“跃点数”的参数,它的取值范围是1~9999之间的整数,用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由必须具有最小的跃点数。跃点数能够反映出跃点的数量、路径的速度、可靠性、吞吐量及管理属性等。

其实“跃点数”就对应每条路由中的METRIC参数,它可以通过“route change”命令进行修改。当通过“route add”命令添加一条路由时,也会涉及到METRIC参数。例如添加路由的命令“route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2”中的“METRIC 3”,就指定了该条路由的跃点数。

导致路由表中某条路由的跃点数比较大的主要原因是,TCP/IP协议是根据每个接口的IP地址、子网掩码和默认网关的配置,自动确定路由表中各路由的跃点数造成的。默认情况下在Windows系统中,“自动跃点”的功能是开启的,它指定了每个接口的速度和路由跃点数。因此最快接口所创建的路由具有最低的跃点数。要关闭“自动跃点”功能,可以在“开始”→“控制面板”→ “网络和共享中心”→ “更改适配器设置”→ 双击“本地连接”→双击“Internet协议版本4(TCP/IPv4)”→“高级”。如图1-13所示,在“自动跃点(U)”的前面把勾去掉就可以了。

图1-13 关闭“自动跃点”功能图示

(4)测试和实验。在上面的步骤中,其实就是一种测试实验。所搭建的网络模型,和在网络设备上所做的各种配置到底能不能正确执行,都是需要经过实实在在的实验才能最终下结论的。任何知识只有经过实践的检验才能最终确定它的正确性!所以,“实践是检验真理的唯一标准”这句话,对于每一个从事网络工作的同志,更应该牢牢铭记!

包括平时在书本上或网络上看到一些知识点,可能在原理上都能明白,知道它们运行的机制和过程。但即使是这样,也只有通过把这些知识点涉及到的一些命令在交换机、路由器等设备上操作一遍,看看它们到底符合不符合书上所讲的结果。这样心底才能“踏实”地接受这个知识点,因为它经过了实践的检验!

所有从事网络工作者,一定要不断地给自己创造参与实践工作的机会。如果在工作中能接触到现成的网络设备更好,这样学习起来更方便。要是达不到这种条件的话,可以参加一些培训班,它们多多少少都能提供一些操作实验。实在不行,还可以使用一些模拟器,如Dynamips,它们所搭建起来的实验环境也很接近真实的网络环境。总之,一切网络知识,只有经过实践的检验,才能算它是正确的,也才能算自己真正掌握了它。