一種流量轉發方法和裝置的制造方法
【技術領域】
[0001] 本發明屬于軟件定義網絡(SoftwareDefinedNetwork,SDN)技術領域,特別是一 種流量轉發方法和裝置。
【背景技術】
[000引SDN技術通過將網絡設備的控制平面與數據平面分離,從而實現網絡流量的靈活 控制。相應地,SDN架構中包括SDN控制器和SDN交換機,其中;SDN控制器和SDN交換機之 間通過優選為開放流的penFlow協議)的SDN管理通道進行通信,SDN控制器根據用戶的 配置或者動態運行的協議生成流表下發到SDN交換機,SDN交換機依據SDN控制器下發的 流表進行報文處理。
[000引 在SDN網絡中廣泛應用可擴展的虛擬局域網(VirtualextensibleLAN,VXLAN) 技術實現數據轉發的隧道。在SDN組網中,SDN控制器還作為動態主機配置協議值ynamic HostConfigurationProtocol,D肥P)服務器,為虛擬機(VirtualMachine,VM)等主機分 配IP地址。
[0004] 然而,在現有技術的SDN網絡中,當SDN控制器集群發生分裂且再次合并時,主機 之間可能會出現IP地址沖突,而且相互沖突的主機中只有一個主機可W享受服務,其它主 機被隔離并且流量立刻中斷,從而不能享受服務。
【發明內容】
[0005] 有鑒于此,本發明提出一種流量轉發方法和裝置,從而為發生地址沖突的主機提 供服務。
[0006] 本發明實施方式的技術方案如下:
[0007] 根據本發明實施方式的一方面,提出一種流量轉發方法,該方法包括在SDN架構 中的SDN控制器執行的如下步驟:
[000引確定地址沖突的主機;
[0009] 針對于至少一個現有流表中的每一個現有流表,確定該現有流表對應的流量標 識,所述現有流表為用于轉發所述地址沖突的主機的現有流量且已下發到SDN交換機的流 表;
[0010] 向已被下發該現有流表的SDN交換機下發用于轉發該現有流表對應的流量的第 一流表,所述第一流表的匹配項包括所述流量標識。
[0011] 優選地,該方法還包括:
[0012] 確定所述地址沖突的主機的沖突地址的轉換地址;
[0013]向與所述地址沖突的主機連接的SDN交換機下發第二流表,所述第二流表用于將 從所述地址沖突的主機接收的第一新增流量報文的源地址轉換為所述轉換地址,和/或,
[0014] 向與所述地址沖突的主機連接的SDN交換機下發第S流表,所述第S流表用于將 目的地址為所述轉換地址的第二新增流量報文的目的地址轉換為所述沖突地址。
[0015] 優選地,所述現有流表被下發到與所述地址沖突的主機連接的SDN交換機,所述 現有流表滿足:匹配項中的入接口為所述地址沖突的主機的接口且匹配項中的源IP地址 為沖突地址;或
[0016] 所述現有流表被下發到與所述地址沖突的主機連接的SDN交換機,所述現有流表 滿足;匹配項中的目的IP地址為沖突地址且動作項包括指定所述地址沖突的主機的接口 為出接口;或
[0017] 所述現有流表被下發到不與所述地址沖突的主機連接的SDN交換機,所述現有流 表滿足;匹配項中的源IP地址為沖突地址,匹配項中的可擴展的虛擬局域網(VXLAN)封裝 源IP地址為與所述地址沖突的主機連接的SDN交換機的VXLAN隧道終結點(VTE巧IP地址; 或
[001引所述現有流表被下發到不與所述地址沖突的主機連接的SDN交換機,所述現有流 表滿足:匹配項中的目的IP地址為沖突地址,動作項包括指定VXLAN封裝目的地址為所述 地址沖突的主機連接的SDN交換機的VTEPIP地址。
[0019] 優選地,所述確定該現有流表對應的流量標識包括:
[0020] 向已被下發該現有流表的SDN交換機下發鏡像請求,W使已被下發該現有流表的 SDN交換機向所述SDN控制器上送該現有流表對應的流量;
[002U從所述已被下發該現有流表的SDN交換機所上送的流量中提取該現有流表對應 的流量標識。
[0022] 優選地,所述確定該現有流表對應的流量標識包括:
[0023] 當該現有流表中包含流量標識時,從該現有流表中提取流量標識;
[0024] 當該現有流表中不包含流量標識時,向已被下發該現有流表的SDN交換機下發鏡 像請求,W使已被下發該現有流表的SDN交換機向所述SDN控制器上送該現有流表對應的 流量;從所述已被下發現有流表的SDN交換機所上送的流量中提取該現有流表對應的流量 標識。
[0025] 優選地,針對于下發到與所述地址沖突的主機連接的SDN交換機的第一流表,若 該第一流表的匹配項包括的目的IP地址為所述沖突地址且VXLAN封裝源IP地址不為網關 的VTEPIP地址,則所述第一流表的動作項包括;修改目的Mac地址為所述地址沖突的主機 的Mac地址。
[0026] 優選地,該方法還包括;為所述地址沖突的主機確定轉換地址;針對于下發到與 所述地址沖突的主機連接的SDN交換機的第一流表,若該第一流表的匹配項包括的源IP地 址為沖突地址且動作項包括指定VXLAN封裝目的IP地址為網關的VTEPIP地址,則所述第 一流表的動作項包括;修改源IP地址為所述轉換地址;和/或
[0027] 針對于下發到與所述地址沖突的主機連接的SDN交換機的第一流表,若該第一流 表的匹配項包括的目的IP地址為所述轉換地址且VXLAN封裝源IP地址為網關的VTEPIP 地址,則所述第一流表的動作項包括;修改目的IP地址為所述沖突地址。
[0028] 優選地,該方法還包括;
[0029] 為所述地址沖突的主機確定轉換地址;
[0030] 向地址沖突的主機所屬的SDN控制器下的網關設備發送網絡地址轉換(NAT)修改 表項,所述NAT修改表項用于將所述網關設備的NAT表中的原地址由沖突地址修改為轉換 地址。
[0031] 優選地,所述流量標識包括:源IP地址、目的IP地址、傳輸層協議類型、源端口和 目的端口。
[0032] 根據本發明實施方式的另一方面,提出一種流量轉發裝置,該裝置應用在SDN架 構中的SDN控制器,該裝置包括:
[0033] 沖突主機確定模塊,用于確定地址沖突的主機;
[0034] 流量標識確定模塊,針對于至少一個現有流表中的每一個現有流表,確定該現有 流表對應的流量標識,所述現有流表為用于轉發所述地址沖突的主機的現有流量且已下發 至IJSDN交換機的流表;
[0035] 第一流表下發模塊,用于向已被下發該現有流表的SDN交換機下發用于轉發該現 有流表對應的流量的第一流表,所述第一流表的匹配項包括所述流量標識。
[0036] 優選地,還包括:
[0037] 轉換地址確定模塊,用于確定所述地址沖突的主機的沖突地址的轉換地址;
[0038] 第二流表下發模塊,用于向與所述地址沖突的主機連接的SDN交換機下發第二流 表,所述第二流表用于將從所述地址沖突的主機接收的第一新增流量報文的源地址轉換為 所述轉換地址,和/或,
[0039] 第S流表下發模塊,用于向與所述地址沖突的主機連接的SDN交換機下發第S流 表,所述第=流表用于將目的地址為所述轉換地址的第二新增流量報文的目的地址轉換為 所述沖突地址。
[0040] 優選地,所述現有流表被下發到與所述地址沖突的主機連接的SDN交換機,所述 現有流表滿足:匹配項中的入接口為所述地址沖突的主機的接口且匹配項中的源IP地址 為沖突地址;或
[004U所述現有流表被下發到與所述地址沖突的主機連接的SDN交換機,所述現有流表 滿足;匹配項中的目的IP地址為沖突地址且動作項包括指定所述地址沖突的主機的接口 為出接口;或
[0042] 所述現有流表被下發到不與所述地址沖突的主機連接的SDN交換機,所述現有流 表滿足;匹配項中的源IP地址為沖突地址,匹配項中的VXLAN封裝源IP地址為與所述地址 沖突的主機連接的SDN交換機的VTEPIP地址;或
[0043] 所述現有流表被下發到不與所述地址沖突的主機連接的SDN交換機,所述現有流 表滿足:匹配項中的目的IP地址為沖突地址,動作項包括指定VXLAN封裝目的地址為所述 地址沖突的主機連接的SDN交換機的VTEPIP地址。
[0044] 優選地,流量標識確定模塊,用于向已被下發該現有流表的SDN交換機下發鏡像 請求,