TWI487330B - Network system and routing method - Google Patents
Network system and routing method Download PDFInfo
- Publication number
- TWI487330B TWI487330B TW101145894A TW101145894A TWI487330B TW I487330 B TWI487330 B TW I487330B TW 101145894 A TW101145894 A TW 101145894A TW 101145894 A TW101145894 A TW 101145894A TW I487330 B TWI487330 B TW I487330B
- Authority
- TW
- Taiwan
- Prior art keywords
- nodes
- controller
- ports
- quasi
- traffic
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本案是有關於一種電子系統及一種路由方法。特別是一種網路系統及一種路由方法。This case is about an electronic system and a routing method. Especially a network system and a routing method.
隨著資訊科技的快速進展,各種型態的網路已被廣泛地應用在人們的生活當中,諸如區域網路、網際網路、以及資料中心網路等。With the rapid advancement of information technology, various types of networks have been widely used in people's lives, such as regional networks, the Internet, and data center networks.
一般而言,網路包括多個節點,例如交換機或路由器,此些節點通常具有一轉送表,此些節點根據各自的轉送表以在接收封包時比對封包的標頭並將其轉送至其它節點。轉送表可以藉由網路管理者手動設置,也可以藉由執行特定演算法以設置。是以,如何設計一種路由規劃方法,以妥善設置網路中的節點之轉送表,而避免網路壅塞、並提昇網路的可靠度是一直是網路技術中的重要議題。In general, a network includes a plurality of nodes, such as switches or routers, which typically have a forwarding table that, according to a respective forwarding table, compares the header of the packet to another packet when it receives the packet and forwards it to the other node. The forwarding table can be set manually by the network administrator or by executing a specific algorithm. Therefore, how to design a route planning method to properly set the forwarding table of nodes in the network, and avoid network congestion and improve the reliability of the network has always been an important issue in network technology.
本發明的一態樣為一種路由方法。此路由方法係利用一控制器收集網路中各節點(例如是交換機或路由器)的連接埠之流量與支援速度,並根據此些連接埠的流量與支援速度規劃一來源目的對(source-destination pair)之傳送路徑。One aspect of the invention is a routing method. The routing method uses a controller to collect the traffic and support speed of the ports of each node (such as a switch or a router) in the network, and plans a source destination pair according to the traffic and the support speed of the ports (source-destination). The transmission path of the pair).
根據本發明一實施例,路由方法應用於一網路系統,其中該網路系統包括複數個節點以及一控制器,每一該些節點包括至少一連接埠,該些節點中的相鄰兩者透過該些連接埠形成複數個鏈結,該路由方法包括:該些節點傳送一識別資訊以及該些節點之該連接埠的一支援速度至該控制器;該控制器接收該識別資訊以建構出一網路拓樸,並接收該些節點之該連接埠的一支援速度;該控制器監控該些節點之該連接埠之一流量;該控制器接收一路由規劃要求;在接收該路由規劃要求後,該控制器根據該些節點之該連接埠之該流量與該些節點之該連接埠的該支援速度分別計算該些鏈結的一鏈路成本;該控制器根據該路由規劃要求以及該網路拓樸找出一來源目的對之複數個準傳送路徑;該控制器加總該些準傳送路徑所經過之該些鏈結之該鏈路成本,以分別計算該些準傳送路徑的一鏈路成本總和;以及,該控制器選擇該些準傳送路徑中鏈路成本總和最小者作為該來源目的對之一封包傳送路徑。According to an embodiment of the invention, a routing method is applied to a network system, wherein the network system includes a plurality of nodes and a controller, each of the nodes including at least one port, and two adjacent ones of the nodes Forming a plurality of links through the ports, the routing method includes: the nodes transmitting an identification information and a support speed of the ports of the nodes to the controller; the controller receiving the identification information to construct a network topology and receiving a support speed of the ports of the nodes; the controller monitoring traffic of the ports of the nodes; the controller receiving a route planning request; receiving the route planning request Afterwards, the controller calculates a link cost of the links according to the traffic of the connection between the nodes and the support speed of the ports of the nodes; the controller according to the route planning requirement and the The network topology finds a plurality of quasi-transmission paths for a source purpose; the controller sums the link costs of the links through which the quasi-transmission paths pass to calculate separately A sum of link costs of these candidate paths; and, the controller selects the plurality of candidate paths in the smallest sum of link costs of the source object as one of the packet transmission path.
根據本發明一實施例,監控該些節點之該連接埠之該流量的步驟包括:該控制器在一第一時間點接收該些節點之該連接埠的一第一累計流量;以及,該控制器在一第二時間點接收該些節點之該連接埠的一第二累計流量。According to an embodiment of the invention, the step of monitoring the traffic of the ports of the nodes comprises: the controller receiving a first accumulated traffic of the ports of the nodes at a first time point; and the controlling At a second point in time, the device receives a second accumulated flow of the ports of the nodes.
根據本發明一實施例,分別計算該些鏈結的該鏈路成本的步驟包括:該控制器分別以該第一、第二累計流量的差除以該第一、第二時間點的差,以求得該些節點之該連接埠的一平均流量;該控制器分別以該些節點之該連接埠的該支援速度減去該些節點之該連接埠的該平均流量,以 求得該些節點之該連接埠的一剩餘流量;以及,該控制器分別以該些節點之該連接埠的該剩餘流量除以該些節點之該連接埠的該支援速度,以求得相應於該些節點之該連接埠的該些鏈結之該鏈路成本。According to an embodiment of the present invention, the step of separately calculating the link cost of the links includes: dividing, by the controller, the difference between the first and second accumulated flows by the difference between the first and second time points, Obtaining an average flow rate of the ports of the nodes; the controller subtracts the average traffic of the ports of the nodes by the support speed of the ports of the nodes, respectively, to Obtaining a remaining traffic of the port of the nodes; and the controller separately dividing the remaining traffic of the port of the nodes by the support speed of the ports of the nodes to obtain a corresponding The link cost of the links of the ports of the nodes.
根據本發明一實施例,該控制器選擇該些準傳送路徑中鏈路成本總和最小者作為該來源目的對之該封包傳送路徑的步驟更包括:該控制器根據該些準傳送路徑中鏈路成本總和最小者,以將至少一封包轉送規則分別寫入該些準傳送路徑中鏈路成本總和最小者所經過的節點之轉送表。According to an embodiment of the invention, the controller selects the smallest sum of the link costs in the quasi-transport paths as the source destination pair, and further includes: the controller according to the links in the quasi-transport paths The smallest sum of costs is to write at least one packet forwarding rule to a forwarding table of nodes through which the sum of the link costs is the smallest in the quasi-transport paths.
根據本發明一實施例,路由方法更包括:該控制器設定該至少一封包轉送規則的一失效時間,使該來源目的對之該封包傳送路徑得以隨時間更新。According to an embodiment of the invention, the routing method further includes: the controller setting an expiration time of the at least one packet forwarding rule, so that the source destination is updated with the packet transmission path over time.
本發明的一態樣為一種網路系統,其可透過一控制器收集網路系統中各節點的連接埠之流量與支援速度,並根據此些連接埠的流量與支援速度規劃一來源目的對之傳送路徑。An aspect of the present invention is a network system that collects traffic and support speeds of ports of each node in a network system through a controller, and plans a source destination according to the traffic and support speed of the ports. The transmission path.
根據本發明一實施例,該網路系統包括複數個節點以及一控制器。每一該些節點包括至少一連接埠,該些節點中的相鄰兩者透過該些連接埠形成複數個鏈結,該些節點用以分別輸出一識別資訊以及該些節點之該連接埠的一支援速度至該控制器。該控制器用以接收該識別資訊以建構出一網路拓樸,並接收該些節點之該連接埠的該支援速度,且監控該些連接埠之一流量,且接收一路由規劃要求。在接收該路由規劃要求後,該控制器根據該些節點之該連接埠之該流量與該些節點之該連接埠的該支援速度分別計算 該些鏈結的一鏈路成本,並根據該路由規劃要求以及該網路拓樸找出一來源目的對之複數個準傳送路徑,且加總該些準傳送路徑所經過之該些鏈結之該鏈路成本,以分別計算該些準傳送路徑的一鏈路成本總和,再選擇該些準傳送路徑中鏈路成本總和最小者作為該來源目的對之一封包傳送路徑。According to an embodiment of the invention, the network system includes a plurality of nodes and a controller. Each of the nodes includes at least one port, and two of the nodes form a plurality of links through the ports, and the nodes are respectively configured to output an identification information and the connection ports of the nodes. A support speed to the controller. The controller is configured to receive the identification information to construct a network topology, and receive the support speed of the connection ports of the nodes, and monitor traffic of one of the ports, and receive a route planning request. After receiving the routing planning request, the controller calculates the traffic according to the connection of the nodes and the support speed of the connection ports of the nodes respectively. a link cost of the links, and according to the route planning requirements and the network topology, find a plurality of quasi-transmission paths for a source destination pair, and add the links through which the quasi-transport paths pass The link cost is used to separately calculate a link cost sum of the quasi-transport paths, and then select the smallest sum of the link costs in the quasi-transport paths as a packet transmission path of the source destination pair.
根據本發明一實施例,該控制器更用以在一第一時間點接收該些節點之該連接埠的一第一累計流量,並在一第二時間點接收該些節點之該連接埠的一第二累計流量,且分別以該第一、第二累計流量的差除以該第一、第二時間點的差,以求得該些節點之該連接埠的一平均流量。According to an embodiment of the invention, the controller is further configured to receive a first accumulated traffic of the ports of the nodes at a first time point, and receive the connection ports of the nodes at a second time point. And a second accumulated flow rate, wherein the difference between the first and second accumulated flow rates is divided by the difference between the first and second time points, respectively, to obtain an average flow rate of the ports of the nodes.
根據本發明一實施例,該控制器更用以分別以該些節點之該連接埠的該支援速度減去該些節點之該連接埠的該平均流量,以求得該些連接埠的一剩餘流量,且分別以該些節點之該連接埠的該剩餘流量除以該些節點之該連接埠的該支援速度,以求得相應於該些節點之該連接埠的該些鏈結之該鏈路成本。According to an embodiment of the invention, the controller is further configured to subtract the average traffic of the ports of the nodes by the support speed of the ports of the nodes to obtain a remaining of the ports. Traffic, and the remaining traffic of the ports of the nodes are respectively divided by the support speed of the ports of the nodes to determine the chain of the links corresponding to the ports of the nodes Road cost.
根據本發明一實施例,該控制器更用以根據該些準傳送路徑中鏈路成本總和最小者,以將至少一封包轉送規則分別寫入該些準傳送路徑中鏈路成本總和最小者所經過的節點之轉送表。According to an embodiment of the invention, the controller is further configured to write at least one packet forwarding rule into the quasi-transport path and the minimum link cost sum according to the smallest sum of the link costs in the quasi-transmission paths. The transfer table of the passed nodes.
根據本發明一實施例,該控制器更用以設定該至少一封包轉送規則的一失效時間,使該來源目的對之該封包傳送路徑得以隨時間更新。According to an embodiment of the invention, the controller is further configured to set an expiration time of the at least one packet forwarding rule, so that the source destination is updated with the packet transmission path over time.
綜上所述,透過應用上述一實施例,控制器可根據網 路中各節點之間鍵結的流量以及各連接埠的支援速度計算各鍵結的鏈路成本,並根據各鍵結的鏈路成本規劃一來源目的對之傳送路徑,使此來源目的對的封包依據鏈路成本總和為最小的準傳送路徑傳輸,以平衡網路中的流量負載,而避免網路壅塞,並提昇網路的可靠度。In summary, by applying the above embodiment, the controller can be based on the network. Calculate the link cost of each bond in the traffic between the nodes in the road and the support speed of each port, and plan a transmission path of the source destination according to the link cost of each bond, so that the source is targeted. The packet is transmitted according to the quasi-transmission path with the smallest total link cost to balance the traffic load in the network, avoiding network congestion and improving network reliability.
以下將以圖式及詳細敘述清楚說明本揭示內容之精神,任何所屬技術領域中具有通常知識者在瞭解本揭示內容之較佳實施例後,當可由本揭示內容所教示之技術,加以改變及修飾,其並不脫離本揭示內容之精神與範圍。The spirit and scope of the present disclosure will be apparent from the following description of the preferred embodiments of the present disclosure. Modifications do not depart from the spirit and scope of the disclosure.
關於本文中所使用之『第一』、『第二』、...等,並非特別指稱次序或順位的意思,亦非用以限定本案,其僅為了區別以相同技術用語描述的元件或操作。The terms “first”, “second”, etc. used in this document are not specifically intended to refer to the order or order, nor are they used to limit the case. They are only used to distinguish between components or operations described in the same technical terms. .
本發明的一實施態樣為一種網路系統,此網路系統可透過一控制器收集網路系統中各節點(例如是交換機或路由器)的連接埠之流量與支援速度,並根據此些連接埠的流量與支援速度規劃一來源目的對(source-destination pair)之傳送路徑。An embodiment of the present invention is a network system that collects traffic and support speeds of connections between nodes (such as switches or routers) in a network system through a controller, and according to the connections.埠 Traffic and support speed planning a source-destination pair transmission path.
第1圖為根據本發明一實施例所繪示的網路系統10之示意圖。網路系統10包括控制器100以及複數個節點例如N1-N5。每一節點N1-N5包括至少一連接埠,例如節點N1包括連接埠P11、P12,節點N2包括連接埠P21、P22等。控制器100分別連接每一節點N1-N5。節點N1-N5中的相鄰兩者彼此透過對應的連接埠形成鏈結。例如節點N1與 節點N3透過連接埠P11與P31形成鏈結L1,節點N1與節點N4透過連接埠P12與P41形成鏈結L2等。此處所謂相鄰的節點,係指兩個節點可經由單一鏈結彼此連接。另外,上述節點N1-N5可為開放流(openflow)交換機或路由器,上述控制器可為開放流控制器。FIG. 1 is a schematic diagram of a network system 10 according to an embodiment of the invention. Network system 10 includes a controller 100 and a plurality of nodes such as N1-N5. Each node N1-N5 includes at least one port, for example, node N1 includes ports P11, P12, and node N2 includes ports P21, P22, and the like. The controller 100 is connected to each of the nodes N1-N5. Adjacent ones of the nodes N1-N5 form a link with each other through a corresponding port. For example, node N1 and The node N3 forms a link L1 through the ports 11P11 and P31, and the node N1 and the node N4 form a link L2 and the like through the ports 12P12 and P41. By adjacent nodes herein is meant that two nodes can be connected to each other via a single link. In addition, the above nodes N1-N5 may be open flow switches or routers, and the above controller may be an open flow controller.
當注意到,本實施例雖以第1圖中的連結方式為例進行說明,然而實際上節點、節點的連接埠的數量以及各個節點之間的連接關係不以此為限。It is to be noted that the present embodiment is described by taking the connection method in FIG. 1 as an example. However, the number of nodes, the number of connection ports, and the connection relationship between the nodes are not limited thereto.
在本實施例中,控制器100例如是一電腦。控制器100可發出命令至,以令節點N1-N5分別輸出一識別資訊以及節點N1-N5之連接埠P11-P52的支援速度至控制器100。接著,控制器100可接收此些識別資訊以建構出相應於網路系統10的網路拓樸以及各個節點N1-N5的連接埠P11-P52的支援速度,其中網路拓樸可意指節點N1-N5之間的連接關係。實施上,控制器100可令節點N1-N5向其相鄰的節點N1-N5廣播鏈路層發現協議(link layer discovery protocol,LLDP)封包,使相鄰的節點N1-N5間交換識別資訊,而後控制器100可再發送命令至節點N1-N5使其回傳相鄰節點N1-N5的識別資訊,如此一來,控制器100可藉此些識別資訊得知相應於網路系統10的網路拓樸。另一方面,控制器100亦可藉由發送命令至節點N1-N5,使節點N1-N5分別回傳其連接埠P11-P52的支援速度。In the present embodiment, the controller 100 is, for example, a computer. The controller 100 can issue a command to the nodes N1-N5 to output an identification information and a support speed of the ports 11P11-P52 of the nodes N1-N5 to the controller 100, respectively. Then, the controller 100 can receive the identification information to construct a network topology corresponding to the network system 10 and the connection speeds of the ports 11P11-P52 of the nodes N1-N5, wherein the network topology can mean a node. The connection relationship between N1-N5. In practice, the controller 100 can cause the nodes N1-N5 to broadcast a link layer discovery protocol (LLDP) packet to the neighboring nodes N1-N5, so that the adjacent nodes N1-N5 exchange identification information. The controller 100 can then send a command to the nodes N1-N5 to transmit the identification information of the neighboring nodes N1-N5. Thus, the controller 100 can use the identification information to learn the network corresponding to the network system 10. Road topography. On the other hand, the controller 100 can also cause the nodes N1-N5 to respectively transmit the support speeds of the ports 11P11-P52 by transmitting commands to the nodes N1-N5.
另外,控制器100可用以監控連接埠P11-P52之流量,例如可定期發送命令至節點N1-N5,以令節點N1-N5 傳送其連接埠P11-P52的流量至控制器100。In addition, the controller 100 can be used to monitor the traffic of the ports P11-P52, for example, periodically send commands to the nodes N1-N5 to make the nodes N1-N5 The flow of its connection port P11-P52 is transmitted to the controller 100.
藉由上述接收連接埠P11-P52的支援速度及定期收集連接埠P11-P52之流量,在接收到一個路由規劃要求後,控制器100便可根據連接埠P11-P52的支援速度及其上的流量以分別計算鏈結L1-L6的鏈路成本。例如,控制器100可透過連接埠P11-P52的支援速度及其上的流量以判斷相應的鏈結L1-L6的壅塞程度,並依此計算鏈路成本。By receiving the support speed of the connection port P11-P52 and collecting the traffic of the port P11-P52 periodically, after receiving a route planning request, the controller 100 can select the support speed based on the connection port P11-P52 and The traffic is calculated separately for the link cost of the links L1-L6. For example, the controller 100 can determine the degree of congestion of the corresponding links L1-L6 through the support speeds of the ports 11P11-P52 and the traffic thereon, and calculate the link cost accordingly.
在計算鏈結L1-L6的鏈路成本後,控制器100便可根據前述路由規劃要求以及相應於網路系統10的網路拓樸找出一來源目的對(source-destination pair)之複數個準傳送路徑,並加總準傳送路徑所經過之鏈結L1-L6之鏈路成本,以分別計算準傳送路徑的一鏈路成本總和,再選擇準傳送路徑中鏈路成本總和最小者作為前述來源目的對之一封包傳送路徑。其中來源目的對相應於前述路由規劃要求。After calculating the link cost of the links L1-L6, the controller 100 can find a plurality of source-destination pairs according to the foregoing routing planning requirements and the network topology corresponding to the network system 10. a quasi-transmission path, and summing the link costs of the links L1-L6 through which the quasi-transmission path passes, to calculate a link cost sum of the quasi-transport paths, and then selecting the smallest sum of the link costs in the quasi-transport path as the foregoing The destination of the source is a packet transmission path. The source purpose corresponds to the aforementioned routing planning requirements.
舉例而言,若來源目的對之來源節點為N1,目的節點為N2,則控制器100可在相應於網路系統10的網路拓樸中分別找出兩條準傳送路徑N1→N3→N2、N1→N4→N2,並計算其鏈路成本總和,若準傳送路徑N1→N3→N2的鏈路成本總和小於準傳送路徑N1→N4→N2,則控制器100選擇準傳送路徑N1→N4→N2作為前述來源目的對之一封包傳送路徑。For example, if the source node is N1 and the destination node is N2, the controller 100 can respectively find two quasi-transmission paths N1→N3→N2 in the network topology corresponding to the network system 10. N1→N4→N2, and calculate the total link cost. If the total link cost of the quasi-transmission path N1→N3→N2 is smaller than the quasi-transmission path N1→N4→N2, the controller 100 selects the quasi-transmission path N1→N4. → N2 is a packet transmission path for the aforementioned source purpose.
透過上述之設置,當控制器100規劃前述來源目的對之傳送路徑時,控制器100可選擇一條鏈路成本總和為最小的準傳送路徑作為封包傳送路徑,以平衡網路中的流量負載、避免網路壅塞,並提昇網路的可靠度。Through the above setting, when the controller 100 plans the transmission path of the source destination, the controller 100 can select a quasi-transmission path with the smallest total link cost as the packet transmission path to balance the traffic load in the network and avoid Network congestion and improve network reliability.
以下段落將對前述流量的監控與鏈路成本的計算作進一步說明。The following paragraphs will further explain the monitoring of the aforementioned traffic and the calculation of the link cost.
在本發明一實施例中,節點N1-N5可分別儲存統計資料,統計資料可包括各節點N1-N5上各連接埠P11-P52的累計流量(如累計傳送位元組)。控制器100可定期接收各節點N1-N5上各連接埠P11-P52的累計流量,並在接收到指令(如路由規劃要求)時計算各鏈結L1-L6的鏈路成本。換言之,控制器100在接收到指令時,係用最新接收的累計流量與次新接收的累計流量之差除以兩次接收累計流量的時間間隔,以求得平均流量。In an embodiment of the invention, the nodes N1-N5 may respectively store statistical data, and the statistical data may include accumulated traffic (for example, cumulative transmission byte groups) of each port 11P11-P52 on each node N1-N5. The controller 100 can periodically receive the accumulated traffic of each port 11P11-P52 on each of the nodes N1-N5, and calculate the link cost of each link L1-L6 when receiving an instruction (such as a route planning request). In other words, when receiving the command, the controller 100 divides the difference between the latest received cumulative flow rate and the newly received accumulated flow rate by the time interval between receiving the accumulated flow twice to obtain the average flow rate.
以連接埠P11為例,控制器100可在第一時間點(如第0秒時)接收節點N1的連接埠P11的第一累計流量,接著在一預設時間(如30秒)後,控制器100可在第二時間點(如第30秒時)再次接收節點N1的連接埠P11的第二累計流量。此時,若控制器100接收到路由規劃要求欲計算各鏈結L1-L6的鏈路成本,控制器100可用第一、第二累計流量的差除以第一、第二時間點的差,以求得連接埠P11的平均流量。接著,控制器100可用連接埠P11的支援速度減去連接埠P11的平均流量,以求得連接埠P11的剩餘流量,且用連接埠P11的剩餘流量除以連接埠P11的支援速度,以求得相應於連接埠P11的鏈結L1之鏈路成本。Taking the connection port P11 as an example, the controller 100 can receive the first accumulated flow rate of the connection port P11 of the node N1 at the first time point (such as the 0th second), and then control after a preset time (for example, 30 seconds). The device 100 may again receive the second accumulated flow of the port 11P11 of the node N1 at the second time point (eg, at the 30th second). At this time, if the controller 100 receives the route planning request to calculate the link cost of each link L1-L6, the controller 100 may divide the difference between the first and second accumulated traffic by the difference between the first and second time points. In order to obtain the average flow rate of the connection 埠P11. Next, the controller 100 can subtract the average traffic of the port P11 by the support speed of the port P11 to obtain the remaining traffic of the port P11, and divide the remaining traffic of the port P11 by the support speed of the port P11. Corresponding to the link cost of the link L1 connecting the 埠P11.
如此一來,當連接埠P11的支援速度遠大於連接埠P11的平均流量時,鏈結L1之鏈路成本較小,而當連接埠P11的支援速度僅略大於連接埠P11的平均流量時,鏈結L1已為壅塞狀態,鏈結L1之鏈路成本較高。In this way, when the support speed of the connection port P11 is much larger than the average flow rate of the port P11, the link cost of the link L1 is small, and when the support speed of the port P11 is only slightly larger than the average flow rate of the port P11, The link L1 is in a stagnation state, and the link of the link L1 is costly.
以同樣的方式,控制器100可求得鏈結L1-L6之鏈路成本。當注意到,由於控制器100係定期不斷地接收各節點N1-N5上各連接埠P11-P52的累計流量,並以最新接收的累計流量及次新接收的累計流量計算平均流量,是以鏈結L1-L6之鏈路成本可隨時間動態變化。In the same manner, the controller 100 can determine the link cost of the links L1-L6. It is noted that since the controller 100 periodically receives the accumulated traffic of each port 11P11-P52 on each node N1-N5, and calculates the average traffic volume with the latest received cumulative traffic and the newly received accumulated traffic, it is a chain. The link cost of the junctions L1-L6 can vary dynamically over time.
另一方面,在本發明一實施例中,節點N1-N5可各包括一個轉送表,用以儲存零至多筆封包轉送規則,節點N1-N5可根據此些封包轉送規則轉送封包。當一筆封包進入任一節點N1-N5時,若此節點N1-N5中不具有相應於該筆封包的封包轉送規則時,此節點N1-N5可發送路由規劃要求至控制器100。在一些實施例中,此路由規劃要求可包括一來源目的對的資訊,其中來源目的對之來源節點例如是傳送路由規劃要求的節點N1-N5,目的節點例如是上述封包欲抵達的節點N1-N5。On the other hand, in an embodiment of the present invention, the nodes N1-N5 may each include a forwarding table for storing zero to more packet forwarding rules, and the nodes N1-N5 may forward the packets according to the packet forwarding rules. When a packet enters any of the nodes N1-N5, if the node N1-N5 does not have a packet forwarding rule corresponding to the packet, the node N1-N5 may send a routing plan request to the controller 100. In some embodiments, the route planning requirement may include information of a source destination pair, wherein the source node is, for example, a node N1-N5 that transmits routing plan requirements, and the destination node is, for example, the node N1 to which the packet is to be reached. N5.
當控制器100接收到路由規劃要求後,控制器100可根據連接埠P11-P52之流量與連接埠P11-P52的支援速度分別計算鏈結的鏈路成本L1-L6,並根據路由規劃要求、相應於網路系統10的網路拓樸與鏈結L1-L6的鏈路成本,對前述來源目的對進行最短路徑演算法,以找出鏈路成本總和為最小的準傳送路徑作為此一來源目的對之封包傳送路徑。其中控制器100例如是以鏈路成本為權重值(weight)對前述來源目的對進行最短路徑演算法(例如是Dijkstra演算法)。After the controller 100 receives the routing planning request, the controller 100 can calculate the link cost L1-L6 of the link according to the traffic of the connection port P11-P52 and the support speed of the port P11-P52, and according to the route planning requirement, Corresponding to the network topology of the network system 10 and the link cost of the links L1-L6, the shortest path algorithm is performed on the aforementioned source purpose pair to find the quasi-transmission path with the smallest total link cost as the source. The destination is the packet transmission path. The controller 100 performs a shortest path algorithm (for example, a Dijkstra algorithm) on the pair of source destinations, for example, by using the link cost as a weight.
接著,控制器100可沿著此一封包傳送路徑,將相應於此一封包傳送路徑的至少一個封包轉送規則分別寫入此 一封包傳送路徑所經過的所有節點之轉送表,以使前述來源目的對的封包能經由此一封包傳送路徑傳送。Then, the controller 100 can write the at least one packet forwarding rule corresponding to the one packet transmission path separately along the one packet transmission path. A forwarding table of all nodes through which the packet transmission path passes, so that the packet of the source destination pair can be transmitted via the packet transmission path.
舉例而言,在一情況下,節點N1傳送一路由規劃要求至控制器100,其中此一路由規劃要求的來源目的對之來源節點為節點N1,目的節點為節點N2。當控制器100接收到節點N1的傳送路由規劃要求時,控制器100可計算各鏈結L1-L6的鏈路成本,並根據相應於網路系統10的網路拓樸以及鏈結L1-L6的鏈路成本,以找出鏈路成本總和為最小的準傳送路徑作為節點N1至節點N2之間的封包傳送路徑,例如是N1→N4→N2。接著,控制器100沿此封包傳送路徑N1→N4→N2,將封包轉送規則分別寫入節點N1、N4中,例如:在節點N1的轉送表中,控制器100可新增一條封包轉送規則,使前述來源目的對的封包自連接埠P12發送;在節點N4的轉送表中,控制器100亦可新增一條封包轉送規則,使前述來源目的對的封包自連接埠P42發送。如此一來,前述來源目的對的封包可經由最小鏈路成本路徑傳送。For example, in a case, the node N1 transmits a route planning request to the controller 100, wherein the source destination of the route planning requirement is that the source node is the node N1 and the destination node is the node N2. When the controller 100 receives the transmission route planning request of the node N1, the controller 100 can calculate the link cost of each link L1-L6, and according to the network topology corresponding to the network system 10 and the links L1-L6. The link cost is to find the quasi-transmission path with the sum of the link costs as the packet transmission path between the node N1 and the node N2, for example, N1→N4→N2. Then, the controller 100 writes the packet forwarding rules to the nodes N1 and N4 along the packet transmission path N1→N4→N2. For example, in the forwarding table of the node N1, the controller 100 may add a packet forwarding rule. The packet of the source destination pair is sent from the connection port P12; in the forwarding table of the node N4, the controller 100 may also add a packet forwarding rule, so that the packet of the source destination pair is sent from the port P42. In this way, the packets of the foregoing source destination pair can be transmitted via the minimum link cost path.
另外,在一實施例中,控制器100可設定封包轉送規則的失效時間,當封包轉送規則超過其失效時間後,節點N1-N5可將封包轉送規則移除,如此一來,在封包轉送規則移除後,當前述來源目的對之封包再次進入節點N1-N5時,由於節點N1-N5比對不到相應的封包轉送規則,故節點N1-N5可再次發送路由規劃要求至控制器100,以令控制器100再次規劃前述來源目的對之封包傳送路徑,使得前述來源目的對之封包傳送路徑得以隨時間更新。In addition, in an embodiment, the controller 100 may set the expiration time of the packet forwarding rule. After the packet forwarding rule exceeds its expiration time, the nodes N1-N5 may remove the packet forwarding rule, and thus, in the packet forwarding rule. After the removal, when the foregoing source destination packet is re-entered into the node N1-N5, the node N1-N5 may send the route planning request to the controller 100 again because the node N1-N5 does not compare the corresponding packet forwarding rule. In order for the controller 100 to re-plan the packet transmission path of the foregoing source destination, the foregoing source destination is updated with the packet transmission path over time.
本發明的另一實施態樣為一種路由方法。此路由方法可用於結構與前述第1圖中相同或類似的網路系統。為方便說明,下述操作方法係以第1圖所示之實施例為例進行描述,但並不以第1圖之實施例為限。Another embodiment of the present invention is a routing method. This routing method can be applied to a network system having the same or similar structure as in the foregoing FIG. 1. For convenience of description, the following operation method is described by taking the embodiment shown in FIG. 1 as an example, but is not limited to the embodiment of FIG. 1.
當注意到,在以下操作方法中的步驟中,除非另行述明,否則並不具有特定順序。另外,以下步驟亦可能被同時執行,或者於執行時間上有所重疊。It is noted that in the steps of the following methods of operation, there is no particular order unless otherwise stated. In addition, the following steps may also be performed simultaneously or overlap in execution time.
第2圖為根據本發明一實施例所繪示的路由方法200。路由方法200可包括步驟S0-S7。FIG. 2 is a schematic diagram of a routing method 200 according to an embodiment of the invention. Routing method 200 can include steps S0-S7.
於步驟S0中,節點N1-N5可傳送識別資訊以及節點N1-N5之連接埠P11-P52的支援速度至控制器100。在步驟S1中,控制器100可接收節點N1-N5傳送的識別資訊以建構出相應於網路10的網路拓樸,並接收節點N1-N5傳送的連接埠P11-P52的支援速度。舉例而言,控制器100可令節點N1-N5向其相鄰的節點N1-N5廣播鏈路層發現協議封包,使相鄰的節點N1-N5間交換識別資訊,而後控制器100可再發送命令至節點N1-N5使其回傳相鄰節點N1-N5的識別資訊,如此則控制器100可藉此些識別資訊得知相應於網路10的網路拓樸。又,控制器100亦可藉由發送一命令至節點N1-N5,使節點N1-N5分別回傳其連接埠P11-P52的支援速度。In step S0, the nodes N1-N5 can transmit the identification information and the support speed of the ports 11P11-P52 of the nodes N1-N5 to the controller 100. In step S1, the controller 100 can receive the identification information transmitted by the nodes N1-N5 to construct a network topology corresponding to the network 10, and receive the support speeds of the ports 11P11-P52 transmitted by the nodes N1-N5. For example, the controller 100 may cause the nodes N1-N5 to broadcast a link layer discovery protocol packet to their neighboring nodes N1-N5, so that the adjacent nodes N1-N5 exchange identification information, and then the controller 100 may resend The command to the nodes N1-N5 causes the identification information of the adjacent nodes N1-N5 to be transmitted back, so that the controller 100 can use the identification information to know the network topology corresponding to the network 10. Moreover, the controller 100 can also cause the nodes N1-N5 to respectively transmit the support speeds of the ports 11P11-P52 by transmitting a command to the nodes N1-N5.
於步驟S2中,控制器100可監控連接埠P11-P52之流量。例如控制器100可定期(例如每隔一段預設期間)發送命令至節點N1-N5,以令節點N1-N5傳送其連接埠P11-P52的流量至控制器100。In step S2, the controller 100 can monitor the traffic of the ports 11P11-P52. For example, the controller 100 may send commands to the nodes N1-N5 periodically (e.g., every predetermined period of time) to cause the nodes N1-N5 to transmit the traffic of their ports 11P11-P52 to the controller 100.
接著,於步驟S3中,控制器100可判斷是否接收到任一節點N1-N5所傳送的路由規劃要求,若否,則控制器100持續監控連接埠P11-P52之流量;若是,則控制器100可根據連接埠P11-P52之流量與連接埠P11-P52的支援速度分別計算鏈結L1-L6的鏈路成本(步驟S4)。例如,控制器100可透過連接埠P11-P52的支援速度及其上的當前流量以判斷相應的鏈結L1-L6的壅塞程度,並依此計算鏈路成本。Next, in step S3, the controller 100 can determine whether the routing plan requirements transmitted by any of the nodes N1-N5 are received, and if not, the controller 100 continuously monitors the traffic of the ports P11-P52; if so, the controller 100 calculates the link cost of the links L1 - L6 based on the flow rate of the ports 11 P11-P52 and the support speed of the ports 11 P11-P52 (step S4). For example, the controller 100 can determine the degree of congestion of the corresponding links L1-L6 through the support speeds of the ports 11P11-P52 and the current traffic on them, and calculate the link cost accordingly.
而後,於步驟S5中,控制器100便可根據前述路由規劃要求以及相應於網路系統10的網路拓樸找出一來源目的對(source-destination pair)之複數個準傳送路徑,並加總準傳送路徑所經過之鏈結L1-L6之鏈路成本,以分別計算準傳送路徑的一鏈路成本總和(步驟S6),再選擇準傳送路徑中鏈路成本總和最小者作為前述來源目的對之一封包傳送路徑(步驟S7)。其中來源目的對相應於前述路由規劃要求。Then, in step S5, the controller 100 can find a plurality of quasi-transmission paths of a source-destination pair according to the foregoing routing planning requirements and the network topology corresponding to the network system 10, and add The link cost of the links L1-L6 through which the total transmission path passes to calculate the sum of the link costs of the quasi-transport path (step S6), and then select the smallest sum of the link costs in the quasi-transport path as the source purpose. A packet transfer path is obtained (step S7). The source purpose corresponds to the aforementioned routing planning requirements.
舉例而言,若來源目的對之來源節點為N1,目的節點為N2,則控制器100可在相應於網路系統10的網路拓樸中分別找出兩條準傳送路徑N1→N3→N2、N1→N4→N2,並計算其鏈路成本總和,若準傳送路徑N1→N3→N2的鏈路成本總和小於準傳送路徑N1→N4→N2,則控制器100選擇準傳送路徑N1→N4→N2作為前述來源目的對之一封包傳送路徑。For example, if the source node is N1 and the destination node is N2, the controller 100 can respectively find two quasi-transmission paths N1→N3→N2 in the network topology corresponding to the network system 10. N1→N4→N2, and calculate the total link cost. If the total link cost of the quasi-transmission path N1→N3→N2 is smaller than the quasi-transmission path N1→N4→N2, the controller 100 selects the quasi-transmission path N1→N4. → N2 is a packet transmission path for the aforementioned source purpose.
透過上述的步驟,當控制器100在規劃一來源目的對之傳送路徑時,控制器100可選擇一條鏈路成本總和為最 小的準傳送路徑作為封包傳送路徑,以平衡網路中的流量負載、避免網路壅塞,並提昇網路的可靠度。Through the above steps, when the controller 100 is planning a source destination transmission path, the controller 100 can select a link cost sum to be the most A small quasi-transmission path acts as a packet transmission path to balance the traffic load in the network, avoid network congestion, and improve network reliability.
在本發明的一實施例中,於步驟S2中,控制器100可定期接收各節點N1-N5上各連接埠P11-P52的累計流量。以連接埠P11為例,控制器100可在第一時間點(如第0秒時)接收節點N1的連接埠P11的第一累計流量,接著在一預設時間(如30秒)後,控制器100可在第二時間點(如第30秒時)再次接收節點N1的連接埠P11的第二累計流量。In an embodiment of the present invention, in step S2, the controller 100 may periodically receive the accumulated traffic of each port 11P11-P52 on each of the nodes N1-N5. Taking the connection port P11 as an example, the controller 100 can receive the first accumulated flow rate of the connection port P11 of the node N1 at the first time point (such as the 0th second), and then control after a preset time (for example, 30 seconds). The device 100 may again receive the second accumulated flow of the port 11P11 of the node N1 at the second time point (eg, at the 30th second).
此時,若控制器100接收到節點N1-N5所傳送的路由規劃要求(步驟S3),則控制器100可用第一、第二累計流量的差除以第一、第二時間點的差,以求得連接埠P11的平均流量。接著,控制器100可用連接埠P11的支援速度減去連接埠P11的平均流量,以求得連接埠P11的剩餘流量,且用連接埠P11的剩餘流量除以連接埠P11的支援速度,以求得相應於連接埠P11的鏈結L1之鏈路成本(步驟S4)。換言之,控制器100係用最新接收的累計流量與次新接收的累計流量之差除以兩次接收累計流量的時間間隔,以求得連接埠P11的平均流量,再利用連接埠P11的平均流量計算鏈結L1的鏈路成本。At this time, if the controller 100 receives the route planning request transmitted by the nodes N1-N5 (step S3), the controller 100 may divide the difference between the first and second accumulated traffic by the difference between the first and second time points. In order to obtain the average flow rate of the connection 埠P11. Next, the controller 100 can subtract the average traffic of the port P11 by the support speed of the port P11 to obtain the remaining traffic of the port P11, and divide the remaining traffic of the port P11 by the support speed of the port P11. The link cost corresponding to the link L1 of the port 11P11 is obtained (step S4). In other words, the controller 100 divides the difference between the latest received cumulative flow rate and the newly received accumulated flow rate by the time interval between the two received cumulative flow rates to obtain the average flow rate of the connection port P11, and then uses the average flow rate of the connection port P11. Calculate the link cost of the link L1.
而藉由上述步驟計算鏈路成本,當連接埠P11的支援速度遠大於連接埠P11的平均流量時,鏈結L1之鏈路成本較小,而當連接埠P11的支援速度僅略大於連接埠P11的平均流量時,鏈結L1已為壅塞狀態,鏈結L1之鏈路成本較高。By calculating the link cost by the above steps, when the support speed of the connection port P11 is much larger than the average flow rate of the port P11, the link cost of the link L1 is small, and the support speed of the port P11 is only slightly larger than the port. When the average flow rate of P11 is reached, the link L1 is in a stagnation state, and the link cost of the link L1 is high.
同樣地,控制器100可求得鏈結L1-L6之鏈路成本。當注意到,由於控制器100係定期不斷地接收各節點N1-N5上各連接埠P11-P52的累計流量,並以最新接收的累計流量及次新接收的累計流量計算平均流量,是以鏈結L1-L6之鏈路成本可隨時間動態變化。Similarly, controller 100 can determine the link cost of links L1-L6. It is noted that since the controller 100 periodically receives the accumulated traffic of each port 11P11-P52 on each node N1-N5, and calculates the average traffic volume with the latest received cumulative traffic and the newly received accumulated traffic, it is a chain. The link cost of the junctions L1-L6 can vary dynamically over time.
根據本發明一實施例,在步驟S5中,當控制器100接收到路由規劃要求後,控制器100可根據路由規劃要求、相應於網路系統10的網路拓樸與鏈結L1-L6的鏈路成本,對相應於路由規劃要求的來源目的對進行最短路徑演算法,鏈路成本總和為最小的準傳送路徑作為此一來源目的對之封包傳送路徑。例如控制器100可用鏈結L1-L6的鏈路成本做為權重值,並對前述來源目的對進行最短路徑演算法(例如是Dijkstra演算法),找出鏈路成本總和為最小的準傳送路徑作為此一來源目的對之封包傳送路徑。According to an embodiment of the present invention, in step S5, after the controller 100 receives the routing planning request, the controller 100 may correspond to the network topology and the links L1-L6 of the network system 10 according to the routing planning requirements. Link cost, the shortest path algorithm for the source destination pair corresponding to the route planning requirement, and the quasi-transport path with the smallest link cost sum as the destination transmission path of the source. For example, the controller 100 can use the link cost of the links L1-L6 as the weight value, and perform the shortest path algorithm (for example, the Dijkstra algorithm) on the source destination pair to find the quasi-transmission path with the smallest link cost sum. As a source of this purpose, the packet transmission path is carried out.
接著,在步驟S6中,控制器100可根據封包傳送路徑,以將至少一封包轉送規則分別寫入封包傳送路徑所經過的節點之轉送表。此處轉送表與封包轉送規則的細節可參考前一實施態樣,在此不再贅述。Next, in step S6, the controller 100 may write at least one packet forwarding rule to the forwarding table of the node through which the packet transmission path passes, according to the packet transmission path. For details of the forwarding table and the packet forwarding rule, refer to the previous embodiment, and details are not described herein again.
另外,在一實施例中,路由方法200可更包括一步驟,其係透過控制器100設定封包轉送規則的失效時間,當封包轉送規則超過其失效時間後,節點N1-N5可將封包轉送規則移除,如此一來,在封包轉送規則移除後,當前述來源目的對之封包再次進入節點N1-N5時,由於節點N1-N5比對不到相應的封包轉送規則,故節點N1-N5可再次發送路由規劃要求至控制器100,以令控制器100再次 規劃前述來源目的對之封包傳送路徑,使得前述來源目的對之封包傳送路徑徑得以隨時間更新。In addition, in an embodiment, the routing method 200 may further include a step of setting a failure time of the packet forwarding rule by using the controller 100. After the packet forwarding rule exceeds its expiration time, the node N1-N5 may forward the packet forwarding rule. After the packet forwarding rule is removed, when the packet of the source destination pair enters the node N1-N5 again, the node N1-N5 is less than the corresponding packet forwarding rule, so the node N1-N5 The routing plan request can be sent again to the controller 100 to cause the controller 100 to again The packet transmission path is planned for the foregoing source purpose, so that the foregoing source destination is updated with the packet transmission path path over time.
雖然本案已以實施例揭露如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present case. Anyone skilled in the art can make various changes and refinements without departing from the spirit and scope of the present case. The scope defined in the patent application is subject to change.
10‧‧‧網路系統10‧‧‧Network System
100‧‧‧控制器100‧‧‧ Controller
200‧‧‧路由方法200‧‧‧Route method
N1-N5‧‧‧節點N1-N5‧‧‧ node
P11-P52‧‧‧連接埠P11-P52‧‧‧Connector
L1-L6‧‧‧鏈結L1-L6‧‧‧ link
S0-S7‧‧‧步驟S0-S7‧‧‧ steps
第1圖為根據本發明一實施例所繪示的網路系統的示意圖;第2圖為根據本發明一實施例所繪示的路由方法的流程圖。FIG. 1 is a schematic diagram of a network system according to an embodiment of the invention; FIG. 2 is a flow chart of a routing method according to an embodiment of the invention.
200‧‧‧路由方法200‧‧‧Route method
S0-S7‧‧‧步驟S0-S7‧‧‧ steps
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101145894A TWI487330B (en) | 2012-12-06 | 2012-12-06 | Network system and routing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101145894A TWI487330B (en) | 2012-12-06 | 2012-12-06 | Network system and routing method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201424301A TW201424301A (en) | 2014-06-16 |
TWI487330B true TWI487330B (en) | 2015-06-01 |
Family
ID=51394225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101145894A TWI487330B (en) | 2012-12-06 | 2012-12-06 | Network system and routing method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI487330B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI661699B (en) * | 2017-08-04 | 2019-06-01 | 飛泓科技股份有限公司 | Networking device and topology generating method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101743719A (en) * | 2008-09-26 | 2010-06-16 | 动力方法企业有限公司 | Multiple redundancy schemes in an optical network |
TW201038016A (en) * | 2009-04-14 | 2010-10-16 | Univ Nat Chiao Tung | Routing method and repair method of routing path in wireless network environment |
US20120137021A1 (en) * | 2010-11-26 | 2012-05-31 | Industrial Technology Research Institute | Network server and load balancing routing method for networks thereof |
-
2012
- 2012-12-06 TW TW101145894A patent/TWI487330B/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101743719A (en) * | 2008-09-26 | 2010-06-16 | 动力方法企业有限公司 | Multiple redundancy schemes in an optical network |
TW201038016A (en) * | 2009-04-14 | 2010-10-16 | Univ Nat Chiao Tung | Routing method and repair method of routing path in wireless network environment |
US20120137021A1 (en) * | 2010-11-26 | 2012-05-31 | Industrial Technology Research Institute | Network server and load balancing routing method for networks thereof |
Non-Patent Citations (1)
Title |
---|
蕭富方, "遠端伺服器監控管理系統設計與實作",國立屏東教育大學資訊科學應用期刊,第3卷第1期,2007年7月 * |
Also Published As
Publication number | Publication date |
---|---|
TW201424301A (en) | 2014-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014103656A (en) | Network system and routing method | |
US20200389404A1 (en) | Fault tolerant and load balanced routing | |
EP3055954B1 (en) | High performance lfa path algorithms | |
JP6062939B2 (en) | Self-healing recognizable hybrid design of controller-switch connectivity in split architecture system | |
US8681634B2 (en) | Systems and methods for determining protection paths in a multi-domain network | |
US8750127B2 (en) | Systems and methods for multi-domain routing | |
JP2017511068A5 (en) | ||
JP6589060B2 (en) | Software-defined network entry generation and packet forwarding | |
JP2013541290A (en) | Relayed CSPF for multiple regions and multiple autonomous systems | |
Marconett et al. | Optical FlowBroker: Load-balancing in software-defined multi-domain optical networks | |
WO2011118574A1 (en) | Communications system, control device, delay measuring method, and program | |
CN112995036B (en) | Network traffic scheduling method and device | |
JP6084583B2 (en) | Flow path change calculation device and flow path change calculation system | |
JPWO2006059787A1 (en) | Overlay link computing device and its computing method and program | |
CN102959909B (en) | Method and apparatus for generating distribution trees, and routing bridge | |
US9614758B2 (en) | Communication system, integrated controller, packet forwarding method and program | |
TWI487330B (en) | Network system and routing method | |
JP5212503B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM | |
TWI523463B (en) | Network system and load balancing method | |
JP5375833B2 (en) | Node device, route control method, route calculation system, and route calculation device | |
WO2014134814A1 (en) | Traffic matrix computing method and device based on class of service traffic information | |
CN104753778A (en) | Cross-domain path processing method and cross-domain path processing device | |
TWI492587B (en) | Network system and routing method | |
JP2010041429A (en) | System and method for searching path between nodes included in network | |
TWI621343B (en) | Multi-path packet shunting and routing method based on software-defined network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |