TWI479845B - 網卡性能測試方法及系統 - Google Patents

網卡性能測試方法及系統 Download PDF

Info

Publication number
TWI479845B
TWI479845B TW100126162A TW100126162A TWI479845B TW I479845 B TWI479845 B TW I479845B TW 100126162 A TW100126162 A TW 100126162A TW 100126162 A TW100126162 A TW 100126162A TW I479845 B TWI479845 B TW I479845B
Authority
TW
Taiwan
Prior art keywords
packet
loss rate
network card
packet loss
header
Prior art date
Application number
TW100126162A
Other languages
English (en)
Other versions
TW201306522A (zh
Inventor
Tan-Ke Luo
bing-jie He
Original Assignee
Hon Hai Prec Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Publication of TW201306522A publication Critical patent/TW201306522A/zh
Application granted granted Critical
Publication of TWI479845B publication Critical patent/TWI479845B/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

網卡性能測試方法及系統
本發明涉及一種網卡性能測試方法及系統。
MTU,全稱為Maximum Transmission Unit,最大傳輸單元,是指一種通信協議的某一層上面所能通過的最大資料包大小(以位元組為單位)。現在大多數使用乙太網的局域網,MTU的值是1500位元組,這個值在開機時由作業系統設定。
在一般的診斷網卡性能測試時,有檔案要進行傳送時,先進行檔案的分割,再在應用層調用socket來傳輸分割後的文件。在檔案的傳送過程中,檔案的大小會受到MTU值的限制。當檔案傳輸至網路層時,會對分割後的檔案再進行IP分片,IP分片中分組大小是參照將分組發送到資料連結層的網路介面的MTU值得到。檔案經IP分片後,再往下完成網路傳輸。在應用層分割後的檔案,在網路層還要進行IP分片,過程複雜,影響網卡的性能測試。
鑒於以上內容,有必要提供一種網卡性能測試方法及系統,可以實現分割後檔案的直接傳送,能夠確保網卡性能的高效測試。
所述網卡性能測試方法,該方法包括以下步驟:分割傳輸步驟:在應用層參考MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層;構造步驟:在資料連結層將封包寫入寫緩衝區; 資料寫入步驟:取得網卡的BAR位址,並根據此BAR位址將寫緩衝區中封包寫入網卡緩存;接收記錄步驟:在物理層網卡的驅動程式投遞寫緩衝區中封包之後,接收封包的投遞結果,並根據投遞結果計算丟包率;修改步驟:根據丟包率修改配置檔案中的MTU值。
所述網卡性能測試系統,該系統包括:分割傳輸模組,用於在應用層參考MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層;構造模組,用於在資料連結層將封包寫入寫緩衝區;資料寫入模組,用於取得網卡的BAR位址,並根據此BAR位址將寫緩衝區中封包寫入網卡緩存;接收記錄模組,用於在物理層網卡的驅動程式投遞寫緩衝區中封包之後,接收封包的投遞結果,並根據投遞結果計算丟包率;修改模組,用於根據丟包率修改配置檔案中的MTU值。
相較於習知技術,本發明所述之網卡性能測試方法及系統,可以實現分割後檔案的直接傳送,無需進一步進行IP分片,從而能夠實現網卡性能的高效測試。
1‧‧‧電腦
10‧‧‧網卡性能測試系統
11‧‧‧網卡
12‧‧‧資料庫
100‧‧‧分割傳輸模組
101‧‧‧構造模組
102‧‧‧資料寫入模組
103‧‧‧接收記錄模組
104‧‧‧修改模組
S100‧‧‧在應用層參考MTU值分割文件,將分割後得到的封包逐一傳輸至資料連結層
S101‧‧‧在資料連結層將封包構造成write_buffer
S102‧‧‧取得網卡的BAR位址,並根據此BAR位址將write_buffer中封包寫入網卡緩存
S103‧‧‧接收封包的投遞結果,並根據投遞結果計算丟包率
S104‧‧‧根據丟包率修改MTU配置檔案中MTU值
圖1係為本發明網卡性能測試系統較佳實施例之架構圖。
圖2係為本發明網卡性能測試系統較佳實施例之功能模組圖。
圖3係為本發明網卡性能測試方法較佳實施例之流程圖。
圖4係為本發明中分割後得到的封包由應用層傳輸至資料連結層之示例圖。
如圖1所示,係為本發明網卡性能測試系統較佳實施例之架構圖。
網卡性能測試系統10運行於電腦1中,該電腦1中還包括網卡11及資料庫12。資料庫12用於記錄封包的投遞結果。
如圖2所示,係為本發明網卡性能測試系統較佳實施例之功能模組圖。
所述網卡性能測試系統10包括分割傳輸模組100、構造模組101、資料寫入模組102、接收記錄模組103、修改模組104。
所述分割傳輸模組100用於在應用層參考MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層。
所述分割傳輸模組100是將MTU值減去40位元組作為分割檔案的劃分依據,所述MTU值存儲於電腦系統的配置檔案中。
分割後得到的封包由應用層傳輸至資料連結層之示例圖如圖4所示。
所述分割傳輸模組100在應用層將檔案進行分割,分割為若干個用戶資料,並將分割得到的用戶資料逐一往下傳輸。每個用戶資料在傳輸時會在應用層加上Appl首部傳輸至傳輸層,Appl首部與用戶資料構成應用資料。每個應用資料在傳輸層加上TCP首部傳輸至網路層,TCP首部與應用資料在網路層加上IP首部傳輸至資料連結層。所述分割後得到的封包為應用資料,即分割後得到的封包是由Appl首部與用戶資料構成。
所述構造模組101用於在資料連結層將封包構造成write_buffer 。所述write_buffer稱為寫緩衝區。
所述write_buffer為電腦1的一段記憶體,所述將封包構造成write_buffer,即將應用資料寫入電腦1的記憶體。
所述資料寫入模組102用於取得網卡11的BAR位址,並根據此BAR位址將write_buffer中封包寫入網卡11緩存。
BAR,全稱為base address registers,是電腦1的作業系統對週邊硬體設備訪問的一種定址方式,也就是通常說的基底位址。當所述資料寫入模組102將write_buffer中應用資料寫入網卡11緩存後,在物理層網卡11的驅動程式將投遞封包。
所述接收記錄模組103用於接收封包的投遞結果,並記錄投遞結果至資料庫12中。
所述接收記錄模組103接收封包的投遞結果,投遞結果為成功或失敗。所述投遞結果記錄於資料庫12的一個表中。表如下所示:
上表中包括四欄:時間間隔、成功次數、失敗次數及丟包率。其中,時間間隔中的0為封包開始投遞的時間,時間間隔0~1表示封包開始投遞的一分鐘內,此時間間隔可根據用戶需要進行設置; 成功次數為封包投遞成功次數的累加結果,失敗次數為封包投遞失敗次數的累加結果,當封包投遞結果為成功時,在相應時間間隔內的成功次數加1,當封包投遞結果為失敗時,在相應時間間隔內的失敗次數加1;丟包率為根據投遞結果進行計算得出,丟包率是失敗次數除以總次數的結果,總次數為成功次數與失敗次數的總和。
所述修改模組104用於根據丟包率修改配置檔案中的MTU值。
當丟包率不大於5%時,修改配置檔案中的MTU值為原來的3/2;當丟包率大於5%並且小於20%時,配置檔案中的MTU值不變;當丟包率不小於20%時,修改配置檔案中的MTU值為原來的3/4。
如圖3所示,係為本發明網卡性能測試方法較佳實施例之流程圖。
步驟S100,所述分割傳輸模組100在應用層參考MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層。
所述分割傳輸模組100分割檔案是將MTU值減去40位元組作為檔案的劃分依據。
所述分割傳輸模組100在應用層將檔案進行分割,分割為若干個用戶資料,並將分割得到的用戶資料逐一往下傳輸。用戶資料在應用層加上Appl首部傳輸至傳輸層,Appl首部與用戶資料構成應用資料。所述分割後得到的封包為應用資料,即分割後得到的封包是由Appl首部與用戶資料構成。應用資料在傳輸層加上TCP首部傳輸至網路層,TCP首部與應用資料在網路層加上IP首部傳輸至資料連結層。
步驟S101,所述構造模組101在資料連結層將封包構造成write_buffer。
所述write_buffer為電腦1的一段記憶體,所述將封包構造成write_buffer,即將應用資料寫入電腦1的記憶體。
步驟S102,所述資料寫入模組102取得網卡11的BAR位址,並根據此BAR位址將write_buffer中封包寫入網卡11緩存。
當所述資料寫入模組102將write_buffer中應用資料寫入網卡11緩存後,在物理層網卡11的驅動程式投遞封包。
步驟S103,在物理層網卡的驅動程式投遞寫緩衝區中封包之後,所述接收記錄模組103接收封包的投遞結果,並根據投遞結果計算丟包率。
所述接收記錄模組103將投遞結果記錄於資料庫12的一個表中。所述表中包括四欄:時間間隔、成功次數、失敗次數及丟包率。當封包投遞結果為成功時,在相應時間間隔內的成功次數加1,當封包投遞結果為失敗時,在相應時間間隔內的失敗次數加1;丟包率為根據投遞結果進行計算得出。
步驟S104,所述修改模組104根據丟包率修改配置檔案中的MTU值。
當丟包率不大於5%時,修改配置檔案中的MTU值為原來的3/2;當丟包率大於5%並且小於20%時,配置檔案中的MTU值不變;當丟包率不小於20%時,修改配置檔案中的MTU值為原來的3/4。
相較於習知技術,通過上述步驟,可以實現分割後檔案的直接傳 送,無需進一步進行IP分片,從而能夠實現網卡性能的高效測試。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅為本發明之較佳實施例,本發明之範圍並不以上述實施例為限,舉凡熟悉本案技藝之人士援依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。
S100‧‧‧在應用層參考MTU值分割檔案,將分割後得到的封包逐一傳輸至資料連結層
S101‧‧‧在資料連結層將封包構造成write_buffer
S102‧‧‧取得網卡的BAR位址,並根據此BAR位址將write_buffer中封包寫入網卡緩存
S103‧‧‧接收封包的投遞結果,並根據投遞結果計算丟包率
S104‧‧‧根據丟包率修改MTU配置檔案中MTU值

Claims (10)

  1. 一種網卡性能測試方法,其中,該方法包括步驟:分割傳輸步驟:在應用層參考最大傳輸單元MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層;構造步驟:在資料連結層將封包寫入寫緩衝區;資料寫入步驟:取得網卡的BAR位址,並根據此BAR位址將寫緩衝區中封包寫入網卡緩存;接收記錄步驟:在物理層網卡的驅動程式投遞寫緩衝區中封包之後,接收封包的投遞結果,並根據投遞結果計算丟包率;修改步驟:根據丟包率修改配置檔案中的MTU值。
  2. 如申請專利範圍第1項所述之網卡性能測試方法,其中,所述分割傳輸步驟中,以MTU值減去40位元組作為分割檔案的劃分依據。
  3. 如申請專利範圍第1項所述之網卡性能測試方法,其中,所述分割傳輸步驟包括:將所述檔案分割為多個用戶資料;將每個用戶資料加上Appl首部後傳輸至傳輸層,Appl首部與用戶資料構成應用資料,所述分割後得到的封包由Appl首部與用戶資料構成;在傳輸層,將該應用資料加上TCP首部後傳輸至網路層;在網路層,將TCP首部與應用資料加上IP首部後傳輸至資料連結層。
  4. 如申請專利範圍第1項所述之網卡性能測試方法,其中,所述接收記錄步驟包括:於資料庫中創建一個表,該表包括時間間隔、成功次數、失敗次數、丟包率四個欄位; 當封包投遞結果為成功時,在相應時間間隔內的成功次數加1;當封包投遞結果為失敗時,在相應時間間隔內的失敗次數加1;根據投遞結果計算丟包率。
  5. 如申請專利範圍第1項所述之網卡性能測試方法,其中,所述修改步驟包括當丟包率不大於5%時,修改配置檔案中的MTU值為原來的3/2;當丟包率大於5%並且小於20%時,配置檔案中的MTU值不變;當丟包率不小於20%時,修改配置檔案中的MTU值為原來的3/4。
  6. 一種網卡性能測試系統,其中,該系統包括:分割傳輸模組,用於在應用層參考最大傳輸單元MTU值分割檔案,並將分割後得到的封包逐一傳輸至資料連結層;構造模組,用於在資料連結層將封包寫入寫緩衝區;資料寫入模組,用於取得網卡的BAR位址,並根據此BAR位址將寫緩衝區中封包寫入網卡緩存;接收記錄模組,用於在物理層網卡的驅動程式投遞寫緩衝區中封包之後,接收封包的投遞結果,並根據投遞結果計算丟包率;修改模組,用於根據丟包率修改配置檔案中的MTU值。
  7. 如申請專利範圍第6項所述之網卡性能測試系統,其中,所述分割傳輸模組是以MTU值減去40位元組作為分割檔案的劃分依據。
  8. 如申請專利範圍第6項所述之網卡性能測試系統,其中,所述分割傳輸模組通過下述步驟進行檔案的分割傳輸:將所述檔案分割為多個用戶資料;將每個用戶資料加上Appl首部後傳輸至傳輸層,Appl首部與用戶資料構成應用資料,所述分割後得到的封包由Appl首部與用戶資料構成;在傳輸層,將該應用資料加上TCP首部後傳輸至網路層; 在網路層,將該TCP首部與應用資料加上IP首部後傳輸至資料連結層。
  9. 如申請專利範圍第6項所述之網卡性能測試系統,其中,接收記錄模組通過下述步驟完成投遞結果的記錄:於資料庫中創建一個表,該表包括時間間隔、成功次數、失敗次數、丟包率四個欄位;當封包投遞結果為成功時,在相應時間間隔內的成功次數加1;當封包投遞結果為失敗時,在相應時間間隔內的失敗次數加1;根據投遞結果計算丟包率。
  10. 如申請專利範圍第6項所述之網卡性能測試系統,其中,所述修改模組通過下述步驟完成MTU值的修改:當丟包率不大於5%時,修改配置檔案中的MTU值為原來的3/2;當丟包率大於5%並且小於20%時,配置檔案中的MTU值不變;當丟包率不小於20%時,修改配置檔案中的MTU值為原來的3/4。
TW100126162A 2011-07-18 2011-07-25 網卡性能測試方法及系統 TWI479845B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102003091A CN102891772A (zh) 2011-07-18 2011-07-18 网卡性能测试方法及系统

Publications (2)

Publication Number Publication Date
TW201306522A TW201306522A (zh) 2013-02-01
TWI479845B true TWI479845B (zh) 2015-04-01

Family

ID=47535147

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100126162A TWI479845B (zh) 2011-07-18 2011-07-25 網卡性能測試方法及系統

Country Status (2)

Country Link
CN (1) CN102891772A (zh)
TW (1) TWI479845B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI583212B (zh) * 2015-06-29 2017-05-11 Zhi-An Huang Mobile communication available bandwidth measurement method
CN111327645B (zh) * 2018-11-28 2023-11-21 鸿合科技股份有限公司 一种共享网络方法及装置、电子设备
CN109510740A (zh) * 2019-01-02 2019-03-22 郑州云海信息技术有限公司 一种自动监控网卡mtu值的方法、装置、终端及存储介质
CN111147330A (zh) * 2019-12-28 2020-05-12 国铁吉讯科技有限公司 络质量评估方法、装置、存储介质和处理器
CN113973070B (zh) * 2020-07-22 2023-07-21 中国移动通信有限公司研究院 一种信息获取方法、装置及测试设备
CN112118594A (zh) * 2020-08-07 2020-12-22 深圳市圣麾科技有限公司 数据上传方法、下载方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200807954A (en) * 2006-07-21 2008-02-01 Inventec Corp A method for testing network interface card (NIC)
TW200840266A (en) * 2007-01-30 2008-10-01 Ibm Network interface card transmission control protocol acceleration offload failure detection and recovery mechanism
TW201117580A (en) * 2009-11-13 2011-05-16 Inventec Corp A pressure test method for network interface card

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962623B2 (en) * 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
CN101677292B (zh) * 2008-09-16 2013-05-08 中兴通讯股份有限公司 一种流控传输协议中数据分片的方法
CN101741819A (zh) * 2008-11-21 2010-06-16 上海电机学院 一种协议转换网关

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200807954A (en) * 2006-07-21 2008-02-01 Inventec Corp A method for testing network interface card (NIC)
TW200840266A (en) * 2007-01-30 2008-10-01 Ibm Network interface card transmission control protocol acceleration offload failure detection and recovery mechanism
TW201117580A (en) * 2009-11-13 2011-05-16 Inventec Corp A pressure test method for network interface card

Also Published As

Publication number Publication date
TW201306522A (zh) 2013-02-01
CN102891772A (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
TWI479845B (zh) 網卡性能測試方法及系統
TWI571087B (zh) 用於在乙太型網路上對記憶體及輸入/輸出進行遠端存取之非揮發性記憶體快速控制器
US7561573B2 (en) Network adaptor, communication system and communication method
US10057192B2 (en) Information processing system, control device and control method
US9703796B2 (en) Shared dictionary between devices
US10491672B2 (en) Data transfer device, data receiving system and data receiving method
CN108701004A (zh) 一种数据处理的系统、方法及对应装置
US10715499B2 (en) System and method for accessing and managing key-value data over networks
US9307011B2 (en) Synchronous mirroring of NVLog to multiple destinations (architecture level)
US8516189B2 (en) Software technique for improving disk write performance on raid system where write sizes are not an integral multiple of number of data disks
JP5039292B2 (ja) ネットワークアダプタ、通信システムおよび通信方法
US7370082B2 (en) Remote invalidation of pre-shared RDMA key
CN105051708B (zh) 用于包含存储器节点的分布式存储器系统的设备及方法
JP2015156071A (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
CN105491169A (zh) 一种数据代理方法与系统
US20190114076A1 (en) Method and Apparatus for Storing Data in Distributed Block Storage System, and Computer Readable Storage Medium
JP4649315B2 (ja) 通信装置及び通信方法
CN105933325A (zh) 一种基于NFSoRDMA的内核态RPC通信加速方法
JP2013218505A (ja) クライアントとサーバ間の通信を中継する通信装置及び通信システム
CN102546429A (zh) 基于dhcp监听的isatap隧道的认证方法和系统
CN104038550B (zh) 数据通信方法及其装置、存储系统
JP2008148133A (ja) 通信装置、その制御方法及びプログラム
WO2016065871A1 (zh) 一种通过fc链路传输、接收nas数据的方法及装置
JP2018504689A5 (zh)
CN104539652B (zh) 一种嵌入式设备快速映射udp数据到tcp应用服务的方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees