網卡

計算機硬體

網卡是一塊被設計用來允許計算機在計算機網路上進行通訊的計算機硬體。由於其擁有MAC地址,因此屬於OSI模型的第1層和2層之間。它使得用戶可以通過電纜或無線相互連接。

每一個網卡都有一個被稱為MAC地址的獨一無二的48位串列號,它被寫在卡上的一塊ROM中。在網路上的每一個計算機都必須擁有一個獨一無二的MAC地址。

沒有任何兩塊被生產出來的網卡擁有同樣的地址。這是因為電氣電子工程師協會(IEEE)負責為網路介面控制器(網卡)銷售商分配唯一的MAC地址。

簡介


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

主要功能


1、數據的封裝與解封
發送時將上一層傳遞來的數據加上首部和尾部,成為乙太網的幀。接收時將乙太網的幀剝去首部和尾部,然後送交上一層。
2、鏈路管理
主要是通過CSMA/CD(CarrierSenseMultipleAccesswithCollisionDetection,帶衝突檢測的載波監聽多路訪問)協議來實現。
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部署的一個必要組成部分。
如果網路性能低於已定義的基準,可以對網卡進行調整,務必對伺服器以及網卡進行基準測試后再對配置進行更改。這些推薦的網卡調整不會帶來顯著的性能提升,但是也不受預算的限制。隨時間變化評估並觀察網路性能,檢查任何意想不到的後果,比如提升了某個工作負載性能卻降低了其他工作負載的性能。

網卡驅動


由於驅動功能層的存在,協議驅動程序和網卡驅動程序之間相互獨立,大大簡化了網路設備增加和網路組件擴展的複雜度。目前網路協議棧主要支持增強型的網路設備驅動(EnhancedNetworkDriver,END)。
END設備驅動程序的裝載
END設備驅動程序的裝載主要就是完成END設備驅動程序與驅動功能抽象層的掛接,使得網路協議棧實現對END設備的控制。具體過程包括:初始化網卡和PHY設備,配置網卡和PHY設備的通信參數等;為網卡控制結構分配空間同時初始化END_OBJ結構,END_OBJ結構主要包括網卡控制結構以及與網路協議棧相關的參數信息;對網卡驅動對應的參數串進行解析和處理;為接收數據分配空間,保證接收數據的存放;通過配置END_OBJ結構中的NET_FUNCS參數實現網卡驅動與網路協議棧的掛接。
啟動END設備
END設備的啟動過程主要包括中斷處理程序的掛接和使能網卡中斷。對於網卡設備來說,其處理數據的方式可分為中斷和輪詢兩種工作模式,在END設備啟動過程中,將接收數據和發送數據均設置為中斷模式,並掛接接收和發送數據的中斷處理程序,最後使能網卡中斷、接收和發送中斷,則可完成END設備的啟動。
網路數據包的接收
對於網路數據包的接收來說,操作系統的網路協議棧無需網卡驅動實現對網路數據包的處理。當網卡設備接收到數據后,其會產生一個接收中斷,在接收中斷處理程序中,程序會調用netJobAdd函數啟動一個任務程序將網卡設備接收到的數據傳遞給驅動功能抽象層,網路協議棧通過驅動功能抽象層的接收函數獲取到網路數據包並進行相應的數據處理。此處利用netJobAdd函數可以減少接收中斷的處理時間,提高網路數據的接收能力。
網路數據包的發送
對於網路數據包的發送來說,當網路協議棧發送數據時,其會將數據放置到緩衝區中,並通過調用驅動功能抽象層的發送函數將緩衝區中的數據發送給網卡設備,網卡設備接收到數據后就將其置於發送緩衝區中等待數據的發送。

分類


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

雙網卡切換


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

網際網路卡


目前運營商與網際網路公司的合作模式,主要有兩種。一是免流量系列,主要集中在網際網路客戶端、視頻、直播等產品中,用戶可以享受到費用低廉的流量資費或定向免流量服務;二是用於交易支付平台的補貼型流量卡,即完成每筆訂單后可獲得流量。
與傳統套卡相比,網際網路卡的優勢主要在定向流量免流這一特特權方面,這也是在當下流量為王之時用戶最滿意的一點。
網際網路卡未來之路還能走多遠取決於合作方的生存時間外,還取決於合作方的關係。然而在當下,運營商的網際網路卡套是精細操作,要深挖客戶需求,持續升級,豐富產品內涵,以更貼近用戶需求的方展下去。

有線網卡


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

無線網卡


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

虛擬網卡


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

故障及解決方法


