顯示具有 網路卡 標籤的文章。 顯示所有文章
顯示具有 網路卡 標籤的文章。 顯示所有文章

2012年3月29日

於 Windows 7、Vista、Server 2008 電腦開啟網頁速度很慢或是複製網路上的檔案,檔案總管沒有回應

在某些網路環境中,因為路由器(Router)無法對 Windows 7 / Windows Vista / Windows Server 2008 網路訊框(Frame)的自動最佳化調整作出適當的回應,而導致使用者瀏覽網頁時,會感覺開啟網頁的速度很慢。或者是使用檔案總管,複製網路上的檔案時,會發生檔案總管沒有回應的狀況。
解決之道如下:
  1. 依序按下「開始、程式集、附屬應用程式」,於「命令提示字元」上,按下滑鼠右鍵,選擇「以系統管理員身分執行」
  2. 「命令提示字元」視窗中,輸入下面的指令,然後按下 Enter  鍵:
    netsh int tcp set gl au=<自動調整層級>
    其中的 <自動調整層級>,有下列幾種:
    <自動調整層級>
    選項
    說明
    disabled 停用接收窗口自動調整層級。
    highlyrestricted 允許接收窗口成長超越其預設值(亦即將視窗縮放係數(Window Scaling Factor )設定為 2),但是請小心使用。
    restricted 允許接收窗口成長超越其預設值,但在部分狀況下,限制這類成長。
    normal 允許接收窗口成長,以滿足所有的狀況。
    experimental 允許接收窗口成長,以滿足極端的狀況。由於設定此種層級會影響效能,因此建議僅用於測試之用。
  3. 待出現「確定。」的字樣之後,嘗試再開啟網頁,看看是否有改善。若沒有改善,於上個步驟中,使用其他的 <自動調整層級> 選項。
上述狀況發生的原因與 TCP Extensions for High Performance 的 RFC 1323 規範有關,在系統預設狀態下,Windows 會把視窗縮放係數(Window Scaling Factor )設定為 8,上面的操作設定即是嘗試調整「接收窗口自動調整層級」 功能。
那要如何得知目前的「接收窗口自動調整層級」設定呢?使用如下的指令即可查得:

netsh int tcp sh gl
得知目前的「接收窗口自動調整層級」設定
得知目前的「接收窗口自動調整層級」設定
另外可從位於 NAT 之後的網路環境,執行「網際網路連線評估工具」以便檢查路由器是否支援 TCP High Performance 功能。
執行「網際網路連線評估工具」
執行「網際網路連線評估工具」
檢視 TCP High Performance Test 測試結果
檢視 TCP High Performance Test 測試結果


參考資料:

2010年11月14日

修改 Windows 網路卡的自動公制設定

「公制」(或稱計量,Metric)是指派給網路卡的路由值,其用途為識別與使用路由有關的成本。影響成本的因素有:網路的頻寬(或稱速度,例如:10Mbps、100Mbps)、躍點計數(Hop Count)或網路延遲(Network Delay)…等。
從 Windows XP 之後,微軟就開始提供「自動公制」或稱「自動計量」的新功能。顧名思義,就是可以自動設定以網路頻寬為作為計算路由基準的公制。作業系統預設就會啟用自動公制的功能,當然您也可以手動修改設定。
比方說,電腦安裝兩張網路卡,所連接的網路頻寬都一樣,又都是位於同一個網段(亦即網路卡的預設閘道一樣),此時手動修改公制就很有用,因為可以讓公制數值較小的網路卡優先被使用
修改自動公制設定的操作步驟:
  1. 開啟「控制台」,連按兩下「網路連線」
    如果是 Windows Vista (含)之後的作業系統,請依序開啟「控制台」中的「網路和共用中心/變更介面卡設定」
  2. 在要修改的網路卡上,按下滑鼠右鍵,選擇 [內容]
  3. 按下「這個連線使用下列項目」中的「網際網路通訊協定 (TCP/IP)」「網際網路通訊協定第 4 版 (TCP/IPv4)」「網際網路通訊協定第 6 版 (TCP/IPv6)」,然後按下 [內容]
  4. 「一般」] 索引標籤中,按下「進階」
  5. [IP 設定] 索引標籤,清除「自動公制」「自動計量」核取方塊,然後在「介面公制」「介面計量」欄位中,輸入您要的公制。
    可填入的公制值為 1 9999
  6. 如果要修改預設閘道的「自動公制」「自動計量」,請按下位於「預設閘道」下的「編輯」按鈕,清除「公制」「計量」核取方塊,然後在「公制」「計量」欄位中,輸入您要的公制。
    可填入的公制值為 1 9999


