本公開涉及通信,尤其涉及一種輕量ipv4/ipv6翻譯方法及裝置。
背景技術(shù):
1、同一個服務(wù)商或運營商為多個用戶提供網(wǎng)絡(luò)服務(wù)時,由于不同用戶的地址有可能重疊,例如不同用戶都使用了10.0.0.0/8的地址段,需要對不同用戶在路由平面進行隔離,保證路由不會混淆和沖突。為解決上述問題,本領(lǐng)域內(nèi)的常見做法是使用vrf(virtualrouting?and?forwarding,虛擬路由轉(zhuǎn)發(fā))隔離不同用戶的路由和流量。例如,同一個運營商使用同一組pe設(shè)備為多個用戶提供服務(wù)時,在每臺pe設(shè)備上為每一個用戶分配一個單獨的vrf路由表,且不同的vrf路由表彼此隔離;不同的pe設(shè)備之間使用rd(routedistinguisher,路由區(qū)分符)和rt(route?target,路由目標(biāo))技術(shù),在路由控制平面對不同vrf中的路由打上不同的標(biāo)簽,然后進行帶標(biāo)簽路由的同步;在數(shù)據(jù)平面通過隧道技術(shù),如l3vpn或vxlan等將pe設(shè)備兩兩直連打通,可以保證不同用戶的路由和流量彼此不交叉不混淆。
2、在ipv4/ipv6大量共存的場景下,ipv4/ipv6翻譯被廣泛使用,國際標(biāo)準(zhǔn)rfc6052和rfc7915定義了ipv4/ipv6翻譯算法的基礎(chǔ)架構(gòu),其中rfc6052定義了ipv4/ipv6地址翻譯的規(guī)范,rfc7915定義了ipv4/ipv6協(xié)議翻譯的規(guī)范。而同一個服務(wù)商或運營商,為多個用戶提供ipv4/ipv6翻譯的服務(wù)時,也會遇到類似的問題:由于不同用戶的ipv4/ipv6地址有可能會重疊,也需要對不同用戶在ipv4/ipv6路由控制平面和ipv4/ipv6翻譯平面(數(shù)據(jù)平面)進行隔離,保證路由和業(yè)務(wù)流量不會混淆和沖突。例如,未來網(wǎng)絡(luò)試驗設(shè)施fiti通過在同一張ipv6物理骨干網(wǎng)絡(luò)中進行切片,提供不少于4096個核心網(wǎng)絡(luò)切片資源;針對每個切片內(nèi)的ipv4/ipv6翻譯互通需求,以及切片之間的ipv4/ipv6翻譯互通需求,需要在每個節(jié)點部署ipv4/ipv6翻譯設(shè)備來實現(xiàn)。通過這些ipv4/ipv6翻譯設(shè)備來實現(xiàn)不同用戶的路由和業(yè)務(wù)流量隔離時,會出現(xiàn)下述難題:
3、1、傳統(tǒng)的vrf技術(shù)只是解決ipv4路由隔離或ipv6路由隔離的問題,無法解決ipv4/ipv6翻譯功能的用戶隔離問題;
4、2、切片用戶數(shù)量很多,如果為每個切片用戶部署一臺ipv4/ipv6翻譯設(shè)備或部署一臺ipv4/ipv6虛機,對資源的消耗很大,帶來很高的網(wǎng)絡(luò)建設(shè)成本。
5、3、傳統(tǒng)的ipv4/ipv6翻譯方法,無法解決多用戶場景下的翻譯和路由隔離問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本技術(shù)提出一種輕量ipv4/ipv6翻譯方法及裝置,以解決上述問題。
2、本技術(shù)一方面,提出一種輕量ipv4/ipv6翻譯方法,包括如下步驟:
3、在ipv4/ipv6翻譯設(shè)備上的默認(rèn)vrf路由表中啟動一個ipv4/ipv6翻譯實例,并創(chuàng)建兩個虛擬端口;
4、在所述ipv4/ipv6翻譯設(shè)備上為每個用戶創(chuàng)建一個用戶vrf路由表;
5、根據(jù)用戶的翻譯需求配置相應(yīng)的翻譯規(guī)則;
6、將每個所述用戶vrf路由表和所述翻譯規(guī)則按照預(yù)設(shè)方式進行連接;
7、當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文;
8、采用對應(yīng)的所述虛擬端口接收翻譯后的所述ipv6報文或所述ipv4報文進行路由轉(zhuǎn)發(fā)。
9、作為本技術(shù)的一可選實施方案,可選地,所述將每個所述用戶vrf路由表和所述翻譯規(guī)則按照預(yù)設(shè)方式進行連接,包括:
10、在每個所述用戶vrf路由表中配置相應(yīng)的ipv4靜態(tài)路由和ipv6靜態(tài)路由,且所述ipv4靜態(tài)路由指向所述翻譯規(guī)則中的ipv4/ipv6翻譯規(guī)則,所述ipv6靜態(tài)路由指向所述翻譯規(guī)則中的ipv6/ipv4翻譯規(guī)則;
11、對每個所述用戶配置對應(yīng)的mark標(biāo)記規(guī)則;
12、在所述默認(rèn)vrf路由表中,對每個所述用戶配置一條ipv4策略路由和一條ipv6策略路由。
13、作為本技術(shù)的一可選實施方案,可選地,所述當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文,包括:
14、當(dāng)所述待翻譯ipv4報文進入所述ipv4/ipv6翻譯設(shè)備時,按照預(yù)先配置的mark標(biāo)記規(guī)則對所述待翻譯ipv4報文進行處理,存入預(yù)先分配好的mark值,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā);
15、根據(jù)所述待翻譯ipv4報文匹配到的所述ipv4靜態(tài)路由確定指向的所述ipv4/ipv6翻譯規(guī)則;
16、利用所述ipv4/ipv6翻譯規(guī)則對所述待翻譯ipv4報文進行翻譯后,得到對應(yīng)的ipv6報文。
17、作為本技術(shù)的一可選實施方案,可選地,所述當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文,還包括:
18、當(dāng)所述待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,按照預(yù)先配置的mark標(biāo)記規(guī)則對所述待翻譯ipv6報文進行處理,存入預(yù)先分配好的mark值,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā);
19、根據(jù)所述待翻譯ipv6報文匹配到的所述ipv6靜態(tài)路由確定指向的所述ipv6/ipv4翻譯規(guī)則;
20、利用所述ipv6/ipv4翻譯規(guī)則對所述待翻譯ipv6報文進行翻譯后,得到對應(yīng)的ipv4報文。
21、作為本技術(shù)的一可選實施方案,可選地,所述根據(jù)用戶的翻譯需求配置相應(yīng)的翻譯規(guī)則之前,還包括:
22、在所述ipv4/ipv6翻譯設(shè)備上為每個所述用戶創(chuàng)建一個vlan?id,并分別在ipv4物理端口創(chuàng)建第一vlan子接口,在ipv6物理端口創(chuàng)建第二vlan子接口;且所述vlan?id對應(yīng)的vlan為單層vlan或雙層vlan中的任意一種。
23、作為本技術(shù)的一可選實施方案,可選地,所述當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文,還包括:
24、識別所述待翻譯ipv4報文或所述待翻譯ipv6報文的vlan?id,并對應(yīng)匹配所述第一vlan子接口或所述第二vlan子接口。
25、作為本技術(shù)的一可選實施方案,可選地,所述采用對應(yīng)的所述虛擬端口接收翻譯后的所述ipv6報文或所述ipv4報文進行路由轉(zhuǎn)發(fā),還包括:
26、利用所述虛擬端口中的第一虛擬端口接收翻譯后的所述ipv4報文;
27、基于查詢到的所述ipv4策略路由匹配所述ipv4報文的mark值確定對應(yīng)的用戶,并在相應(yīng)用戶的所述用戶vrf路由表中進行ipv4路由轉(zhuǎn)發(fā)。
28、作為本技術(shù)的一可選實施方案,可選地,所述采用對應(yīng)的所述虛擬端口接收翻譯后的所述ipv6報文或所述ipv4報文進行路由轉(zhuǎn)發(fā),包括:
29、利用所述虛擬端口中的第二虛擬端口接收翻譯后的所述ipv6報文;
30、基于查詢到的所述ipv6策略路由匹配所述ipv6報文的mark值確定對應(yīng)的用戶,并在相應(yīng)用戶的所述用戶vrf路由表中進行ipv6路由轉(zhuǎn)發(fā)。
31、作為本技術(shù)的一可選實施方案,可選地,所述當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文之前,還包括:
32、獲取對端計算機映射后的ipv4地址或ipv6地址,并對應(yīng)發(fā)送所述待翻譯ipv4報文或所述待翻譯ipv6報文;
33、將所述待翻譯ipv4報文或所述待翻譯ipv6報文加上vlan標(biāo)簽。
34、本技術(shù)另一方面,提供一種裝置,用于實現(xiàn)上述任一項所述的輕量ipv4/ipv6翻譯方法,包括:
35、翻譯實例啟動模塊,被配置為在ipv4/ipv6翻譯設(shè)備上的默認(rèn)vrf路由表中啟動一個ipv4/ipv6翻譯實例,并創(chuàng)建兩個虛擬端口;
36、用戶vrf路由表創(chuàng)建模塊,被配置為在所述ipv4/ipv6翻譯設(shè)備上為每個用戶創(chuàng)建一個用戶vrf路由表;
37、翻譯規(guī)則配置模塊,被配置為根據(jù)用戶的翻譯需求配置相應(yīng)的翻譯規(guī)則;
38、翻譯規(guī)則對接模塊,被配置為將每個所述用戶vrf路由表和所述翻譯規(guī)則按照預(yù)設(shè)方式進行連接;
39、報文翻譯模塊,被配置為當(dāng)待翻譯ipv4報文或待翻譯ipv6報文進入所述ipv4/ipv6翻譯設(shè)備時,匹配預(yù)先配置的mark標(biāo)記規(guī)則,并在對應(yīng)的所述用戶vrf路由表中進行路由轉(zhuǎn)發(fā)后,采用相應(yīng)的所述翻譯規(guī)則翻譯為對應(yīng)的ipv6報文或ipv4報文;
40、路由轉(zhuǎn)發(fā)模塊,被配置為采用對應(yīng)的所述虛擬端口接收翻譯后的所述ipv6報文或所述ipv4報文進行路由轉(zhuǎn)發(fā)。
41、本發(fā)明的技術(shù)效果:
42、本技術(shù)的ipv4/ipv6翻譯設(shè)備中,在默認(rèn)vrf路由表中啟動一個ipv4/ipv6翻譯實例,并創(chuàng)建兩個虛擬端口,用于接收翻譯后的ipv6報文或ipv4報文進行路由轉(zhuǎn)發(fā)。并且ipv4/ipv6翻譯設(shè)備上還為每個用戶創(chuàng)建一個用戶路由表,以及根據(jù)翻譯需求配置相應(yīng)的翻譯規(guī)則。也即在本技術(shù)的ipv4/ipv6翻譯設(shè)備中,待翻譯ipv4報文或待翻譯ipv6報文自ipv4物理端口或ipv6物理端口進入ipv4/ipv6翻譯設(shè)備后,將該報文匹配預(yù)先配置好的mark標(biāo)記規(guī)則,即在操作系統(tǒng)的報文存儲數(shù)據(jù)結(jié)構(gòu)中存入本用戶對應(yīng)的mark值,并在對應(yīng)用戶的vrf路由表中進行路由轉(zhuǎn)發(fā)??梢栽谥慌渲靡粋€ipv4/ipv6翻譯實例的基礎(chǔ)上,實現(xiàn)對多切片/多用戶的路由和ipv4/ipv6翻譯隔離,解決了傳統(tǒng)vrf和傳統(tǒng)的ipv4/ipv6翻譯的局限性。
43、根據(jù)下面參考附圖對示例性實施例的詳細說明,本公開的其它特征及方面將變得清楚。