網(wǎng)卡上面裝有處理器和存儲器(包括RAM和ROM)。網(wǎng)卡和局域網(wǎng)之間的通信是通過電纜或雙絞線以串行傳輸方式進行的。而網(wǎng)卡和計算機之間的通信則是通過計算機主板上的I/O總線以并行傳輸方式進行。因此,網(wǎng)卡的一個重要功能就是要進行串行/并行轉(zhuǎn)換。由于網(wǎng)絡(luò)上的數(shù)據(jù)率和計算機總線上的數(shù)據(jù)率并不相同,因此在網(wǎng)卡中必須裝有對數(shù)據(jù)進行緩存的存儲芯片。網(wǎng)卡以前是作為擴展卡插到計算機總線上的,但是由于其價格低廉而且以太網(wǎng)標(biāo)準(zhǔn)普遍存在,大部分新的計算機都在主板上集成了網(wǎng)絡(luò)接口。這些主板或是在主板芯片中集成了以太網(wǎng)的功能,或是使用一塊通過PCI (或者更新的PCI-Express總線)連接到主板上的廉價網(wǎng)卡。
除非需要多接口或者使用其它種類的網(wǎng)絡(luò),否則不再需要一塊獨立的網(wǎng)卡。甚至更新的主板可能含有內(nèi)置的雙網(wǎng)絡(luò)(以太網(wǎng))接口。在安裝網(wǎng)卡時必須將管理網(wǎng)卡的設(shè)備驅(qū)動程序安裝在計算機的操作系統(tǒng)中。這個驅(qū)動程序以后就會告訴網(wǎng)卡,應(yīng)當(dāng)從存儲器的什么位置上將局域網(wǎng)傳送過來的數(shù)據(jù)塊存儲下來。網(wǎng)卡還要能夠?qū)崿F(xiàn)以太網(wǎng)協(xié)議。網(wǎng)卡并不是獨立的自治單元,因為網(wǎng)卡本身不帶電源而是必須使用所插入的計算機的電源,并受該計算機的控制。因此網(wǎng)卡可看成為一個半自治的單元。當(dāng)網(wǎng)卡收到一個有差錯的幀時,它就將這個幀丟棄。當(dāng)網(wǎng)卡收到一個正確的幀時,它就使用中斷來通知該計算機并交付給協(xié)議棧中的網(wǎng)絡(luò)層。當(dāng)計算機要發(fā)送一個IP數(shù)據(jù)包時,它就由協(xié)議棧向下交給網(wǎng)卡組裝成幀后發(fā)送到局域網(wǎng)。隨著集成度的不斷提高,網(wǎng)卡上的芯片的個數(shù)不斷的減少,雖各個廠家生產(chǎn)的網(wǎng)卡種類繁多,但其功能大同小異。
1、數(shù)據(jù)的封裝與解封發(fā)送時將上一層傳遞來的數(shù)據(jù)加上首部和尾部,成為以太網(wǎng)的幀。接收時將以太網(wǎng)的幀剝?nèi)ナ撞亢臀膊浚缓笏徒簧弦粚?、鏈路管理主要是通過CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,帶沖突檢測的載波監(jiān)聽多路訪問)協(xié)議來實現(xiàn)3、數(shù)據(jù)編碼與譯碼即曼徹斯特編碼與譯碼。其中曼徹斯特碼,又稱數(shù)字雙向碼、相位編碼(PE),是一種常用的二元碼線路編碼方式之一,被物理層使用來編碼一個同步位流的時鐘和數(shù)據(jù)。在通信技術(shù)中,用來表示所要發(fā)送比特 流中的數(shù)據(jù)與定時信號所結(jié)合起來的代碼。 常用在以太網(wǎng)通信,列車總線控制,工業(yè)總線等領(lǐng)域。
根據(jù)網(wǎng)卡所支持的物理層標(biāo)準(zhǔn)與主機接口的不同,網(wǎng)卡可以分為不同的類型,如以太網(wǎng)卡和令牌環(huán)網(wǎng)卡等。根據(jù)網(wǎng)卡與主板上總線的連接方式、網(wǎng)卡的傳輸速率和網(wǎng)卡與傳輸介質(zhì)連接的接口的不同,網(wǎng)卡分為不同的類型。按照網(wǎng)卡支持的計算機種類分類,主要分為標(biāo)準(zhǔn)以太網(wǎng)卡和PCMCIA網(wǎng)卡:標(biāo)準(zhǔn)以太網(wǎng)卡用于臺式計算機聯(lián)網(wǎng),而PCMCIA網(wǎng)卡用于筆記本電腦。按照網(wǎng)卡支持的傳輸速率分類,主要分為10Mbps網(wǎng)卡、100Mbps網(wǎng)卡、10/100Mbps自適應(yīng)網(wǎng)卡和1000Mbps網(wǎng)卡四類:根據(jù)傳輸速率的要求,10Mbps和100Mbps網(wǎng)卡僅支持10Mbps和100Mbps的傳輸速率,在使用非屏蔽雙絞線UTP作為傳輸介質(zhì)時,通常10Mbps網(wǎng)卡與3類UTP配合使用,而100Mbps網(wǎng)卡與5類UTP相連接。10/100Mbps自適應(yīng)網(wǎng)卡是由網(wǎng)卡自動檢測網(wǎng)絡(luò)的傳輸速率,保證網(wǎng)絡(luò)中兩種不同傳輸速率的兼容性。隨著局域網(wǎng)傳輸速率的不斷提高,1000Mbps網(wǎng)卡大多被應(yīng)用于高速的服務(wù)器中。按網(wǎng)卡所支持的總線類型分類,主要可以分為ISA、EISA、PCI等:由于計算機技術(shù)的飛速發(fā)展,ISA總線接口的網(wǎng)卡的使用越來越少。EISA總線接口的網(wǎng)卡能夠并行傳輸32位數(shù)據(jù),數(shù)據(jù)傳輸速度快,但價格較貴。PCI總線接口網(wǎng)卡的CPU占用率較低,常用的32位PCI網(wǎng)卡的理論傳輸速率為133Mbps,因此支持的數(shù)據(jù)傳輸速率可達100Mbps。
隨著嵌入式設(shè)備對網(wǎng)絡(luò)需求的增長,物聯(lián)網(wǎng)技術(shù)通過傳 感器獲取大量數(shù)據(jù),這些數(shù)據(jù)通過嵌入式網(wǎng)關(guān)進行處理,這就涉及到各種網(wǎng)絡(luò)通信算法。但是通常嵌入式軟硬件開發(fā)時間是不均衡的。如果網(wǎng)絡(luò)通信算法已經(jīng)完成。而硬件仍然處于調(diào)試狀態(tài),導(dǎo)致網(wǎng)絡(luò)通信算法不能夠及時驗證,則開發(fā)效率降低。虛擬網(wǎng)卡測試平臺提供了不需要具體硬件參與,就能完成多網(wǎng)卡設(shè)備的通信算法驗證,降低了軟件開發(fā)周期。 并且通過分析虛擬網(wǎng)卡接收和發(fā)送的數(shù)據(jù)包,進而對算法的準(zhǔn)確性和性能進行測試。