關於網卡的一些知識記錄

網卡通常由MAC芯片和phy芯片,兩部分組成。

在mac層芯片中,往往有一定大小的緩衝區,當接受到一幀數據之後,經過校驗正確之後,就會放入緩衝區,隨後中斷到CPU,再由驅動程序將緩衝區中的數據讀入到內核之中。

所以,存在可能性,當網卡接受緩衝區滿了,發送發繼續發送數據,則會丟包。

另外,當發送緩衝區滿了,如果內核繼續發送數據,也會丟包。

某些時候,通過觀察這兩個緩衝區的大小,可以確定網卡丟包的具體原因。

以上兩種情況,往往是丟包的主要原因。

當然,也可能因爲數據出錯,從而使網卡丟棄該幀,導致丟包的情況,但隨着網絡質量的提升,這種情況已經很少發生,特別是在局域網的情況下。

也就是說,網卡的性能的好壞,往往取決於網卡主控芯片的好壞。

另外,關於網卡的一些芯片舉例:

RTL8139D芯片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章