深度解析:雙網卡在網絡中的實際應用(二)
原創《深度解析:雙網卡在網絡中的實際應用(一)》介紹了雙網卡應用的實際網絡環境,以及網絡設備上的詳細配置。本文將說明同一臺電腦上的兩塊網卡位于不同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地址時,對電腦訪問互聯網帶來的影響。