The present invention relates to a gateway device, a network control device, a method, a program, and a system.
In recent years, the fifth generation mobile communication system (5G: 5th Generation) has been put into practical use. In the 5G era, it is expected to create new services by collaboration with various businesses by utilizing 5G features such as large-capacity broadband, mass session connection, and ultra-low latency high quality. In order to realize such new services, a variety of types of networks that meet various service requirements are required. Network slicing technology has been known as the technology for providing a network quickly and flexibly in response to such demands. In network slicing technology, the infrastructure of shared physical equipment is managed as virtually divisible resources, and such resources are freely combined to build a required virtual network (slice).
An E2E (End-to-End) slice that can ensure a certain level of E2E communication quality is required in order to provide a network (also abbreviated as “NW,” hereinafter) that meets the various requirements of a service provider. The E2E slice is not necessarily a closed network within a single NW operator/domain, and may be a NW that spans multiple NW operators/domains. An architecture has been proposed in which a slice gateway (SLG) is deployed at a connection point between NW operators/domains in order to realize such an E2E slice (simply referred to as “slice,” hereinafter) that spans a plurality of NW operators/domains.
For example, a method of realizing a slice by the NW configuration shown in
For example, bandwidth guarantee and high-reliability slices can be realized by connecting tunnels having priority and route redundancy. Specifically, the slices can be realized by connecting the tunnel 1 of the access NW, the tunnel 5 of the core NW, and the tunnel 13 of the NW in the DC, or connecting the tunnel 3 of the access NW, the tunnel 9 of the core NW, and the tunnel 13 of the NW in the DC.
Similarly, for example, bandwidth guarantee and high-reliability slices passing through an NF (network function) such as Firewall can be realized by connecting tunnels having priority and route redundancy through an NF. Specifically, the slices can be realized by connecting the tunnel 1 of the access NW, the tunnel 7 of the core NW, and the tunnel 13 of the NW in the DC, or connecting the tunnel 3 of the access NW, the tunnel 11 of the core NW, and the tunnel 16 of the NW in the DC.
Similarly, for example, BE (best effort) and high-reliability slices can be realized by connecting tunnels having a BE/route redundancy. Specifically, the slices can be realized by connecting the tunnel 2 of the access NW, the tunnel 6 of the core NW, and the tunnel 14 of the NW in the DC, or connecting the tunnel 4 of the access NW, the tunnel 10 of the core NW, and the tunnel 17 of the NW in the DC. BE/low-reliability slices or the like can also be realized by properly connecting tunnels to each other in the same way. For example, an application is mounted on a terminal, and various services are provided to the terminal by application processing executed by the server/VM.
In the method described in NPL 1, information indicating transfer requirements such as the transfer priority of a packet and the necessity of route redundancy that are required for satisfying the service requirements, the ID of the edge SLG to be the ground, and information uniquely indicating a slice for NW separation are given to the header of the packet to realize a slice. The edge SLG is an edge arranged at the edge of the domain, and SLG other than the edge SLG is called a relay SLG. The edge SLG to be the ground is the edge SLG to be the packet transmission destination.
[NPL 1] Nakamura, et al., “Proposal of D-Plane configuration system for efficient E2E network slicing,” Research papers from IEICE General Conference 2020.
[NPL 3] Fujita, et al., “Scalable QoS Routing Scheme in Overlay Network,” Technical research report from IEICE, Volume 107, number 148 IN2007-27.
However, since the conventional method described in NPL 1 assumes a simple NW configuration in which domains are linearly connected, if the number of connected domains increases and the NW configuration becomes planarly complicated, the transfer table set in each SLG increases, possibly resulting in an increase in the processing load of the SLG, deterioration of the transfer performance, and the like. The transfer table is a table for determining a packet output destination tunnel.
One embodiment of the present invention was made in view of the issue described above, and an object thereof is to suppress an increase of the transfer table of the SLG for realizing an E2E slice.
In order to achieve the object described above, a gateway device according to an embodiment includes a transfer destination specification unit that refers to a transfer table for determining a transfer destination tunnel of a packet upon reception of the packet provided with a header including a slice requirement indicating a packet transfer requirement and a transmission destination domain ID indicating a domain of a transmission destination of the packet, to specify a tunnel corresponding to the slice requirement and the transmission destination domain ID, and a transfer unit that outputs the packet to the tunnel specified by the transfer destination specification unit.
Thus, the increase of the transfer table of the SLG for realizing the E2E slice can be suppressed.
Hereinafter, an embodiment of the present invention will be described.
First, before explaining an embodiment of the present invention, an outline of realizing a slice by the method described in NPL 1 (referred to as “conventional method,” hereinafter) and a problem thereof will be described.
The case where there exist three domains, i.e., a domain A, a domain B, and a domain C as shown in
Also, for example, a terminal, a server/VM, and application processing and the like executed by them are represented as slice end points. In the example shown in
Further, a tunnel ID of a tunnel between SLGs is expressed in the form of “SLG ID-1 to 3 of SLG ID of SLG on the left side+SIG ID of SLG on the right side,” a tail “1” represents the highest priority transfer path, a tail “2” the priority transfer path, and a tail “3” a BE path. For example, three tunnels exist between an edge SLG of SLG ID “a1” and a relay SLG of SLG ID “a1.” The tunnel ID of the tunnel which is the highest priority transfer path is expressed as “a1A1-1,” the tunnel ID of the tunnel which is the priority transfer path as “a1A1-2,” and the tunnel ID of the tunnel which is the BE path as “a1A1-3.”
In this case, in the conventional method, route learning processing for learning a route by cooperation between NW controllers and setting a transfer table to each SLG, and transfer processing for transferring a packet by the transfer table set to each SLG are executed. An example of the route learning processing will be described hereinafter using S11 to S13, and an example of the transfer processing will be described using S21 to S23.
S11) The NW controller of each domain notifies the NW controller of an adjacent domain, of the SLG ID of the edge SLG arranged in its own domain. In the example shown in
S12) When the SLG ID is notified from the NW controller of the adjacent domain, each NW controller propagates the SLG ID to the NW controller of an adjacent domain other than said neighboring domain. In the example shown in
S13) When the SLG ID is notified from the NW controller of the adjacent domain, each NW controller sets up a transfer table for transmitting a packet to the edge SLG of the SLG ID, for the SLG arranged in its own domain, based on the SLG ID and the notification source domain. That is, each NW controller sets up a transfer table by associating a tunnel ID of an output destination tunnel for transmitting a packet to the edge SLG of the SLG ID, the SLG ID, transfer priority, presence/absence of redundancy, and the like. In the example shown in
This indicates that, in the transfer table shown in
S21) When a packet is input from a slice end point, the edge SLG of each domain adds a slice exclusive header to the packet. Here, in the conventional method, information indicating transfer requirements such as transfer priority of a packet required for satisfying service requirements and redundancy necessity (i.e., slice requirements), the SLG ID of an edge SLG to be the ground, information uniquely indicating a slice (referred to as “slice ID” or “slice identification information”) are defined as the slice exclusive header.
S22) Each relay SLG of each domain, upon reception of a packet transferred from another relay SLG, refers to a transfer table set in itself, determines an appropriate output destination tunnel from the slice exclusive header of the packet, and transfers the packet.
S23) Upon reception of the packet transferred from the relay SLG, the edge SLG refers to slice identification information included in the slice exclusive header of the packet, deletes this slice exclusive header, and outputs the packet to an appropriate slice end point (i.e., a slice end point corresponding to the slice identification information). Thus, the E2E slice is realized in the conventional system.
However, as described above, the conventional method assumes a simple NW configuration in which domains are linearly connected. Therefore, when the number of connection domains is increased and the NW configuration becomes planarly complicated, the transfer table set for each SLG increases, resulting in an increase in the processing load of the SLG, deterioration of the transfer performance, and the like. For example, as shown in
In this case, since each SLG has the transfer table set for each edge SLG as described above, the transfer table increases with an increase in the NW scale such as an increase in the number of connection domains and an increase in the number of SLGs. Therefore, an increase in load of each SLG, deterioration in transfer performance, and the like may occur.
Further, the transfer table needs to be updated by adding or reducing edge SLGs in the existing domains. As the number of connection domains increases, the frequency of such update increases, and the load of the NW controller also increases. For example, when the edge SLG of the SLG ID “g4” is newly provided in the domain G (S31), the NW controller of the domain G advertises (notifies) the SLG ID “g4” to the NW controller of an adjacent domain (i.e., the domain C, the domain D, and the domain F) (S32). Thus, the SLG ID “g4” is propagated to the NW controller of each domain (S33), and the transfer table of each SLG of each domain is updated on the basis of the SLG ID “g4” and the notification source domain (i.e., information for transmitting a packet to the edge SLG of the SLG ID “g4” is added to the transfer table). In this manner, each NW controller needs to perform route learning processing for updating the transfer table each time the edge SLGs are increased or reduced, and the frequency of the route learning processing increases as the number of domains increases, thereby increasing the load of each NW controller.
Further, in the conventional method, as described above, the route learning is performed by exchanging the SLG ID of an edge SLG between the NW controllers of the respective domains, but when there are a plurality of routes addressed to the same edge SLG, an optimum route cannot be determined in consideration of the number of transit domains for each route, path specifications (for example, QoS class, presence/absence of redundancy, and the like) and the difference in quality (e.g., bandwidth, latency, or the like). For example, as shown in
Therefore, the conventional problem has (1) the problem that the NW configuration being planarly complicated leads to a load increase in SLGs, deterioration of transfer performance, and a load increase of NW controllers, and (2) the problem that an optimum route cannot be determined in consideration of the number of transit domains, path specifications, quality and the like when there are a plurality of routes addressed to the same edge SLG.
The present embodiment describes the route learning processing and the transfer processing that solving the foregoing two problems, (1) and (2).
First, an example of the transfer processing according to the present embodiment will be described using S41 to S44 of
Here, the transfer table according to the present embodiment is associated with information uniquely indicating a domain (referred to as “domain ID,” hereinafter), not with an SLG ID, as a packet transmission destination. As an example,
S41) When a packet is input from a slice end point, the edge SLG of each domain adds a slice exclusive header to the packet. Here, in the present embodiment, information indicating transfer requirements such as a transfer priority of a packet required for satisfying service requirements and redundancy necessity (i.e., slice requirements), the domain ID of the transmission destination domain, and the slice identification information are defined as the slice exclusive header. That is, the slice exclusive header according to the present embodiment uses the domain ID of the transmission destination domain instead of the SLG ID of the edge SLG to be the ground.
S42) Each relay SLG of each domain other than the transmission destination domain refers to the transfer table set in itself upon reception of a packet transferred from another relay SLG, determines an appropriate output destination tunnel from the slice exclusive header of the packet, and transfers the packet.
S43) Upon reception of the packet transferred from said another relay SLG, each relay SLG of the transmission destination domain transfers the packet to the corresponding edge SLG of its own domain on the basis of the slice identification information included in a slice exclusive header of the packet and other information (e.g., a destination IP address included in a header of the packet).
S44) Upon reception of the packet transferred from the relay SLG, the edge SLG refers to slice identification information included in the slice exclusive header of the packet, deletes this slice exclusive header, and outputs the packet to an appropriate slice end point (i.e., a slice end point corresponding to the slice identification information). Accordingly, the E2E slice is realized.
Thus, in the transfer processing according to the present embodiment, packet transfer is performed in which instead of designating the SLG ID as the transmission destination, the domain ID which is a larger unit is designated. For this reason, in the route learning processing described hereinafter, the transfer table specifying the domain ID as the transmission destination is set in each SLG. As a result, the edge SLG in each domain can be concealed, the increase of the transfer table is suppressed, the increase of the load of the SLG and the deterioration of the transfer performance are suppressed, and the increase of the load of the NW controller accompanying the increase/reduction of the edge SLG can be suppressed.
Next, an example of the route learning processing according to the present embodiment will be described using S51 to S54 of
S51) The NW controller of each domain advertises (notifies) the domain ID of the own domain as an arrival destination domain ID, to the NW controller of an adjacent domain. In the example shown in
S52) When the arrival destination domain ID is notified from the NW controller of the adjacent domain, each NW controller advertises the route information to the NW controller of an adjacent domain other than the foregoing adjacent domain. The route information includes the arrival destination domain ID, a transit domain ID indicating a domain ID of the own domain, path specifications supported by a route of a section between a relay SLG of the own domain adjacent to the advertisement destination domain and a relay SLG of a notification source domain of the arrival destination domain ID, and quality information of each path specification (e.g., bandwidth, latency, etc). In the example shown in
S53) When the route information is notified from the NW controller of the adjacent domain, each NW controller stores the route information in an inter-domain connection table, adds the domain ID of its own domain to the transit domain ID, updates the path specifications and quality information as necessary, and then advertises the route information to the NW controllers of adjacent domains other than the foregoing adjacent domain.
In so doing, the path specifications and the quality information are updated as follows.
(A) When a path specification supported by a route of a section between a relay SLG of its own domain adjacent to the advertisement destination domain and a relay SLG of the notification source domain of the route information is lower, the route information is updated with this low path specification. The low path specification means that the number of types of path specifications supported in said section is small and that there is no redundancy.
(B) When the bandwidth of said section is lower in the corresponding path specification, the route information is updated with this low bandwidth.
(C) In the corresponding path specification, the latency of said section is added to the latency included in the route information.
Specific examples of the above-mentioned (A) to (C) are described. In a case where the path specification included in the notified route information “highest priority/redundancy” and “BE/redundancy,” and the path specification supported by a route of a section between a relay SLG of the own domain adjacent to the advertisement destination domain and a relay SLG of the notification source domain of the route information indicates “Be/redundancy,” the path specification of the route information is updated to “Be/redundancy” (i.e., in this case, “highest priority/redundancy” and its quality information (bandwidth, latency) are deleted from the route information). Alternatively, for example, when the path specification included in the notified route information indicates “highest priority/redundancy” and the path specification supported by a route of a section between a relay SLG of the own domain adjacent to the advertisement destination domain and a relay SLG of the notification source domain of the route information indicates “highest priority/non-redundancy,” the path specification of the route information is updated to “highest priority/non-redundancy.” In (B), for example, when the bandwidth of a certain path specification included in the notified route information is “20 Gbps” and the bandwidth of said path specification in said section is “10 Gbps,” the bandwidth of the path specification included in the route information is updated to “10 Gbps.” In (C), for example, when the latency of a certain path specification included in the notified route information is “10 msec” and the latency of said path specification in said section is “15 msec,” the latency of the path specification included in the route information is updated to “25 msec.”
S54) The NW controller of each domain sets a transfer table for transmitting a packet to each domain ID with respect to the SLG of its own domain on the basis of the inter-domain connection table held in itself. In so doing, the NW controller of each domain selects route information corresponding to transfer requirements to be satisfied by the slice, in consideration of path specifications and quality information of a transit domain to the arrival destination domain and a route to the arrival destination domain, whereby a transfer table is set in each SLG, the transfer table having the arrival destination domain ID of the route information as the transmission destination domain ID, the path specifications as the transfer priority, and the tunnel for transferring a packet to the first transit domain ID as the output destination tunnel. Thus, for each SLG, a transfer table is set to realize a slice in an optimum route taking into consideration the number of transit domains, path specifications, and quality information.
Note that what kind of route information should be selected can be considered in various ways in accordance with the transfer requirements to be satisfied by the slice, and various selection methods can be adopted for each domain. An example of a method of selecting route information will be described hereinafter with reference to the inter-domain connection table shown in
The slice A shown in
The slice B shown in
The slice C shown in
The slice D shown in
An example of selecting route information without considering the number of transit domains has been described above, but for example, when selecting route information, route information may be selected so that the number of transit domains is as small as possible, in addition to considering the conditions of path specifications and bandwidths.
In this case, depending on the NW configuration, when advertising the route information in S53 described above, there is a possibility that a loop occurs in the route advertisement between the NW controllers. Thus, in order to prevent the occurrence of a loop, in S53 described above, each NW controller compares the route information to be advertised to an adjacent domain, with the route information already advertised from this adjacent domain to the own domain, and, when the following conditions are satisfied, does not advertise the route information to be advertised to the adjacent domain.
Conditions: In the route information of the same arrival destination domain and the same path specifications, the number of transit domains included in the route information to be advertised to the adjacent domain (including the own domain) is equal to or greater than the number of transit domains included in the route information already advertised from the adjacent domain.
A specific description will be given with reference to
Next, the functional configurations of the NW controller 10 and the SIG (edge SLG 20 and relay SLG 30) according to the present embodiment will be described.
As shown in
The quality management unit 101 holds specifications (transfer priority, presence/absence of redundancy, etc.) of paths between an edge SLG 20 and a relay SLG 30 of the own domain, between a relay SLG 30 and a relay SLG 30, and between a relay SLG 30 of the own domain and a relay SLG 30 of an adjacent domain, and quality information for each of the paths (available bandwidths, latency, etc.).
The route calculation unit 102 advertises the domain ID of the own domain to an adjacent domain as an arrival destination domain ID.
When the arrival destination domain ID is advertised (notified) from the NW controller 10 of an adjacent domain, the route calculation unit 102 advertises route information including this arrival destination domain ID to the NW controller 10 of an adjacent domain other than the foregoing adjacent domain. In so doing, the route calculation unit 102 sets the own domain ID as a transit domain ID into the route information, and sets, in the route information, based on the information held by the quality management unit 101, the path specifications supported by the route of the section between the relay SLG 30 of the own domain adjacent to the advertisement destination domain and the relay SLG 30 of the notification source domain of the foregoing arrival destination domain ID, and the quality information (bandwidth, latency, etc.) of each path specification.
When the route information is advertised (notified) from the NW controller 10 of the adjacent domain, the route calculation unit 102 stores the route information in the inter-domain connection table, adds the domain ID of the own domain to the transit domain ID, updates the path specifications and the quality information as necessary on the basis of the information held by the quality management unit 101, and then advertises the route information to the NW controller 10 of an adjacent domain other than the foregoing adjacent domain.
The route calculation unit 102 holds an inter-domain connection table, and sets a transfer table for the edge SLG 20 and the relay SLG 30 of the own domain on the basis of route information stored in this inter-domain connection table.
As shown in
On the basis of a 5-tuple information (transmission source IP address, transmission destination IP address, transmission source port number, transmission destination port number, protocol number), input I/F information, and the like of a packet input from a slice end point, the header setting unit 201 identifies a slice to which the packet belongs. Then, on the basis of the identification result, the header setting unit 201 gives the packet slice requirements, the domain ID of the transmission destination, and the slice identification information, as a slice exclusive header. In the present embodiment, when the header setting unit 201 gives a slice exclusive header to a packet, it is assumed that the slice requirements, the domain ID of the transmission destination, and the slice identification information are known.
The header setting unit 201 refers to the slice identification information of the slice exclusive header given to the packet input from the relay SLG 30, and thereafter deletes this slice exclusive header and then outputs the packet to an appropriate slice end point.
The transfer processing unit 202 holds a transfer table, refers to this transfer table, determines an output destination tunnel matching a transmission destination domain ID and transfer requirements included in a slice exclusive header of a packet, and outputs the packet to the output destination tunnel.
As shown in
The transfer processing unit 301 holds a transfer table, refers to this transfer table, determines an output destination tunnel matching a transmission destination domain ID and transfer requirements included in a slice exclusive header of a packet, and outputs the packet to the output destination tunnel.
When the transmission destination domain ID included in the slice exclusive header of the packet is the own domain ID, the transfer processing unit 301 specifies an edge SLG 20 to which the packet should reach, on the basis of slice identification information included in the slice exclusive header, 5-tuple information included in the header of the packet, and the like. Then, the transfer processing unit 301 outputs the packet to the specified edge SLG 20 by using a path that satisfies transfer requirements included in this slice exclusive header. It is assumed that the conditions for specifying the edge SLG 20 are set by, for example, the NW controller 10 or the like, and are known in the present embodiment.
Hereinafter, S51 to S54 of the route learning processing and S41 to S44 of the transfer processing will be described by using the above-mentioned function units.
S51) The route calculation unit 102 of the NW controller 10 of each domain advertises (notifies) the domain ID of the own domain to an NW controller of an adjacent domain as an arrival destination domain ID.
S52) When the arrival destination domain ID is notified from the NW controller 10 of the adjacent domain, the route calculation unit 102 of each NW controller 10 advertises route information to the NW controller 10 of an adjacent domain other than this adjacent domain. The route information includes the arrival destination domain ID, the transit domain ID indicating the domain ID of the own domain, path specifications supported by the route of the section between the relay SLG of the own domain adjacent to the advertisement destination domain and the relay SLG of the notification source domain of the arrival destination domain ID, and quality information of each path specification (e.g., bandwidth, latency, etc). Among them, the path specifications and the quality information for each path specification use information held by the quality management unit 101 of the NW controller 10 that advertises the route information.
S53) When the route information is notified from the NW controller 10 of the adjacent domain, the route calculation unit 102 of each NW controller 10 stores the route information in the inter-domain connection table, adds the domain ID of the own domain to the transit domain ID, updates the path specifications and quality information as necessary, and advertises the route information to the NW controller 10 of an adjacent domain other than the foregoing adjacent domain.
In this case, the path specifications and the quality information are updated by (A) to (C) described above by using the path specifications and the quality information held by the quality management unit 101 of the NW controller 10 that advertises the route information and the path specifications and the quality information included in the notified route information.
In S53, the route calculation unit 102 does not advertise the route information to the adjacent domain when the above-described conditions are satisfied so that a loop of the route information is not generated.
S54) The route calculation unit 102 of the NW controller 10 of each domain sets a transfer table for an edge SLG 20 and a relay SIG 30 in the own domain on the basis of the inter-domain connection table held in itself.
S41) When a packet is input from a slice end point, the header setting unit 201 of the edge SLG 20 of each domain identifies a slice to which the packet belongs, on the basis of 5-tuple information, input I/F information, and the like of the packet. Then, the header setting unit 201 adds (gives) a slice exclusive header to the packet on the basis of the identification result.
S42) Upon reception of a packet transferred from the other relay SLG 30, the transfer processing unit 301 of each relay SLG 30 of each domain other than the transmission destination domain refers to the transfer table set in itself, determines an appropriate output destination tunnel from the slice exclusive header of the packet, and transfers the packet.
S43) Upon reception of a packet transferred from the other relay SLG 30, the transfer processing unit 301 of each relay SLG 30 of the transmission destination domain transfers the packet to a corresponding edge SLG 20 of the own domain on the basis of slice identification information included in the slice exclusive header of the packet and 5-tuple information included in a header of the packet.
S44) Upon reception of a packet transferred from a relay SLG 30, the transfer processing unit 202 of the edge SLG 20 refers to slice identification information included in the slice exclusive header of the packet, deletes this slice exclusive header, and outputs this packet to an appropriate slice end point.
Finally, hardware configurations of the NW controller 10, the edge SLG 20, and the relay SLG 30 according to the present embodiment will be described.
As shown in
The input device 401 is, for example, a keyboard, a mouse, a touch panel, or the like. The display device 402 is, for example, a display or the like. Note that the NW controller 10 may not include at least one of the input device 401 and the display device 402.
The external I/F 403 is an interface with an external device, such as a recording medium 403a. Examples of the recording medium 403a include a CD (Compact Disc), a DVD (Digital Versatile Disc), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.
The communication I/F 404 is an interface for connecting to a communication network. The processor 405 is an arithmetic device such as a CPU (Central Processing Unit). The memory device 406 is one of various storage devices such as a HDD (Hard Disk Drive), a SSD (Solid State Drive), a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory.
The NW controller 10 according to the present embodiment can implement various types of processing described above by having the hardware configuration illustrated in
As shown in
The external I/F 501 is an interface with an external device, such as a recording medium 501a. The recording medium 501a is, for example, a micro SD, a USB memory card, or the like.
The communication I/F 502 is an interface for connecting to a communication network N. The processor 503 is an arithmetic device such as a CPU. The memory device 504 is, for example, one of various storage devices such as a flash memory, a RAM, and a ROM.
The edge SLG 20 and the relay SLG 30 according to the present embodiment can implement various types of processing described above by having the hardware configuration illustrated in
The present invention is not limited to the foregoing embodiments that are specifically disclosed, and various modifications and changes, combinations with known techniques, and the like are possible without departing from the description of the claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/032484 | 8/27/2020 | WO |