複製鏈接
請複製以下鏈接發送給好友

網卡

鎖定
網卡是一塊被設計用來允許計算機在計算機網絡上進行通訊的計算機硬件。由於其擁有MAC地址,因此屬於OSI模型的第1層和2層之間。它使得用户可以通過電纜或無線相互連接。
每一個網卡都有一個被稱為MAC地址的獨一無二的48位串行號,它被寫在卡上的一塊ROM中。在網絡上的每一個計算機都必須擁有一個獨一無二的MAC地址。
沒有任何兩塊被生產出來的網卡擁有同樣的地址。這是因為電氣電子工程師協會(IEEE)負責為網絡接口控制器(網卡)銷售商分配唯一的MAC地址。
中文名
網卡
外文名
NIC (Network Interface Controller)
別    名
網絡適配器
網絡接口卡
作    用
連接計算機與外界局域網

網卡簡介

網卡上面裝有處理器和存儲器(包括RAMROM)。網卡和局域網之間的通信是通過電纜或雙絞線以串行傳輸方式進行的。而網卡和計算機之間的通信則是通過計算機主板上的I/O總線以並行傳輸方式進行。因此,網卡的一個重要功能就是要進行串行/並行轉換。由於網絡上的數據率和計算機總線上的數據率並不相同,因此在網卡中必須裝有對數據進行緩存的存儲芯片 [5] 
網卡以前是作為擴展卡插到計算機總線上的,但是由於其價格低廉而且以太網標準普遍存在,大部分新的計算機都在主板上集成了網絡接口。這些主板或是在主板芯片中集成了以太網的功能,或是使用一塊通過PCI (或者更新的PCI-Express總線)連接到主板上的廉價網卡。除非需要多接口或者使用其它種類的網絡,否則不再需要一塊獨立的網卡。甚至更新的主板可能含有內置的雙網絡(以太網)接口。
在安裝網卡時必須將管理網卡的設備驅動程序安裝在計算機的操作系統中。這個驅動程序以後就會告訴網卡,應當從存儲器的什麼位置上將局域網傳送過來的數據塊存儲下來。網卡還要能夠實現以太網協議
網卡並不是獨立的自治單元,因為網卡本身不帶電源而是必須使用所插入的計算機的電源,並受該計算機的控制。因此網卡可看成為一個半自治的單元。當網卡收到一個有差錯的幀時,它就將這個幀丟棄。當網卡收到一個正確的幀時,它就使用中斷來通知該計算機並交付給協議棧中的網絡層。當計算機要發送一個IP數據包時,它就由協議棧向下交給網卡組裝成幀後發送到局域網。
隨着集成度的不斷提高,網卡上的芯片的個數不斷的減少,雖各個廠家生產的網卡種類繁多,但其功能大同小異。

網卡主要功能

1、數據的封裝與解封
發送時將上一層傳遞來的數據加上首部和尾部,成為以太網的幀。接收時將以太網的幀剝去首部和尾部,然後送交上一層
2、鏈路管理
主要是通過CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,帶衝突檢測載波監聽多路訪問)協議來實現
3、數據編碼與譯碼
曼徹斯特編碼與譯碼。其中曼徹斯特碼,又稱數字雙向碼、相位編碼(PE),是一種常用的二元碼線路編碼方式之一,被物理層使用來編碼一個同步位流的時鐘和數據。在通信技術中,用來表示所要發送比特 流中的數據與定時信號所結合起來的代碼。 常用在以太網通信,列車總線控制,工業總線等領域。

網卡屬性設置