由上述的操作說明,您可以瞭解到:每個閘道都可個別設定其預設閘道的公制,此舉可以讓您進一步控制區域路由使用的公制。例如,您可以讓自動公制功能設定指派給網路卡的路由,同時又手動設定指派給預設閘道的公制。

請特別注意: 如果在網路卡層級指定了公制,但又新增了閘道並設定自動公制功能,那麼該閘道則會沿用指派給該網路卡的公制。例如,如果您在網路卡層級指定公制為 1,然後新增閘道,並勾選閘道的自動公制核取方塊,該閘道也會被指派公制 1。

2009年10月14日

如何使用指令找出網路卡的 MAC 位址

網路常見的作法皆是使用 ipconfig.exe/all,搭配相關指令去解析網路卡的 MAC 位址(即下面結果中的「實體位址」),這樣做會有個問題,就是 ipconfig.exe 輸出的結果會因為 Windows 語言的不同,而出現不同國家的文字,例如下面是 Windows 7 正體中文版執行的部分結果:

C:\Users\Alex>ipconfig/all
…
乙太網路卡 區域連線 2:

連線特定 DNS 尾碼 . . . . . . . . :
描述 . . . . . . . . . . . . . . .: Microsoft Windows Mobile Remote Adapter
實體位址 . . . . . . . . . . . . .: 12-34-56-01-23-45
DHCP 已啟用 . . . . . . . . . . . . : 是
自動設定啟用 . . . . . . . . . . .: 是
IPv4 位址 . . . . . . . . . . . . : 169.254.2.2(偏好選項)
子網路遮罩 . . . . . . . . . . . .: 255.255.255.0
租用取得 . . . . . . . . . . . . .: 2009年7月21日 下午 10:29:29
租用到期 . . . . . . . . . . . . .: 2009年8月20日 下午 10:29:25
預設閘道 . . . . . . . . . . . . .:
DHCP 伺服器 . . . . . . . . . . . : 169.254.2.1
NetBIOS over Tcpip . . . . . . . .: 啟用

乙太網路卡 區域連線:

連線特定 DNS 尾碼 . . . . . . . . :
描述 . . . . . . . . . . . . . . .: Realtek RTL8168C(P)/8111C(P) Family PCI-E
Gigabit Ethernet NIC (NDIS 6.20)
實體位址 . . . . . . . . . . . . .: 00-11-22-33-44-55
DHCP 已啟用 . . . . . . . . . . . . : 否
自動設定啟用 . . . . . . . . . . .: 是
IPv4 位址 . . . . . . . . . . . . : 192.168.165.107(偏好選項)
子網路遮罩 . . . . . . . . . . . .: 255.255.255.0
預設閘道 . . . . . . . . . . . . .: 192.168.165.254
DNS 伺服器 . . . . . . . . . . . .: 168.95.192.1
168.95.1.1
NetBIOS over Tcpip . . . . . . . .: 啟用

通道介面卡 isatap.{6D6E2283-45C4-90A7-0506-1087391E5A92}:

媒體狀態 . . . . . . . . . . . . .: 媒體已中斷連線
連線特定 DNS 尾碼 . . . . . . . . :
描述 . . . . . . . . . . . . . . .: Microsoft ISATAP Adapter
實體位址 . . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0
DHCP 已啟用 . . . . . . . . . . . . : 否
自動設定啟用 . . . . . . . . . . .: 是

通道介面卡 區域連線* 3:

連線特定 DNS 尾碼 . . . . . . . . :
描述 . . . . . . . . . . . . . . .: Teredo Tunneling Pseudo-Interface
實體位址 . . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0
DHCP 已啟用 . . . . . . . . . . . . : 否
自動設定啟用 . . . . . . . . . . .: 是
IPv6 位址. . . . . . . . . . . . .: 2001:0:cf2e:3096:38c5:bda2:2256:d659(偏好
選項)
連結-本機 IPv6 位址 . . . . . . . : fe80::38c5:bda2:2256:d659%13(偏好選項)
預設閘道 . . . . . . . . . . . . .: ::
NetBIOS over Tcpip . . . . . . . .: 停用

通道介面卡 isatap.{04426D6D-40CD-B5A2-D88C-DF7B9FBDD227}:

媒體狀態 . . . . . . . . . . . . .: 媒體已中斷連線
連線特定 DNS 尾碼 . . . . . . . . :
描述 . . . . . . . . . . . . . . .: Microsoft ISATAP Adapter #3
實體位址 . . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0
DHCP 已啟用 . . . . . . . . . . . . : 否
自動設定啟用 . . . . . . . . . . .: 是

在此,我使用 Windows XP 之後才提供的 GetMac.exe,先看看執行的結果:
C:\Users\Alex>getmac

