隨著目前數(shù)據(jù)中心、云技術(shù)的發(fā)展,各種數(shù)據(jù)中心網(wǎng)絡(luò)新技術(shù)層出不窮,給數(shù)據(jù)中心帶來了新的變革,極大地提升了數(shù)據(jù)中心的網(wǎng)絡(luò)處理性能。仔細(xì)觀察不難發(fā)現(xiàn),這些新的網(wǎng)絡(luò)技術(shù)更多的是一種疊加技術(shù),也就是在原有標(biāo)準(zhǔn)IPv4協(xié)議的基礎(chǔ)上,再增加一些報(bào)文頭或者字段,這些新增的報(bào)文部分為網(wǎng)絡(luò)協(xié)議帶來了更加豐富的含義。比如:隧道技術(shù)、VXLAN技術(shù)、虛擬化技術(shù)、802.1BR技術(shù)等等,這些網(wǎng)絡(luò)技術(shù)無一例外的都要在原有標(biāo)準(zhǔn)IPv4協(xié)議報(bào)文的基礎(chǔ)上再增加一些新的報(bào)文字段,這樣組合的報(bào)文將比原來的更長(zhǎng),有些報(bào)文的長(zhǎng)度超過了網(wǎng)絡(luò)MTU數(shù)值,對(duì)網(wǎng)絡(luò)設(shè)備的MTU和最大可接受數(shù)據(jù)幀都提出了新的要求。此時(shí)MTU方面會(huì)帶來一系列的網(wǎng)絡(luò)問題。本文就來說一說新的數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)中遇到的MTU難題。
MTU(Maximum Transmission Unit)最大傳輸單元,是指一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)包大小。這個(gè)參數(shù)通常與通信接口有關(guān)。MTU越大,則一個(gè)協(xié)議數(shù)據(jù)單元的承載的有效數(shù)據(jù)就越長(zhǎng),通信效率也越高。MTU越大,傳送相同的用戶數(shù)據(jù)所需的數(shù)據(jù)包個(gè)數(shù)也越低。但也不是MTU越大越好,因?yàn)镸TU越大,傳送一個(gè)數(shù)據(jù)包的延遲也越大;并且MTU越大,數(shù)據(jù)包中bit位發(fā)生錯(cuò)誤的概率也越大。MTU越大,通信效率越高而傳輸延遲增大,所以要權(quán)衡通信效率和傳輸延遲選擇合適的MTU。
首先,不同設(shè)備處理報(bào)文的長(zhǎng)度能力是不同的,每個(gè)設(shè)備的MTU就是其能處理最大長(zhǎng)度的報(bào)文,如果收到了超過其MTU的報(bào)文,那么要么進(jìn)行分片轉(zhuǎn)發(fā),要么進(jìn)行丟棄。在一個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)部和外部,數(shù)據(jù)從源訪問目的地址要經(jīng)過很多跳設(shè)備。每個(gè)設(shè)備的MTU能力不同,在進(jìn)行網(wǎng)絡(luò)傳輸時(shí)候,數(shù)據(jù)報(bào)文必須要小于任何中間網(wǎng)絡(luò)設(shè)備的MTU數(shù)值,否則報(bào)文會(huì)發(fā)生丟棄。在新的數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)部署時(shí),經(jīng)常會(huì)遇到互通問題,一般都是因?yàn)樾戮W(wǎng)絡(luò)協(xié)議封裝需要更多的字節(jié),報(bào)文更長(zhǎng),大于了其轉(zhuǎn)發(fā)經(jīng)過設(shè)備的MTU。有些設(shè)備可以調(diào)整MTU,將MTU放大,如果是一些老型號(hào)設(shè)備,本身可支持的MTU就比較小,這時(shí)就會(huì)導(dǎo)致流量不同。此時(shí),將給新的網(wǎng)絡(luò)業(yè)務(wù)部署帶來很大難度,尤其是很多設(shè)備在數(shù)據(jù)中心之外,屬于廣域網(wǎng)設(shè)備,無法進(jìn)行調(diào)整,或者是負(fù)責(zé)廣域網(wǎng)設(shè)備的運(yùn)營(yíng)商根本不會(huì)為某個(gè)數(shù)據(jù)中心去調(diào)整其工作的MTU數(shù)值,新的數(shù)據(jù)中心網(wǎng)絡(luò)業(yè)務(wù)無法部署下去。
其次,數(shù)據(jù)中心里很多網(wǎng)絡(luò)設(shè)備和服務(wù)器支持分片,就是當(dāng)報(bào)文長(zhǎng)度超過了設(shè)備的MTU時(shí),直接可以對(duì)數(shù)據(jù)報(bào)文進(jìn)行分片,然后將報(bào)文小于MTU的長(zhǎng)度發(fā)送出去,這樣可以將MTU設(shè)置的小一些,確保新的網(wǎng)絡(luò)協(xié)議報(bào)文可以在沿路設(shè)備上通過。不過,這樣做也有很大的缺點(diǎn)。在網(wǎng)絡(luò)通訊中,需要盡量避免發(fā)生分片和重組,因?yàn)榉制亟M對(duì)網(wǎng)絡(luò)性能影響較大,原來一個(gè)報(bào)文可以轉(zhuǎn)發(fā)出去,現(xiàn)在需要至少兩個(gè)報(bào)文,要增加相同報(bào)文頭,還有數(shù)據(jù)幀間隙字節(jié),這些都大大增加了網(wǎng)絡(luò)開銷。網(wǎng)絡(luò)中應(yīng)該盡量避免頻繁出現(xiàn)這樣的情況。數(shù)據(jù)包發(fā)送時(shí)選擇合適的MTU大小對(duì)提高網(wǎng)絡(luò)性能很有必要。新一代數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)增加了數(shù)據(jù)報(bào)文分片的可能性,這在一定程度上降低了網(wǎng)絡(luò)性能。為了保證網(wǎng)絡(luò)性能,在新的數(shù)據(jù)中心網(wǎng)絡(luò)部署時(shí),增加端口速率,將千兆互聯(lián)改為萬兆互聯(lián),將萬兆提升到40G或100G,通過增加網(wǎng)絡(luò)鏈路帶寬,消除分片帶來的影響。當(dāng)然如果整個(gè)網(wǎng)絡(luò)的設(shè)備MTU數(shù)值都很大,就盡量將MTU設(shè)置大,減少分片情況出現(xiàn)。
第三,網(wǎng)絡(luò)傳輸中的MTU是可以協(xié)商的,通過全路徑的MTU發(fā)現(xiàn)機(jī)制,找到整條路徑的最小MTU(也就是路徑MTU),然后報(bào)文發(fā)送長(zhǎng)度小于等于路徑MTU,這就避免了數(shù)據(jù)傳輸過程中產(chǎn)生分片,從而提高數(shù)據(jù)轉(zhuǎn)發(fā)性能。這個(gè)要求全路徑上的設(shè)備都支持MTU協(xié)商,只要有一臺(tái)不支持,也無法協(xié)商到最小MTU。還有MTU的協(xié)議發(fā)現(xiàn)機(jī)制還存在安全等方面的原因,經(jīng)常并不能生效,這時(shí)候就需要根據(jù)網(wǎng)絡(luò)的特性選擇合理的MTU。如果在報(bào)文傳送過程中分片是不可避免的,那么要想辦法讓重組盡量在終端進(jìn)行,避免在轉(zhuǎn)發(fā)路徑中進(jìn)行。還有很多網(wǎng)絡(luò)設(shè)備,比如交換機(jī),這些網(wǎng)絡(luò)設(shè)備是通過硬件芯片轉(zhuǎn)發(fā)的,并不支持硬件分片,只支持軟件分片,即上交換機(jī)CPU的報(bào)文才能分片,這也給新的網(wǎng)絡(luò)協(xié)議部署帶來很大難題。交換機(jī)是數(shù)據(jù)中心網(wǎng)絡(luò)里必不可少的設(shè)備,其不支持分片,那么經(jīng)過其的所有流量都不能分片,必須要依靠服務(wù)器或者路由器設(shè)備進(jìn)行分片,交換機(jī)默認(rèn)允許特別長(zhǎng)的報(bào)文通過,遠(yuǎn)大于一般設(shè)備的MTU,只是不能分片,這個(gè)限制也影響了很多新的網(wǎng)絡(luò)協(xié)議部署。
小小的MTU給新的數(shù)據(jù)中心網(wǎng)絡(luò)協(xié)議部署帶來了極大難題,有時(shí)甚至找不到任何規(guī)避解決辦法,除了換更高端的設(shè)備,很多時(shí)候因?yàn)镸TU導(dǎo)致新的數(shù)據(jù)中心網(wǎng)絡(luò)項(xiàng)目擱淺。在新的數(shù)據(jù)中心網(wǎng)絡(luò)建設(shè)大潮來臨之際,應(yīng)該確定MTU的配置規(guī)范,在各個(gè)廠商都支持的情況下,盡量將MTU配置的大一些。為保證骨干網(wǎng)絡(luò)、城域網(wǎng)絡(luò)、接入網(wǎng)絡(luò)的完美工作,MTU的數(shù)值一定要遠(yuǎn)大于以太網(wǎng)標(biāo)準(zhǔn)的基本要求,1500bytes。這個(gè)數(shù)值在新的網(wǎng)絡(luò)協(xié)議中已經(jīng)顯得過小,很多封裝網(wǎng)絡(luò)協(xié)議都大大超過了1500bytes。根據(jù)了解,大部分的網(wǎng)絡(luò)設(shè)備可以支持配置到1600bytes,這樣可以保證大部分的封裝報(bào)文通過。MTU問題是在新的數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)發(fā)展過程中遇到的難題,很多人已經(jīng)開始意識(shí)到了MTU問題的嚴(yán)重性。MTU問題需要運(yùn)營(yíng)商、數(shù)據(jù)中心、企業(yè)多方面的重視,并形成統(tǒng)一的使用標(biāo)準(zhǔn),才能徹底解決MTU的問題。