網路連接不穩定
在網卡工作正常的情況下,網卡的指示燈是長亮的(而在傳輸數據時,會快速地閃爍)。如果出現時暗時明,且網路連接老是不通的情況,最可能的原因就是網卡和PCI插槽接觸不良。和其他PCI設備一樣,頻繁拔插網卡或移動電腦時,就很容易造成此類故障,重新拔插一下網卡或換插到其他PCI插槽都可解決。此外,灰塵多、網卡“金手指”被嚴重氧化,網線接頭(如水晶頭損壞)也會造成此類故障。只要清理一下灰塵、用報紙把“金手指"擦亮即可解決。
驅動程序出現的故障
網卡和其他硬體一樣,驅動程序不完善也極易引起故障,比如果用瑞顯(Realek)RT18469晶元的網卡,在Windows下就經常會出現Net-BIOSTCP/IP方面的錯誤。棉驅動更新到最新版后,此類問題就會迎刃而解。所以,當網卡出現一些不明緣由的故障時,可以到“驅動之家”等專業網站更新驅動來解決(推薦大家優先使用經過微軟WHQL認證的驅動,通過此認證的驅動程序與Windows系統的兼容性是最好的)。一般在排除硬體,網路故障前提下,升級或重裝驅動可以解決很多莫名故障。如果網卡故障是發生在驅動程序更新之後的話,可以用網卡自帶的驅動程序來恢復一下。
磁場導致故障
網卡與其它電子產品一樣。很容易受到磁場干擾而發生故障。所以,網卡和網路布線時,就要採用屏蕺性強的網線和網卡設備,同時儘可能地避開微波爐、電冰箱、電視機等大功率強磁場設備,降低網卡故障的幾率。
網卡數據收發異常
第一步:依次單擊“開始”、“控制面板”命令,彈出系統控制面板窗口,用滑鼠雙擊“網路和共享中心”圖標,點擊其後界面中的“管理網路連接”按鈕,進入網路連接列表窗口,右擊“本地連接”圖標,執行快捷菜單中的“屬性”命令,打開本地連接屬性對話框,選中TCP/IPv4協議選項,點擊“屬性”按鈕,切換到對應協議屬性對話框,看看這裡的IP地址等參數是否設置正確,如果用戶輸入了錯誤的IP地址,或者對網路參數配置不熟悉,就很容易引起網路故障。設置好了網路參數,或許故障現象就能自動消失了。
第二步:檢查網卡設備的工作狀態是否正常。首先用手觸摸網卡附近是否存在溫度過高現象,在計算機長時間工作的情況下,如果計算機散熱性能不好的話,很容易造成網卡發生性能下降現象。當確認由於溫度過高引起網卡工作不正常時,只要暫時關閉計算機一段時間,就能解決問題。其次檢查一些應用程序或軟體系統有沒有對網卡設備進行操作許可權方面的限制,比方說保密系統或網路病毒,可能會影響網卡設備的工作狀態,此時只要查殺乾淨病毒,或取消程序或軟體對網卡許可權的限制,就能恢復網卡設備的運行狀態。第三判斷網卡自身是否存在硬體問題。打開系統設備管理器窗口,展開網路適配器節點,用滑鼠右鍵單擊目標網卡設備,進入對應設備屬性對話框,選擇“常規”標籤,在對應標籤頁面中就能直觀看到網卡設備是否有問題了。如果從里還不能識別出網卡究競是否正常時,不妨通過加裝一塊正常網卡的方法,來判斷舊網卡是否在質量方面存在問題。最後嘗試用滑鼠右鍵單擊“本地連接”圖標,執行快捷菜單中的“修復”命令,這樣或許能解決一些隱藏的網卡錯誤,從而恢復網卡的工作狀態。
第三步:通過專業線纜測試儀器,對物理線路的連通性進行測試,以此來判斷網路線纜是否有斷點,網卡水晶頭是否接觸不良。如果發現網路線纜有斷點,必須要重新更換新的網路線纜。如果看到水晶頭接觸不好時,不妨選用質量較高的網路模塊或水晶頭,重新製作網路接頭。
第四步:要檢查交換機的工作狀態。在長時間工作后,交換機設備很容易出現老化現象,這時會引起連接到該交換機中的所有計算機上網不正常,所以觀察其他計算機的上網狀態,如果有多台計算機網卡數據收發異常,那十有八九是交換機問題,只要重新更換交換機即可。如果其他計算機上網正常,那不妨嘗試換插一個交換埠,看看是否是埠模塊有問題。有的時候,小小的灰塵也能引起交換機或網卡設備的性能下降,因此平時要加強設備的保養。