一種轉(zhuǎn)發(fā)表項(xiàng)的生成方法及控制器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種轉(zhuǎn)發(fā)表項(xiàng)的生成方法及控制器。
【背景技術(shù)】
[0002] 軟件定義網(wǎng)絡(luò)(英文:Software Defined Network,簡(jiǎn)稱:SDN)是一種新興的網(wǎng)絡(luò) 架構(gòu),通過(guò)控制面和轉(zhuǎn)發(fā)面的分離技術(shù),實(shí)現(xiàn)網(wǎng)絡(luò)的集中控制。SDN典型的網(wǎng)絡(luò)分層圖如圖1 所示,包括應(yīng)用層、控制層和轉(zhuǎn)發(fā)層,其中,控制層包括控制器,轉(zhuǎn)發(fā)層包括多個(gè)轉(zhuǎn)發(fā)設(shè)備, 所述控制器生成并向所述轉(zhuǎn)發(fā)設(shè)備下發(fā)轉(zhuǎn)發(fā)表項(xiàng),以控制所述轉(zhuǎn)發(fā)設(shè)備之間的轉(zhuǎn)發(fā)行為。
[0003] 目前,控制器在生成轉(zhuǎn)發(fā)表項(xiàng)時(shí),為了能夠?qū)崿F(xiàn)負(fù)載均衡,需要在轉(zhuǎn)發(fā)設(shè)備上人工 配置捆綁(英文:trunk)端口,將多個(gè)物理端口配置成一個(gè)trunk端口中。在配置trunk端口 之后,控制器獲取轉(zhuǎn)發(fā)設(shè)備之間的trunk端口的網(wǎng)絡(luò)拓?fù)?,根?jù)該網(wǎng)絡(luò)拓?fù)渖赊D(zhuǎn)發(fā)表項(xiàng)。
[0004] 然而,由于上述方式中需要在轉(zhuǎn)發(fā)設(shè)備上人工配置trunk端口,不僅容易出錯(cuò)并且 工作量較大。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明解決的技術(shù)問(wèn)題在于提供一種轉(zhuǎn)發(fā)表項(xiàng)的生成方法及控制器,以實(shí)現(xiàn)不需 要在轉(zhuǎn)發(fā)設(shè)備上人工配置trunk端口,從而降低出錯(cuò)率并且減少工作量。
[0006] 為此,本發(fā)明解決技術(shù)問(wèn)題的技術(shù)方案是:
[0007] 第一方面,本發(fā)明提供了一種轉(zhuǎn)發(fā)表項(xiàng)的生成方法,用于軟件定義網(wǎng)絡(luò)中,所述方 法包括:
[0008] 控制器獲取物理拓?fù)湫畔?,所述物理拓?fù)湫畔⒅甘镜谝晦D(zhuǎn)發(fā)設(shè)備包括第一物理端 口和第二物理端口,以及所述第一物理端口和所述第二物理端口均與第二轉(zhuǎn)發(fā)設(shè)備相連;
[0009] 所述控制器根據(jù)所述物理拓?fù)湫畔?,生成邏輯拓?fù)湫畔⒑蛯?duì)應(yīng)表項(xiàng),所述邏輯拓 撲信息指示所述第一轉(zhuǎn)發(fā)設(shè)備包括第一邏輯端口,以及所述第一邏輯端口與所述第二轉(zhuǎn)發(fā) 設(shè)備相連,所述對(duì)應(yīng)表項(xiàng)指示所述第一邏輯端口對(duì)應(yīng)所述第一物理端口和所述第二物理端 P;
[0010] 所述控制器根據(jù)所述邏輯拓?fù)湫畔⑸蛇壿嬄窂叫畔?,所述邏輯路徑信息指示?述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一邏輯端口;
[0011] 所述控制器根據(jù)所述邏輯路徑信息以及所述對(duì)應(yīng)表項(xiàng),生成用于向所述第一轉(zhuǎn)發(fā) 設(shè)備下發(fā)的第一轉(zhuǎn)發(fā)表項(xiàng),所述第一轉(zhuǎn)發(fā)表項(xiàng)指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一 物理端口和所述第二物理端口。
[0012] 在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述物理拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā) 設(shè)備包括第三物理端口和第四物理端口,所述第三物理端口與所述第一物理端口相連,以 及所述第四物理端口與所述第二物理端口相連;
[0013]所述邏輯拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā)設(shè)備包括第二邏輯端口,以及所述第一邏 輯端口與所述第二邏輯端口相連;所述對(duì)應(yīng)表項(xiàng)還指示所述第二邏輯端口對(duì)應(yīng)所述第三物 理端口和所述第四物理端口;
[0014] 所述邏輯路徑信息還指示所述第二轉(zhuǎn)發(fā)設(shè)備的入接口為所述第二邏輯端口;
[0015] 所述方法還包括:
[0016] 所述控制器生成用于向所述第二轉(zhuǎn)發(fā)設(shè)備下發(fā)的第二轉(zhuǎn)發(fā)表項(xiàng),所述第二轉(zhuǎn)發(fā)表 項(xiàng)指示所述第二轉(zhuǎn)發(fā)設(shè)備的入接口為所述第三物理端口和所述第四物理端口。
[0017] 在第一方面的第二種可能的實(shí)現(xiàn)方式中,還包括:
[0018] 所述控制器獲取轉(zhuǎn)發(fā)路徑的需求帶寬;
[0019] 所述控制器獲取所述第一邏輯端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的邏輯鏈路的剩余 帶寬,所述邏輯鏈路的剩余帶寬包括第一物理鏈路和第二物理鏈路的剩余帶寬,所述第一 物理鏈路為所述第一物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路,所述第二物理鏈路為所述 第二物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路;
[0020] 所述控制器根據(jù)所述邏輯拓?fù)湫畔⑸蛇壿嬄窂叫畔?,包括?br>[0021] 所述控制器確定出所述需求帶寬不大于所述邏輯鏈路的剩余帶寬,根據(jù)所述邏輯 拓?fù)湫畔⑸蛇壿嬄窂叫畔ⅰ?br>[0022] 在第一方面的第三種可能的實(shí)現(xiàn)方式中,還包括:
[0023]所述控制器獲取第一物理鏈路和第二物理鏈路的帶寬比,所述第一物理鏈路為所 述第一物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路,所述第二物理鏈路為所述第二物理端口 和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路;
[0024] 所述控制器根據(jù)所述帶寬比,生成用于向所述第一轉(zhuǎn)發(fā)設(shè)備下發(fā)的負(fù)載均衡比; 所述第一轉(zhuǎn)發(fā)表項(xiàng)還指示所述負(fù)載均衡比。
[0025] 在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述對(duì)應(yīng)表項(xiàng)指示,所述第一邏輯端口 對(duì)應(yīng)所述第一轉(zhuǎn)發(fā)設(shè)備中與所述第二轉(zhuǎn)發(fā)設(shè)備連接的所有物理端口;
[0026] 所述第一轉(zhuǎn)發(fā)表項(xiàng)指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一邏輯端口對(duì)應(yīng)的 所有物理端口。
[0027]在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述第一物理端口和所述第二物理端口 的帶寬相同。
[0028]在第一方面的第六種可能的實(shí)現(xiàn)方式中,還包括:
[0029]所述控制器接收用戶指示信息,所述用戶指示信息指示將所述第一物理端口和所 述第二物理端口劃分為同一邏輯端口;
[0030] 所述控制器根據(jù)所述物理拓?fù)湫畔ⅲ蓪?duì)應(yīng)表項(xiàng),包括:所述控制器根據(jù)所述物 理拓?fù)湫畔⒑退鲇脩糁甘拘畔ⅲ伤鰧?duì)應(yīng)表項(xiàng)。
[0031] 在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述邏輯路徑信息以及 所述對(duì)應(yīng)表項(xiàng),生成所述第一轉(zhuǎn)發(fā)表項(xiàng),包括:
[0032]所述控制器根據(jù)所述邏輯路徑信息生成第三轉(zhuǎn)發(fā)表項(xiàng),所述第三轉(zhuǎn)發(fā)表項(xiàng)指示所 述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一邏輯端口;
[0033] 所述控制器根據(jù)所述第三轉(zhuǎn)發(fā)表項(xiàng)和所述對(duì)應(yīng)表項(xiàng),生成所述第一轉(zhuǎn)發(fā)表項(xiàng)。
[0034] 在第一方面的第八種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述邏輯路徑信息以及 所述對(duì)應(yīng)表項(xiàng),生成所述第一轉(zhuǎn)發(fā)表項(xiàng),包括:
[0035]所述控制器根據(jù)所述邏輯路徑信息和所述對(duì)應(yīng)表項(xiàng),生成物理路徑信息,所述物 理路徑信息指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一物理端口和所述第二物理端口;
[0036] 所述控制器根據(jù)所述物理路徑信息,生成所述第一轉(zhuǎn)發(fā)表項(xiàng)。
[0037] 在第一方面的第九種可能的實(shí)現(xiàn)方式中,所述物理拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā) 設(shè)備包括第五物理端口,所述第五物理端口與第三轉(zhuǎn)發(fā)設(shè)備相連;
[0038]所述邏輯拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā)設(shè)備包括第三邏輯端口,所述第三邏輯端 口與所述第三轉(zhuǎn)發(fā)設(shè)備相連;所述對(duì)應(yīng)表項(xiàng)還指示所述第五物理端口對(duì)應(yīng)所述第三邏輯端 P;
[0039] 所述邏輯路徑信息還指示所述第二轉(zhuǎn)發(fā)設(shè)備的出接口為所述第三邏輯端口;
[0040] 所述方法還包括:
[0041] 所述控制器根據(jù)所述邏輯路徑信息以及所述對(duì)應(yīng)表項(xiàng),生成用于向所述第二轉(zhuǎn)發(fā) 設(shè)備下發(fā)的第四轉(zhuǎn)發(fā)表項(xiàng),所述第四轉(zhuǎn)發(fā)表項(xiàng)指示所述第二轉(zhuǎn)發(fā)設(shè)備的出接口為所述第五 物理端口。
[0042] 第二方面,本發(fā)明提供了一種控制器,用于軟件定義網(wǎng)絡(luò)中,所述控制器包括: [0043]拓?fù)浍@取單元,用于獲取物理拓?fù)湫畔?,所述物理拓?fù)湫畔⒅甘镜谝晦D(zhuǎn)發(fā)設(shè)備包 括第一物理端口和第二物理端口,以及所述第一物理端口和所述第二物理端口均與第二轉(zhuǎn) 發(fā)設(shè)備相連;
[0044] 拓?fù)渖蓡卧?,用于根?jù)所述物理拓?fù)湫畔ⅲ蛇壿嬐負(fù)湫畔⒑蛯?duì)應(yīng)表項(xiàng),所述 邏輯拓?fù)湫畔⒅甘舅龅谝晦D(zhuǎn)發(fā)設(shè)備包括第一邏輯端口,以及所述第一邏輯端口與所述第 二轉(zhuǎn)發(fā)設(shè)備相連,所述對(duì)應(yīng)表項(xiàng)指示所述第一邏輯端口對(duì)應(yīng)所述第一物理端口和所述第二 物理端口;
[0045] 路徑生成單元,用于根據(jù)所述邏輯拓?fù)湫畔⑸蛇壿嬄窂叫畔ⅲ鲞壿嬄窂叫?息指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一邏輯端口;
[0046] 表項(xiàng)生成單元,用于根據(jù)所述邏輯路徑信息以及所述對(duì)應(yīng)表項(xiàng),生成用于向所述 第一轉(zhuǎn)發(fā)設(shè)備下發(fā)的第一轉(zhuǎn)發(fā)表項(xiàng),所述第一轉(zhuǎn)發(fā)表項(xiàng)指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為 所述第一物理端口和所述第二物理端口。
[0047]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述物理拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā) 設(shè)備包括第三物理端口和第四物理端口,所述第三物理端口與所述第一物理端口相連,以 及所述第四物理端口與所述第二物理端口相連;
[0048]所述邏輯拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā)設(shè)備包括第二邏輯端口,以及所述第一邏 輯端口與所述第二邏輯端口相連;所述對(duì)應(yīng)表項(xiàng)還指示所述第二邏輯端口對(duì)應(yīng)所述第三物 理端口和所述第四物理端口;
[0049]所述邏輯路徑信息還指示所述第二轉(zhuǎn)發(fā)設(shè)備的入接口為所述第二邏輯端口;
[0050]所述表項(xiàng)生成單元還用于,生成用于向所述第二轉(zhuǎn)發(fā)設(shè)備下發(fā)的第二轉(zhuǎn)發(fā)表項(xiàng), 所述第二轉(zhuǎn)發(fā)表項(xiàng)指示所述第二轉(zhuǎn)發(fā)設(shè)備的入接口為所述第三物理端口和所述第四物理 端口。
[0051 ]在第二方面的第二種可能的實(shí)現(xiàn)方式中,還包括:
[0052]帶寬獲取單元,用于獲取轉(zhuǎn)發(fā)路徑的需求帶寬,以及獲取所述第一邏輯端口和所 述第二轉(zhuǎn)發(fā)設(shè)備之間的邏輯鏈路的剩余帶寬,所述邏輯鏈路的剩余帶寬包括第一物理鏈路 和第二物理鏈路的剩余帶寬,所述第一物理鏈路為所述第一物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備 之間的鏈路,所述第二物理鏈路為所述第二物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路;
[0053]當(dāng)根據(jù)所述物理拓?fù)湫畔⑸蛇壿嬐負(fù)湫畔?,所述拓?fù)渖蓡卧唧w用于確定出 所述需求帶寬不大于所述邏輯鏈路的剩余帶寬,根據(jù)所述邏輯拓?fù)湫畔⑸蛇壿嬄窂叫?息。
[0054]在第二方面的第三種可能的實(shí)現(xiàn)方式中,還包括:
[0055] 帶寬比獲取單元,用于獲取第一物理鏈路和第二物理鏈路的帶寬比,所述第一物 理鏈路為所述第一物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路,所述第二物理鏈路為所述第 二物理端口和所述第二轉(zhuǎn)發(fā)設(shè)備之間的鏈路;
[0056] 均衡比生成單元,用于根據(jù)所述帶寬比,生成用于向所述第一轉(zhuǎn)發(fā)設(shè)備下發(fā)的負(fù) 載均衡比;所述第一轉(zhuǎn)發(fā)表項(xiàng)還指示所述負(fù)載均衡比。
[0057] 在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述對(duì)應(yīng)表項(xiàng)指示,所述第一邏輯端口 對(duì)應(yīng)所述第一轉(zhuǎn)發(fā)設(shè)備中與所述第二轉(zhuǎn)發(fā)設(shè)備連接的所有物理端口;
[0058] 所述第一轉(zhuǎn)發(fā)表項(xiàng)指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所述第一邏輯端口對(duì)應(yīng)的 所有物理端口。
[0059]在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述第一物理端口和所述第二物理端口 的帶寬相同。
[0060] 在第二方面的第六種可能的實(shí)現(xiàn)方式中,還包括:
[0061] 接收單元,用于接收用戶指示信息,所述用戶指示信息指示將所述第一物理端口 和所述第二物理端口劃分為同一邏輯端口;
[0062] 當(dāng)根據(jù)所述物理拓?fù)湫畔⑸蓪?duì)應(yīng)表項(xiàng),所述拓?fù)渖蓡卧唧w用于根據(jù)所述物 理拓?fù)湫畔⒑退鲇脩糁甘拘畔?,生成所述?duì)應(yīng)表項(xiàng)。
[0063] 在第二方面的第七種可能的實(shí)現(xiàn)方式中,所述表項(xiàng)生成單元具體用于,根據(jù)所述 邏輯路徑信息生成第三轉(zhuǎn)發(fā)表項(xiàng),所述第三轉(zhuǎn)發(fā)表項(xiàng)指示所述第一轉(zhuǎn)發(fā)設(shè)備的出接口為所 述第一邏輯端口,以及根據(jù)所述第三轉(zhuǎn)發(fā)表項(xiàng)和所述對(duì)應(yīng)表項(xiàng),生成所述第一轉(zhuǎn)發(fā)表項(xiàng)。
[0064] 在第二方面的第八種可能的實(shí)現(xiàn)方式中,所述表項(xiàng)生成單元具體用于,根據(jù)所述 邏輯路徑信息和所述對(duì)應(yīng)表項(xiàng),生成物理路徑信息,所述物理路徑信息指示所述第一轉(zhuǎn)發(fā) 設(shè)備的出接口為所述第一物理端口和所述第二物理端口,以及根據(jù)所述物理路徑信息,生 成所述第一轉(zhuǎn)發(fā)表項(xiàng)。
[0065] 在第二方面的第九種可能的實(shí)現(xiàn)方式中,所述物理拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā) 設(shè)備包括第五物理端口,所述第五物理端口與第三轉(zhuǎn)發(fā)設(shè)備相連;
[0066]所述邏輯拓?fù)湫畔⑦€指示所述第二轉(zhuǎn)發(fā)設(shè)備包括第三邏輯端口,所述第三邏輯端 口與所述第三轉(zhuǎn)發(fā)設(shè)備相連;所述對(duì)應(yīng)表項(xiàng)還指示所述第五物理端口對(duì)應(yīng)所述第三邏輯端 P;
[0067] 所述邏輯路徑信息還指示所述第二轉(zhuǎn)發(fā)設(shè)備的出接口為所述第三邏輯端口;
[0068] 所述表項(xiàng)生成單元,