一種基于sdn的二層隧道建立方法和系統(tǒng)的制作方法
【技術領域】
[0001 ] 本發(fā)明實施例設及通信技術領域,尤其設及一種基于SDN(Software Defined 化twork,軟件定義網(wǎng)絡)的二層隧道建立方法和系統(tǒng)。
【背景技術】
[0002] 第二層隧道協(xié)議化2TP)是一個數(shù)據(jù)鏈路層協(xié)議,其報文分為數(shù)據(jù)消息和控制消息 兩類,其中數(shù)據(jù)消息作為L2TP報文的數(shù)據(jù)區(qū),L2TP不保證數(shù)據(jù)消息的可靠投遞,若數(shù)據(jù)報文 丟失,不予重傳,不支持對數(shù)據(jù)消息的流量控制和擁塞控制;控制消息用W建立、維護和終 止控制連接及會話,L2TP確保其可靠投遞,并支持對控制消息的流量控制和擁塞控制。
[0003] 如圖1所示,PPP帖和控制通道W及數(shù)據(jù)通道之間的關系為:由于L2TP不保證數(shù)據(jù) 消息的可靠投遞,因此PPP帖在不可靠的L2TP數(shù)據(jù)通道內(nèi)傳輸;由于L2TP確??刂葡⒖煽?投遞,因此控制消息在可靠的L2TP控制通道內(nèi)傳輸。
[0004] 傳統(tǒng)的L2TP協(xié)議中,L2TP隧道建立由L2TP控制報文交互完成的,因此隧道建立非 常復雜,其控制連接和會話連接的建立過程中設及的消息也非常眾多,例如包括:
[0005] 開始控制連接請求(5〔〔1?0,51曰1'1:-〔〇]1付〇1-〔〇]1]16(31:;[0]1-1?6911631:):用來向?qū)Χ苏?求建立控制連接;
[0006] 開始控制連接回復(5〔〔1??,51曰1'1:-〔〇]1化〇1-〔〇]1]16(31:;[0]1-1?6915〇:用來告訴對端, 本端收到了對端的ACCRQ消息,允許建立控制連接;
[0007] 開始控制連接連接SCCCN(SCCCN,Sl:a;rt-Con1:;ro 1-Connection-Connected):用來 告訴對端,本端收到了對端的SCCRP消息,本端已完成隧道的建立;
[000引 停止控制連接通知(StopCCN,Stop-Cont;ro;L-Connection-Notification):用來通 知對端拆除控制連接,本端已清除所有會話連接,將關閉隧道接口。StopCCN中攜帶了發(fā)送 端控制連接拆除原因;
[0009] 呼叫請求(ICRQ,Incoming-Call-Request):只有LAC才會發(fā)送;每當檢測到用戶的 呼叫請求,LAC就發(fā)送ICRQ消息給LNS,請求建立會話連接。ICRQ中攜帶會話參數(shù);
[0010] 呼叫回復(ICRP,Incoming-Cal 1-R邱ly):只有LNS才會發(fā)送;收到LAC的ICRQ,LNS 就使用ICRP回復,表示允許建立會話連接;
[0011] 呼叫連接(ICCN,Incoming-Cal 1-Connected):只有LAC才會發(fā)送;LAC收到LNS的 ICRP,就使用ICCN回復,表示LAC已回復用戶的呼叫,通知LNS建立會話連接;
[0012] 呼叫拆除(CDN,Ca 11-DiSconneCt-Notify):用來通知對端拆除會話連接,并告知 對端拆除的原因;
[0013] 化11〇:用來檢測隧道的連通性。
[0014] 由于在隧道建立的過程中,設及到如此眾多不同類型的消息往往會導致消息不同 步,從而影響隧道建立。
【發(fā)明內(nèi)容】
[0015] 本發(fā)明實施例提供一種基于SDN的二層隧道建立方法和系統(tǒng),能夠基于SDN網(wǎng)絡由 控制器集中計算自動建立隧道,無需交互L2TP的協(xié)議報文,避免了現(xiàn)有技術中不同類型的 協(xié)議消息不同步而影響隧道建立的缺點。
[0016] 本發(fā)明實施例提供一種基于SDN的二層隧道建立方法,包括:SDN控制器根據(jù)SDN交 換機通過私有二層報文上報的自己的MAC地址信息、端口信息和學習的MAC地址信息,計算 網(wǎng)絡拓撲;SDN控制器根據(jù)SDN交換機發(fā)送的未匹配流表中的網(wǎng)絡拓撲和MAC地址信息建立 隧道,根據(jù)隧道生成隧道信息,并向SDN交換機下發(fā)包含隧道信息的流表。
[0017]進一步地,所述私有二層報文為E邱erimenter報文;所述方法還包括:預先擴展 E邱erimenter報文,所述E邱erimenter報文至少包括表示SDN交換機的MAC地址的字段、表 示SDN交換機的交換端口的字段和表示所述交換端口下學習的MAC地址字段。
[0018]進一步地,所述SDN控制器根據(jù)SDN交換機通過私有二層報文上報的自己的MAC地 址信息、端口信息和學習的MAC地址信息,計算網(wǎng)絡拓撲,具體為:SDN控制器接收SDN交換機 發(fā)送的Experimenter報文,從所述Exper imenter報文中獲取SDN交換機的MAC地址、SDN交換 機的交換端口和所述交換端口下學習的MAC地址,根據(jù)鏈路層發(fā)現(xiàn)協(xié)議計算網(wǎng)絡拓撲。 [0019]進一步地,所述SDN控制器根據(jù)SDN交換機發(fā)送的未匹配流表中的網(wǎng)絡拓撲和MAC 地址信息建立隧道,具體為:SDN控制器接收SDN交換機發(fā)送的未匹配流表,解析未匹配流表 的MAC地址信息,所述MAC地址信息字段中包括報文的源MAC地址、目的MAC地址和入端口; SDN控制器根據(jù)網(wǎng)絡拓撲、SDN交換機轉發(fā)端口信息和MAC地址信息自動建立端到端隧道;根 據(jù)差分服務代碼點中的優(yōu)先級建立隧道的優(yōu)先級隊列。
[0020] 進一步地,所述方法還包括:預先擴展隧道報文頭,所述隧道報文頭至少包括隧道 ID、優(yōu)先級和序列碼;所述根據(jù)隧道生成隧道信息,具體為:根據(jù)建立的隧道,生成包括隧道 ID、優(yōu)先級和序列碼的隧道信息。
[0021] 進一步地,所述向SDN交換機下發(fā)包含隧道信息的流表,具體為:如果SDN交換機是 入口交換機,則所述入口交換機根據(jù)下發(fā)的流表中的隧道信息為原始報文封裝私有的隧道 報文頭形成隧道報文,該隧道報文頭包括隧道ID、優(yōu)先級和序列碼;如果SDN交換機是出口 交換機,則所述出口交換機將接收到的隧道報文去掉隧道報文頭,還原成原始的數(shù)據(jù)報文; 如果SDN交換機是中間交換機,則中間交換機根據(jù)隧道報文中的隧道ID和優(yōu)先級進行轉發(fā)。
[0022] 本發(fā)明實施例提供一種基于SDN的二層隧道建立系統(tǒng),包括:SDN交換機,用于通過 私有二層報文向SDN控制器上報的自己的MAC地址信息、端口信息和學習的MAC地址信息;向 SDN控制器發(fā)送未匹配流表,所述未匹配流表包括網(wǎng)絡拓撲和MAC地址信息;SDN控制器,用 于根據(jù)SDN交換機上報的自己的MAC地址信息、端口信息和學習的MAC地址信息計算網(wǎng)絡拓 撲;根據(jù)SDN交換機發(fā)送的未匹配流表中的網(wǎng)絡拓撲和MAC地址信息建立隧道,根據(jù)隧道生 成隧道信息,并向SDN交換機下發(fā)包含隧道信息的流表。
[0023] 進一步地,所述私有二層報文為擴展的E邱erimenter報文,所述E邱erimenter報 文至少包括表示SDN交換機的MAC地址的字段、表示SDN交換機的交換端口的字段和表示所 述交換端口下學習的MAC地址字段;所述SDN控制器,用于根據(jù)SDN交換機通過私有二層報文 上報的自己的MAC地址信息、端口信息和學習的MC地址信息,計算網(wǎng)絡拓撲,具體為:SDN控 制器接收SDN交換機發(fā)送的E邱erimenter報文,從所述E邱erimenter報文中獲取SDN交換機 的MAC地址、SDN交換機的交換端口和所述交換端口下學習的MAC地址,根據(jù)鏈路層發(fā)現(xiàn)協(xié)議 計算網(wǎng)絡拓撲。
[0024] 進一步地,所述SDN控制器,用于根據(jù)SDN交換機發(fā)送的未匹配流表中的網(wǎng)絡拓撲 和MAC地址信息建立隧道,具體為:
[0025] SDN控制器接收SDN交換機發(fā)送的未匹配流表,解析未匹配流表的MAC地址信息,所 述MAC地址信息字段中包括報文的源MAC地址、目的MAC地址和入端口; SDN控制器根據(jù)網(wǎng)絡 拓撲、SDN交換機轉發(fā)端口信息和MAC地址信息自動建立端到端隧道;根據(jù)差分服務代碼點 中的優(yōu)先級建立隧道的優(yōu)先級隊列。
[0026] 進一步地,所述SDN控制器,用于根據(jù)隧道生成隧道信息,并向SDN交換機下發(fā)包含 隧道信息的流表,具體為:根據(jù)建立的隧道,生成包括隧道ID、優(yōu)先級和序列碼的隧道信息;
[0027] 如果SDN交換機是入口交換機,則所述入口交換機根據(jù)下發(fā)的流表中的隧道信息 為原始報文封裝私有的隧道報文頭形成隧道報文,該隧道報文頭包括隧道ID、優(yōu)先級和序 列碼;如果SDN交換機是出口交換機,則所述出口交換機將接收到的隧道報文去掉隧道報文 頭,還原成原始的數(shù)據(jù)報文;如果SDN交換機是中間交換機,則中間交換機根據(jù)隧道報文中 的隧道ID和優(yōu)先級進行轉發(fā)。
[0028] 本發(fā)明實施例提供的基于SDN的二層隧道建立方法和系統(tǒng),基于SDN架構,采用SDN 控制器,無需交互L2TP的協(xié)議報文,由SDN控制器集中計算,自動建立帶優(yōu)先級別隧道,避免 了現(xiàn)有技術中由于眾多消息導致的不同步影響隧道的建立。
【附圖說明】
[0029] 為了更清楚地說明本發(fā)明實