通過高級網卡選項可以提升網絡性能:
有效利用CPU:巨型幀vs.卸載功能
如果服務器性能低下,那麼可能是由於網絡負載較大。標準的以太網數據包大小為1518個字節,大多數文件被拆分為成百上千甚至上百萬個數據包或者幀。這些小的數據包通過網絡傳輸,和眾多節點共享網絡帶寬,但是數據幀的發送與接收會帶來CPU開銷。
大多數網卡支持巨型幀,這意味着能夠處理高達9000字節的數據包或者幀。巨型幀在每個數據包中包括更多的數據,因此網絡中需要傳輸的數據包數量就變小了。吞吐量提升意味着開銷——數據包頭與其他數據包內容——以及CPU開銷減少了。
巨型幀肯定存在缺點。管理員必須對網絡中的所有節點進行配置才能支持巨型幀的傳輸。巨型幀並不是IEEE標準的一部分,因此不同的網卡配置的巨型幀大小有所不同。為了在節點之間高效傳輸巨型幀要做一些實驗。更大的數據包可能會增加某些負載的延遲,因為其他節點要等更長的時間才能使用帶寬,請求與發送被丟棄或者被破壞的數據包也需要花更長的時間。
IT專業人員可能放棄巨型幀而使用具有LSO以及LRO功能的網卡。LSO和LRO允許CPU通過網卡傳輸更多數量的數據,而且基本上與巨型幀提供了相同的CPU性能。
通行能力:可調整的幀間距vs.以太網升級
以太網在每發送一個數據包後都要等一段時間,這稱之為幀間距。這為其他網絡節點佔用帶寬併發送數據包提供了機會。幀間距等於發送96個數據位的時間。例如,1Gb以太網使用標準的0.096ms的幀間距,10Gb以太網的幀間距為0.0096ms。
利用這一固定的數據包傳輸之間的間距並非總是有效而且在網絡負載較大的情況下可能會降低網絡性能。支持自適應幀間距的網卡能夠基於網絡負載動態調整幀間距,這有可能提升網絡性能。除非接近網絡帶寬,否則調整幀間距通常不會提升網絡性能。
全方位的網絡性能基準測試能夠展現網絡使用模式。如果以太網連接頻繁達到帶寬上限,那麼升級到速度更快的以太網或者使用網卡綁定而非調整幀間距將能夠提升網絡性能。
限制CPU中斷,提升CPU性能
當數據包在網絡中傳輸時,網卡會產生CPU中斷。以太網速度越快,CPU中斷的頻率也就越高,CPU必須更多地關注網絡驅動器以及其他處理數據包的軟件。如果流量起伏不定,CPU性能可能會變得不穩定。支持人為中斷節流的網卡能夠減少CPU中斷頻率,將CPU從網卡中放出來,很可能能夠提升CPU性能。
中斷限制越多並不一定越好。過高的中斷限制可能會降低CPU的響應能力;CPU將需要花更長的時間來處理所有正在產生的中斷。當高速小數據包近乎實時地到達時,限制中斷將會降低性能。在多種模式下對網絡以及CPU性能進行測試直到能夠建立起充分的系統響應能力,產生平滑的CPU中斷。
還可以考慮支持TCP/IP卸載功能的網卡。這些網卡能夠在線處理眾多CPU密集型工作任務,同時減少對CPU的中斷請求
優先處理對時間敏感的數據類型:啓用包標記
對事件敏感的數據類型比如VoIP或者視頻通常按照高優先級流量對待,但是網絡對所有數據包一視同仁。採用數據包標記,被標記的數據包能夠被分到操作系統設置的流量隊列中,在處理其他低優先級的數據包之前先處理高優先級的VoIP以及視頻數據包。包標記有助於QoS戰略,而且是很多VLAN部署的一個必要組成部分。
如果網絡性能低於已定義的基準,可以對網卡進行調整,務必對服務器以及網卡進行基準測試後再對配置進行更改。這些推薦的網卡調整不會帶來顯著的性能提升,但是也不受預算的限制。隨時間變化評估並觀察網絡性能,檢查任何意想不到的後果,比如提升了某個工作負載性能卻降低了其他工作負載的性能。

網卡網卡驅動

由於驅動功能層的存在,協議驅動程序和網卡驅動程序之間相互獨立,大大簡化了網絡設備增加和網絡組件擴展的複雜度。網絡協議棧主要支持增強型的網絡設備驅動 (Enhanced Network Driver)。 [1] 

網卡END設備驅動程序的裝載

END設備驅動程序的裝載主要就是完成END設備驅動 程序與驅動功能抽象層的掛接,使得網絡協議棧實現對 END設備的控制。具體過程包括: 初始化網卡和PHY設備,配置網卡和 PHY 設備的通信參數等;為網卡控制結構分配空間同時初始化END_OBJ結構,END_OBJ結構主要包括網卡控制結構以及與網絡協議棧相關的參數信息;對網卡驅動對應的參數串進行解析和處理;為接收數據分配空間,保證接收數據的存放;通過配置END_OBJ結構中的NET_FUNCS 參數實現網卡驅動與網絡協議棧的掛接。 [1] 

