城域網(wǎng)IPv6過渡MAP技術(shù)(4)
城域網(wǎng)IPv6過渡MAP技術(shù)
第二條是FMR,是可選項,用于在mesh網(wǎng)絡(luò)中實現(xiàn)MAP-CE間的互訪流量直接通信,不需要通過MAP-BR中轉(zhuǎn)。這就是說在MAP-CE訪問其他MAP-CE時,目的IPv6地址應(yīng)該是對端MAP-CE的地址。報文的源IPv6地址是BMR生成的,則目的MAP-CE的IPv6地址就成了FMR的轉(zhuǎn)換目標(biāo)。前面也提到每個MAP-CE的BMR是相同的(在一定范圍),因此FMR和BMR也是可以相同的,即可以將BMR通過配置作為FMR。
舉例如下,在MAP-Domain域中配置BMR=FMR,當(dāng)MAP-CE2用戶的IPv4業(yè)務(wù)訪問MAP-CE1用戶的IPv4業(yè)務(wù)時,在MAP-CE2上通過NAT44和BMR生成源IPv6地址,同時通過FMR生成目的MAP-CE1的IPv6地址。
前面兩個規(guī)則對于MAP-E和MAP-T均適用,在第三條規(guī)則上,MAP-E和MAP-T是不同的。
在MAP-T中定了“DMR",代表報文的目的IPv4地址為MAP Domain域外的地址,通過BR進(jìn)行轉(zhuǎn)發(fā)到域外。DMR含有兩個參數(shù)Rule-IPv6-prefix和Rule-IPv4-prefix。Rule-IPv6-prefix的值是MAP BR的IPv6前綴,Rule-IPv4-prefix值是0.0.0.0/0,即在MAP-CE上匹配IPv4路由時作為默認(rèn)路由適用的映射規(guī)則。在使用這條規(guī)則后,目的IPv6地址將通過DMR配置的Rule-IPv6-prefix+目的IPv4地址組成目的IPv6地址。
在MAP-E中,第三條規(guī)則為Destinations outside the MAP domain,更加明確的表征了規(guī)則的意義。由于MAP-E中是IPv6報頭嵌套IPv4地址,因此對于報文中目的IPv4地址是MAP域外的地址,只需要再封裝一層BR的IPv6地址即可,到達(dá)BR是直接剝掉IPv6報頭就可以還原目的IPv4地址。因此在MAP-E中Destinations outside the MAP domain就是配置MAP-BR的IPv6地址。
前面談了這些規(guī)則和屬性,那這些是通過何種協(xié)議進(jìn)行配置呢?最容易想到的就是DHCPv6屬性,但是目前的DHCPv6屬性除了配置MAP域所需的End-user-IPv6-prefix之外,其他屬性還沒有定義,因此就有了draft-ietf-softwire-map-dhcp文檔,就是針對MAP-E、MAP-T以及l(fā)ightweight 4over6(三種協(xié)議的特點(diǎn)就是均采用A+P理念)所需的屬性對DHCPv6進(jìn)行了擴(kuò)展。
在draft-ietf-softwire-map-dhcp中定義了五個DHCPv6 Option,它們分別是OPTION_S46_RULE,OPTION_S46_BR,OPTION_S46_PORTPARAMS,OPTION_S46_DMR,OPTION_S46_IPV4ADDRESS。另外定了針對MAP-E、MAP-T和LW46三個協(xié)議的三個Container,包含的DHCPv6 Option的關(guān)系如下。
對于每個具體的Option的內(nèi)容,我就不一一進(jìn)行介紹了,draft-ietf-softwire-map-dhcp都有明確定義,并且在成為RFC之前都是有可能被討論和更新的。
MAP-BR的Pool是如何實現(xiàn)?可靠性如何提升?”
在MAP域中通過將多個MAP-BR放在同一個Pool內(nèi)實現(xiàn)負(fù)載分擔(dān)和保護(hù)倒換的。同一個Pool中的每個MAP-BR配置相同的Anycast IPv6 address和不同的IPv6 address。MAP-CE配置的BR地址是選用的Anycast IPv6 address。
Anycast IPv6 address是IPv6地址族里面一個特殊的地址類型,它是一組接口的標(biāo)識符,送往一個任播播地址的包被傳送至該地址標(biāo)識的接口之一(“路由最近”)。Anycast IPv6 address的這種特點(diǎn)可以實現(xiàn)負(fù)載分擔(dān)或者冗余備份機(jī)制。Anycast地址只能作為目的地址,不能用作源地址,因此需要為BR另外配置一個IPv6地址。
因為MAP屬于無狀態(tài)技術(shù),因此對于流量上下行路徑不對稱的情況仍能正常轉(zhuǎn)發(fā),例如上行CE3到BR-1,下行為BR2-CE3,由于BR-1和BR-2的MAP Rule相同,因此數(shù)據(jù)正常映射和轉(zhuǎn)發(fā);MAP-BR無映射session維護(hù),因此也無熱備技術(shù)需求。通過Anycast方式配置BR地址,CE通過路由選擇最近的BR進(jìn)行轉(zhuǎn)發(fā),實現(xiàn)BR流量的負(fù)載分擔(dān)和提高BR可靠性。
MAP場景下業(yè)務(wù)流量的報文格式是什么樣的
在MAP域中,網(wǎng)絡(luò)部署IPv6單棧協(xié)議。對于IPv6終端的業(yè)務(wù)流量是采用Native IPv6進(jìn)行承載。對于IPv4終端的業(yè)務(wù)流量,需要在MAP-CE和MAP-BR之間(或者M(jìn)AP-CE和MAP-CE之間)建立IPv6通道,根據(jù)對IPv4報文的封裝方式不同,可以分為MAP-E和MAP-T兩種方式。
MAP-E:封裝方式,即將IPv4報文再封裝一層IPv6報頭,外層為IPv6報頭,內(nèi)層是IPv4報頭。
MAP-T: 翻譯方式,即將IPv4報頭翻譯成IPv6報頭,只有一層IPv6報頭。
通過個人理解,將MAP-E的數(shù)據(jù)處理流程做了一個簡單的示意,如下所示。
同理,個人理解,MAP-T的數(shù)據(jù)處理流程如下圖所示。
談到這里,肯定有人會問:MAP-E和MAP-T哪個更好呢?
其實每個技術(shù)都有其特點(diǎn),對于MAP-E而言增加了一層IPv6報頭,增加了報文長度,有可能會引起MTU問題,但是這種封裝方式對IPv4的信息是完全保存下來,不破壞IPv4報文的其他屬性,即不存在IPv4報文信息的丟失。對于MAP-T而言通過IPv6報頭代替IPv4報頭,單層報頭的報文承載效率高,但是會造成IPv4報頭信息的丟失(感覺關(guān)鍵信息已經(jīng)映射了,只有部分信息有所丟失而已)。
就我個人感覺而言,隧道方式(MAP-E)要優(yōu)于翻譯方式(MAP-T),因此翻譯方式針對是報頭的翻譯,需要設(shè)備處理更多的映射關(guān)系,不僅僅是地址映射,并且經(jīng)過兩級翻譯后的報文有可能跟起初的報文信息是不一致的。而隧道方式可以很大程度上保存IPv4報頭的完整性,只需要在部署時檢測鏈路的MTU即可。