肖蕾蕾,史二娜
(西安交通工程學院 電氣工程學院,陜西 西安 710300)
目前USB數(shù)據(jù)卡使用用戶越來越多,所以需要終端的用戶知道當前運營商網(wǎng)關的MTU值,對于一般用戶而言,無法確認當前網(wǎng)絡的網(wǎng)關MTU值,從而不清楚需要設置多少才可以達到理想的效果。本文為用戶提供一種通過USB設備自動配置當前接入的PC MTU值的方法及實現(xiàn),該方法不需用戶手動設置MTU值,將USB設備接入到PC,通過USB設備來修改PC的MTU值,從而達到在特定網(wǎng)絡接入時數(shù)據(jù)吞吐率的最優(yōu)效果。
MTU即Maximum Transmission Union[1](最大傳輸單元),此值設定TCP/IP協(xié)議傳輸數(shù)據(jù)包時的最大傳輸單元,設置合適的MTU值可以解決“部分網(wǎng)站打不開”、“上網(wǎng)速度慢”等問題,并且可以適當提升上網(wǎng)速度。
用戶電腦通過USB數(shù)據(jù)卡聯(lián)網(wǎng)時,需要先安裝該USB數(shù)據(jù)卡的驅(qū)動,當數(shù)據(jù)卡連接到PC并枚舉網(wǎng)卡設備時,PC會通過該驅(qū)動與數(shù)據(jù)卡交互,并將獲取到數(shù)據(jù)卡中預先設置的MTU值寫入到PC的注冊表中,從而達到無需用戶手動配置MTU的效果。
本方法系統(tǒng)的組成如下圖1,包括PC側(cè)MTU自動配置模塊、PC側(cè)MTU請求模塊[3]、數(shù)據(jù)卡側(cè)MTU響應模塊、數(shù)據(jù)卡側(cè)網(wǎng)卡驅(qū)動模塊。
1) USB設備側(cè)MTU配置模塊,用于在USB設備出廠前預先配置一個針對特定運營商的最優(yōu)MTU值,或者在需要修改該MTU值的時候可以再次修改。
圖1 系統(tǒng)組成
2) USB設備側(cè)MTU響應模塊,用于響應來自主機上的廠商驅(qū)動下發(fā)的獲取MTU值的請求消息。
3) PC側(cè)MTU請求/響應模塊[4],用于在USB設備枚舉的過程中,向USB設備下發(fā)獲取MTU值的請求消息,并且在收到USB設備側(cè)MTU響應模塊的響應消息后,對該消息進行解析處理。
4) PC側(cè)MTU自動配置模塊,用于將從USB設備獲取到的MTU值寫到用戶的注冊表中,從而在用戶撥號上網(wǎng)的時候,達到最優(yōu)的數(shù)據(jù)吞吐率。
具體如圖2所示。
該系統(tǒng)包括PC側(cè)軟件與USB數(shù)據(jù)卡側(cè)軟件兩部分,其中PC側(cè)軟件主要是USB數(shù)據(jù)卡設備的驅(qū)動實現(xiàn)[5]。USB數(shù)據(jù)卡側(cè)軟件則包括網(wǎng)卡驅(qū)動[6]、MTU消息響應。整個系統(tǒng)的軟件流程圖如圖3所示。
圖2 自動配置MTU值實施流程圖
圖3 軟件設計流程圖
本方法是一種由PC驅(qū)動和USB設備配合作用,通過USB設備自動配置MTU值的,無需用戶自己手動配置MTU值。當USB設備接入計算機后,PC驅(qū)動會自動從USB設備獲取到MTU值,并且自動將該值配置到用戶的注冊表中,從而提高了用戶體驗。