網卡啓動 END 設備

END設備的啓動過程主要包括中斷處理程序的掛接和使 能網卡中斷。對於網卡設備來説,其處理數據的方式可分為中斷和輪詢兩種工作模式,在END設備啓動過程中,將接收數據和發送數據均設置為中斷模式,並掛接接收和發送數據的中斷處理程序,最後使能網卡中斷、接收和發送中斷,則可完成END設備的啓動。 [1] 

網卡網絡數據包的接收

對於網絡數據包的接收來説,操作系統的網絡協議棧無需網卡驅動實現對網絡數據包的處理。當網卡設備接 收到數據後,其會產生一個接收中斷,在接收中斷處理程序中, 程序會調用netJobAdd函數啓動一個任務程序將網卡設備接收到的數據傳遞給驅動功能抽象層,網絡協議棧通過驅動功能抽象層的接收函數獲取到網絡數據包並進行相應的數據處理。此處利用netJobAdd 函數可以減少接收中斷的處理時間,提高網絡數據的接收能力。 [1] 

網卡網絡數據包的發送

對於網絡數據包的發送來説,當網絡協議棧發送數據時,其會將數據放置到緩衝區中,並通過調用驅動功能抽象層的發送函數將緩衝區中的數據發送給網卡設備,網卡設備接收到數據後就將其置於發送緩衝區中等待數據的發送。 [1] 

網卡分類

根據網卡所支持的物理層標準與主機接口的不同,網卡可以分為不同的類型,如以太網卡令牌環網卡等。根據網卡與主板上總線的連接方式、網卡的傳輸速率和網卡與傳輸介質連接的接口的不同,網卡分為不同的類型。
按照網卡支持的計算機種類分類,主要分為標準以太網卡和PCMCIA網卡:
標準以太網卡用於台式計算機聯網,而PCMCIA網卡用於筆記本電腦
按照網卡支持的傳輸速率分類,主要分為10Mbps網卡、100Mbps網卡、10/100Mbps自適應網卡和1000Mbps網卡四類:
根據傳輸速率的要求,10Mbps和100Mbps網卡僅支持10Mbps和100Mbps的傳輸速率,在使用非屏蔽雙絞線UTP作為傳輸介質時,通常10Mbps網卡與3類UTP配合使用,而100Mbps網卡與5類UTP相連接。10/100Mbps自適應網卡是由網卡自動檢測網絡的傳輸速率,保證網絡中兩種不同傳輸速率的兼容性。隨着局域網傳輸速率的不斷提高,1000Mbps網卡大多被應用於高速的服務器中。
按網卡所支持的總線類型分類,主要可以分為ISA、EISAPCI等:
由於計算機技術的飛速發展,ISA總線接口的網卡的使用越來越少。EISA總線接口的網卡能夠並行傳輸32位數據,數據傳輸速度快,但價格較貴。PCI總線接口網卡的CPU佔用率較低,常用的32位PCI網卡的理論傳輸速率為133Mbps,因此支持的數據傳輸速率可達100Mbps。

網卡雙網卡切換

為了使2塊網卡實現高效雙冗餘備份,必須保證這2塊網卡具有相同的物理地址IP地址這樣 對於上層應用系統而言,系統中呈現“單網卡”的特徵;反之,當系統中一塊網卡切換到另一塊網卡工作時,如果IP地址發生變化,則系統無法正常接收和發送數據。如果IP地址不改變,而物理地址改變,則會引起協議棧ARP綁定表的變化,而重新對應ARP綁定表中IP地址與網卡物理地址的關係會延長兩個網卡之間的切換時間。 [2] 
然而,每塊網卡的物理地址在全世界範圍內是唯一的,它保存在網卡的PROM中。為了使2塊網卡具有相同的物理地址,在網卡初始化時,從PROM中讀出其中一塊網卡的物理地址,將該物理地址的內容寫入另一 塊網卡物理地址寄存器數據結構變量中,在此情況下,這2塊網卡就具有完全相同的物理地址了。 [2] 

網卡有線網卡

光纖網卡,指的是光纖以太網適配器,簡稱光纖網卡,學名Fiber Ethernet Adapter.傳輸的是以太網通信協議,一般通過光纖線纜與光纖以太網交換機連接。按傳輸速率可以分為100Mbps、1Gbps、10Gbps,按主板插口類型可分為PCIPCI-XPCI-E(x1/x4/x8/x16)等,按接口類型分為LC、SC、FC、ST等。
LC接口名字的由來是根據光纖模塊的接口定義而命名的。光纖模塊按其接口可以分為:SC、LC、ST、FC等幾種類型。
SC接口,由於其操作的便利性,得到廣泛運用,比如光纖到桌面FTTD)的廣泛運用,使得SC接口光纖網卡得到普及。
SC接口光纖網卡的含義:
SC接口光纖網卡名字的由來是根據光纖模塊的接口定義而命名的。光纖模塊按其接口可以分為:SC、LC、ST、FC、MTRJ等幾種類型。由於SC接口光纖操作的便利性,從而使得帶SC接口光模塊的網卡,
得到廣泛運用,而經常被人們所提起,因為也誕生了:SC接口光纖網卡這個名詞。
光纖端口工作波長傳輸距離:
SC/APC 單纖,單模 波長1310/1550nm 10/20KM
SC/PC 雙纖,單模 波長1310nm 10/20/40KM
SC/PC 雙纖,多模 波長850nm 550M
SFP光纖網卡含義:
SFP是 (Small Form-factor Pluggables)可以簡單的理解為GBIC的升級
版本。SFP模塊(體積比GBIC模塊減少一半,可以在相同面板上配置多出一倍以上的端口數量。由於SFP模塊在功能上與GBIC基本一致,因此,也被有些交換機廠商稱為小型化GBIC(Mini-GBIC)。
SFP光纖網卡,故名思議,就是一種小型可熱撥插模塊的光纖網卡。在網卡集成SFP插槽,用户可根據實際需要,插入多模或者單模SFP光模塊,而且可以根據實際傳輸距離,插入不同傳統距離的光模塊;而不需要根據網卡本身。這就給用户很大的選擇空間。

網卡無線網卡

無線網卡用於連接無線網絡,就是利用無線電波作為信息傳輸的媒介構成的無線局域網(WLAN),與有線網絡的用途十分類似,最大的不同在於傳輸媒介的不同,利用無線電技術取代網線,可以和有線網絡互為備份,只可惜速度相較於有線網絡略遜且延遲較大。無線網卡是終端無線網絡的設備,是無線局域網無線覆蓋下通過無線連接網絡進行上網使用的無線終端設備。具體來説無線網卡就是使你的電腦可以利用無線來上網的一個裝置,但是有了無線網卡也還需要一個可以連接的無線網絡,如果你在家裏或者所在地有無線路由器或者無線APAccess Point無線接入點)的覆蓋,就可以通過無線網卡以無線的方式連接無線網絡可上網。
無線網卡的工作原理是微波射頻技術,筆記本有WIFI、LTE等幾種無線數據傳輸模式來上網,後者由移動網絡運營商來實現,前者三大運營商有所參與,但大多主要是自己擁有接入互聯網的WIFI基站(其實就是WIFI路由器等)和筆記本用的WIFI網卡。無線上網遵循802.11標準,通過無線傳輸,有無線接入點發出信號,用無線網卡接受和發送數據。
按照IEEE802.11協議,無線局域網卡分為媒體訪問控制(MAC)層和物理層PHY Layer)。在兩者之間,還定義了一個媒體訪問控制-物理(MAC-PHY)子層(Sublayers)。MAC層提供主機與物理層之間的接口,並管理外部存儲器,它與無線網卡硬件的NIC單元相對應。
物理層具體實現無線電信號的接收與發射,它與無線網卡硬件中的擴頻通信機相對應。物理層提供空閒信道估計CCA信息給MAC層,以便決定是否可以發送信號,通過MAC層的控制來實現無線網絡的CSMA/CA協議,而MAC-PHY子層主要實現數據的打包與拆包,把必要的控制信息放在數據包的前面。
IEEE802.11協議指出,物理層必須有至少一種提供空閒信道估計CCA信號的方法。無線網卡的工作原理如下:當物理層接收到信號並確認無錯後提交給MAC-PHY子層,經過拆包後把數據上交MAC層,然後判斷是否是發給本網卡的數據,若是則上交,否則丟棄。
如果物理層接收到的發給本網卡的信號有錯,則需要通知發送端重發此包信息。當網卡有數據需要發送時,首先要判斷信道是否空閒。若空,隨機退避一段時間後發送;否則,暫不發送。由於網卡為時分雙工工作,所以,發送時不能接收,接收時不能發。
無線網卡標準:
1.IEEE 802.11a:使用5GHz頻段,傳輸速度54Mbps,與802.11b不兼容
2.IEEE 802.11b :使用2.4GHz頻段,傳輸速度11Mbps
3.IEEE 802.11g:使用2.4GHz頻段,傳輸速度54Mbps
4.IEEE 802.11n :使用2.4GHz頻段或5Ghz頻段,傳輸速度可達300Mbps
5.IEEE 802.11ac:使用2.4GHz頻段或5Ghz頻段傳輸速度最大可達1.73Gbps
6.IEEE 802.11ax:使用2.4GHz頻段、5Ghz頻段或6Ghz頻段,最高速度可達11 Gbps
WIFI6早期對WIFI聯盟新命名方式的圖解 WIFI6早期對WIFI聯盟新命名方式的圖解
WIFI聯盟已經將802.11a/b/g命名為WIFI3,802.11n命名為WIFI4,802.11ac命名為WIFI5,802.11ax命名為WIFI6,這種命名方式能更好的方便消費者瞭解產品支持的WIFI技術標準,從而方便消費者更好的選擇WIFI產品。
無線網卡的作用、功能跟普通電腦網卡一樣,是用來連接到局域網上的。它只是一個信號收發的設備,只有在找到上互聯網的出口時才能實現與互聯網的連接,所有無線網卡只能侷限在已布有無線局域網的範圍內。無線網卡就是不通過有線連接,採用無線信號進行連接的網卡。
無線網卡可以根據不同的接口類型來區分,第一種是USB無線網卡,是最常見的;第二種是台式機專用的PCI/PCI-E接口無線網卡;第三種是筆記本電腦內置的MINI-PCIE/M.2 1216接口無線網卡。
就如上面所説,我們光有無線網卡是無法連接無線網絡,還必須有無線路由器或無線AP。無線網卡就好比是接收器,無線路由相當於發射器。其實還是需要有線的Internet線路接入到無線貓上,再將信號轉化為無線的信號發射出去,由無線網卡接收。
無線網卡最先進的標準是IEEE 802.11ax,它大幅提升了無線局域網競爭力。隨着無線局域網標準、技術快速發展,產品逐漸成熟,無線局域網的應用也日益豐富。越來越多的家庭用户開始使用無線網絡,許多企業也紛紛在自己的辦公大樓內佈設無線局域網,同時,電信運營商對無線局域網也給予了極大關注,無論是在機場、酒店、咖啡廳等公共區域鋪設公眾無線網絡,給大家提供方便的無線上網