實體位址              傳輸名稱
=================== ==========================================================
00-11-22-33-44-55   \Device\Tcpip_{6D6E5A92-EEEE-45C4-90A7-1087E2283344}
12-34-56-01-23-45   \Device\Tcpip_{0442D227-FFFF-5555-6666-776DDF7B88ED}

由於 GetMac 提供以 CSV 格式輸出結果的參數,所以我們可以搭配 FOR 指令寫出 GetMacAddr01.cmd:
@echo off
REM 結果前後會有「"」
for /f "tokens=1 delims=," %%i in ('"getmac /fo csv /nh"') do echo 實體位址為:%%i

REM 刪除「"」:將原本的 %%i 改成 %%~i
for /f "tokens=1 delims=," %%i in ('"getmac /fo csv /nh"') do set mac=%%~i
echo.
echo 刪除「"」的結果:%mac%
echo.

REM 刪除「-」:使用 for 搭配 delims=-
for /f "tokens=1-6 delims=-" %%j in ('echo %mac%') do echo 最後結果:%%j%%k%%l%%m%%n%%o

執行結果:
C:\Users\Alex>GetMacAddr01.cmd
實體位址為:"00-11-22-33-44-55"
實體位址為:"12-34-56-01-23-45"

刪除「"」的結果:12-34-56-01-23-45

最後結果:123456012345

由執行結果來看,上面那樣的寫法會有問題,萬一有多張網卡時,因為使用環境變數 %mac% 來儲存結果,所以只會顯示最後查到的 MAC 位址,所以經過修改並精簡後的程式碼:
for /f "tokens=1 delims=," %%i in ('"getmac /fo csv /nh"') do (
for /f "tokens=1-6 delims=-" %%j in ('echo %%~i') do echo %%j%%k%%l%%m%%n%%o
)

執行結果:
C:\Users\Alex>GetMacAddr.cmd
001122334455
123456012345

2005年4月19日

如何移除舊網路卡的資訊

若在未移除網卡 Driver 前,就直接將舊網卡拔下,然後換上新的,會造成原本設定在舊網卡上的 IP address 無法使用,也就是說新的網卡僅能設定一組新的 IP address。此時透過下列的步驟即可解決:
  1. 開始->執行->輸入 [cmd],按下 [Enter](輸入時,不含[ ]) 
  2. 輸入 [set devmgr_show_nonpresent_devices=1](輸入時,不含[ ]) -> 按 [Enter](輸入時,不含[ ]) 
  3. 輸入 [start devmgmt.msc](輸入時,不含[ ]) -> 按 [Enter](輸入時,不含[ ]) 
  4. 按下 [檢視]  -> [顯示隱藏裝置]
  5. 展開 [網路介面卡],找到之前移除的網卡,在它上面按滑鼠右鍵選 [解除安裝] 
  6. 重新開機

2004年10月13日

使用指令停用網路卡

欲使用指令的方式將網卡停用,需要使用命令模式的「裝置管理員」(DevCon.exe),這個工具可以在微軟的網站下載,不過該工具微軟不提供技術支援,且僅限用於 Windows 2000 以上的系統,在 Windows 9x/ME/NT 無法使用。

請依照下面的步驟進行:
  1. 將 DevCon.exe 解開,裡面會有兩個目錄,每個目錄下會有一個執行檔,請使用 i386 目錄下的那個(ia64 目錄裡的是給 64bit 作業系統用的,若您要試用,我也不反對,反正程式會顯示錯誤訊息)
  2. 開啟命令提示字元,輸入:
    DevCon find PCI\* 按下 Enter
    執行的結果:
  3. 記下您要停用的網路卡的識別碼,以上圖為例:PCI\VEN_1106(只需記錄到第一個 & 之前即可)
  4. 輸入: DevCon disable PCI\VEN_1106 按下 Enter
  5. 待螢幕出現類似下面的訊息,即代表停用OK
  6. 若要啟動的話,就輸入: DevCon enable PCI\VEN_1106 按下 Enter

注意:指令參數不管大小寫,都可以執行無誤,因此無須注意大小寫的問題。

2004年9月4日

如何刪除 Windows 2000 隱藏的網路卡

在 Windows 2000 若因為更換實體的網路卡或者將網路卡從一個 PCI/ISA 插槽換到另外一個插槽,當您再次開啟 Windows 2000,為造成原本使用的 IP Address 無法再被設定並使用,此時可以透過下列步驟進行:
  1. 開啟[控制台]
  2. 選擇 [新增/移除硬體]
  3. 精靈打開後,按[下一步]
  4. 點選[解除安裝拔除裝置]
  5. 點選[解除安裝裝置]
  6. 此時會出現清單
  7. 若是清單上沒有任何項目,請勾選清單下面的 [顯示隱藏裝置]
  8. 按下一步
  9. 選擇您要刪除的網路卡,將其刪除
  10. 重新開機,設定網路卡 IP Address