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