網卡虛擬網卡

隨着嵌入式設備對網絡需求的增長,物聯網技術通過傳 感器獲取大量數據,這些數據通過嵌入式網關進行處理,這就涉及到各種網絡通信算法。但是通常嵌入式軟硬件開發時間是不均衡的。如果網絡通信算法已經完成。而硬件仍然處於調試狀態,導致網絡通信算法不能夠及時驗證,則開發效率降低。虛擬網卡測試平台提供了不需要具體硬件參與,就能完成多網卡設備的通信算法驗證,降低了軟件開發週期。 並且通過分析虛擬網卡接收和發送的數據包,進而對算法的準確性和性能進行測試。 [3] 

網卡故障及解決方法

網卡網絡連接不穩定

在網卡工作正常的情況下,網卡的指示燈是長亮的(而在傳輸數據時,會快速地閃爍)。如果出現時暗時明,且網絡連接老是不通的情況,最可能的原因就是網卡和PCI插槽接觸不良。和其他PCI設備一樣,頻繁拔插網卡或移動電腦時,就很容易造成此類故障,重新拔插一下網卡或換插到其他PCI插槽都可解決。此外,灰塵多、網卡金手指被嚴重氧化,網線接頭損壞也會造成此類故障。只要清理一下灰塵、用報紙把“金手指"擦亮即可解決。 [4] 

網卡驅動程序出現的故障

網卡和其他硬件一樣,驅動程序不完善也極易引起故障,比如果用瑞顯(Realtek)RT18469芯片的網卡,在Windows下就經常會出現Net-BIOSTCP/IP方面的錯誤。棉驅動更新到最新版後,此類問題就會迎刃而解。所以,當網卡出現一些不明緣由的故障時,可以到“驅動之家”等專業網站更新驅動來解決(推薦大家優先使用經過微軟WHQL認證的驅動,通過此認證的驅動程序與Windows系統的兼容性是最好的)。一般在排除硬件,網絡故障前提下,升級或重裝驅動可以解決很多莫名故障。如果網卡故障是發生在驅動程序更新之後的話,可以用網卡自帶的驅動程序來恢復一下。 [4] 

網卡磁場導致故障

網卡與其它電子產品一樣。很容易受到磁場干擾而發生故障。所以,網卡和網絡佈線時,就要採用屏蕺性強的網線和網卡設備,同時儘可能地避開微波爐、電冰箱、電視機等大功率強磁場設備,降低網卡故障的幾率。 [4] 

網卡網卡數據收發異常

第一步:依次單擊“開始”、“控制面板”命令,彈出系統控制面板窗口,用 鼠標雙擊“網絡和共享中心”圖標,點擊其後界面中的“管理網絡連接”按鈕,進 入網絡連接列表窗口,右擊本地連接”圖標,執行快捷菜單中的“屬性”命令, 打開本地連接屬性對話框,選中TCP/IPv4協議選項,點擊“屬性”按鈕,切換到對應協議屬性對話框,看看這裏的IP地址等參數是否設置正確,如果用户輸入了錯誤的IP地址,或者對網絡參數配置不熟悉,就很容易引起網絡故障。設置好了網絡參數,或許故障現象就能自動消失了。
第二步:檢查網卡設備工作狀態是否正常。首先用手觸摸網卡附近是否存在温度過高現象,在計算機長時間工作的情況下,如果計算機散熱性能不好的話,很容易使網卡發生性能下降現象。當確認由於温度過高引起網卡工作不正常時,只要暫時關閉計算機一段時間,就能解決問題。其次檢查一些應用程序軟件系統有沒有對網卡設備進行操作權限方面的限制,比方説保密系統網絡病毒,可能會影響網卡設備的工作狀態,此時只要查殺乾淨病毒,或取消程序或軟件對網卡權限的限制,就能恢復網卡設備運行狀態。第三判斷網卡自身是否存在硬件問題。打開系統設備管理器窗口,展開網絡適配器節點,用鼠標右鍵單擊目標網卡設備,進入對應設備屬性對話框,選擇“常規”標籤,在對應標籤頁面中就能直觀看到網卡設備是否有問題了。如果從裏還不能識別出網卡究競是否正常時,不妨通過加裝一塊正常網卡的方法,來判斷舊網卡是否在質量方面存在問題。最後嘗試用鼠標右鍵單擊“本地連接”圖標,執行快捷菜單中的“修復”命令,這樣或許能解決一些網卡錯誤,從而恢復網卡的工作狀態。
第三步:通過專業線纜測試儀器,對物理線路的連通性進行測試,以此來判斷網絡線纜是否有斷點,網卡水晶頭是否接觸不良。如果發現網絡線纜有斷點,必須要重新更換新的網絡線纜。如果看到水晶頭接觸不好時,不妨選用質量較高的頭,重新制作網絡接頭。
第四步:要檢查交換機的工作狀態。在長時間工作後,交換機設備很容易出現老化現象,這時會引起連接到該交換機中的所有計算機上網不正常,所以觀察其他計算機的上網狀態,如果有多台計算機網卡數據收發異常,那十有八九是交換機問題,只要重新更換交換機即可。如果其他計算機上網正常,那不妨嘗試換插一個交換端口,看看是否是端口模塊有問題。有的時候,小小的灰塵也能引起交換機或網卡設備的性能下降,因此要加強設備的保養。
參考資料