The present invention relates to a transfer device, a transfer method, and a transfer program.
Conventionally, from the viewpoint of economic efficiency, a technology is expected in which a network service function (NSF) that analyzes an L3-L4 header and an L7 payload of a packet and performs some processing is intensively deployed in a network instead of being distributed, and then communication is transferred and NSF application is performed.
On the other hand, in the network using the encapsulating technology for transfer, there is a case where the NSF cannot be intensively deployed, such as a case where a capsule header is assigned to a packet at an aggregation point and the NSF does not support the header. Therefore, a technology for removing and re-encapsulating the capsule header has been proposed (refer to Patent Literature 1 and 2 and Non Patent Literature 1 to 5).
However, in the related art, it may be difficult to perform processing such as analysis of packets in the aggregated NSF at low cost. For example, it may be necessary to associate the outer header and the inner header of the capsule in advance. Alternatively, at the time of re-encapsulation, in a case where the inner packet is a local address, a reassignment error of the outer header may occur. Alternatively, there is a case where a retrieval key of the outer header is assigned to a Tos value or the like of a vlan header or an IP packet to affect a service.
The present invention has been made in view of the above, and an object thereof is to perform processing such as packet analysis by aggregated NSF at low cost.
In order to solve the above-described problems and achieve the object, according to the present invention, there is provided a transfer device including: a deletion unit that provides an outer header and a field containing information of the outer header in an encapsulated packet when deleting the outer header of the packet; and an addition unit that adds the outer header to a received packet by using information of the outer header extracted from the field when the packet is re-encapsulated.
According to the present invention, processing such as packet analysis can be performed by the aggregated NSF at low cost.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited by this embodiment. Further, the same portions are denoted by the same reference signs in the description of the drawings.
At that time, the transfer device 10 includes an outer header and a field including the information of the outer header in the packet without caching the packet or the outer header, for example. Alternatively, information associating the packet with information on an inner packet is stored in a storage unit 14. Alternatively, information associating the outer header with the information of the inner packet is stored in the storage unit 14.
An NSF 20 analyzes an L3-L4 header and a L7 payload of the packet (inner packet), performs some processing, and returns the packet to the transfer device 10.
When a packet is received from the NSF 20, the transfer device 10 performs re-encapsulation of reassigning an outer header using information of the outer header extracted from the above field, and transfers the packet to another network device via the network N. Alternatively, the transfer device 10 reassigns the outer head to the packet extracted from the storage unit by using the information of the associated inner packet, and transfers the packet to another network device via the network N. Alternatively, the transfer device 10 reassigns the outer header associated with the information of the inner packet extracted from the storage unit, and transfers the outer header to another network device via the network N.
The communication control unit 13 is realized by a network interface card (NIC) or the like and controls communication between an external device such as a server and the control unit 15 via a network. For example, the communication control unit 13 controls communication between the control unit 15 and a management device or the like that manages data to be transferred.
The storage unit 14 is realized by a semiconductor memory element such as a random access memory (RAM) or a flash memory or a storage device such as a hard disk or an optical disc and stores the packet or the outer header used in transfer processing, which will be described later. Note that the storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.
The control unit 15 is realized by using a central processing unit (CPU), a network processor (NP), a field programmable gate array (FPGA), or the like, and executes a processing program stored in a memory. As a result, as illustrated in
In the transfer device 10 of the first embodiment, the deletion unit 15a provides the outer header and a field containing information of the outer header in the packet when deleting the outer header of the encapsulated packet. This field is specifically a proxy header or a Trailer to be described later. In addition, in this case, the information of the outer header includes the length of the outer header and the protocol type.
In addition, when re-encapsulating the received packet, the addition unit 15b adds an outer header to the packet by using information of the outer header extracted from the above field. As a result, the transfer device 10 can transfer the packet to the aggregated NSF at low cost without requiring a processing load of cache search and a cache memory.
Here,
In this case, as illustrated in
Here, the protocol type is, for example, IPv4 or IPv6. The deletion unit 15a sets a proxy header according to EtherHeader indicating the protocol type of the received packet. Specifically, when the protocol type is IPv4, the deletion unit 15a inserts the proxy header and the outer header into the data portion of the option area of the inner packet as illustrated in
In this case, the addition unit 15b performs re-encapsulation to add the outer header using the proxy header and the outer header of the option area of the inner packet, and deletes the option area. In addition, the addition unit 15b obtains packet consistency by checksum calculation.
When the protocol type is IPv6, the deletion unit inserts the proxy header and the outer header into the option area of the extension header as illustrated in
In this case, the addition unit 15b performs re-encapsulation to add the outer header using the proxy header and the outer header of the extension header of the inner packet, and deletes the extension header. In addition, the addition unit 15b obtains packet consistency by checksum calculation. As a result, the transfer device can easily perform re-encapsulation without affecting payload analysis.
Alternatively, as illustrated in
In this case, as illustrated in
In the transfer device 10 of the second embodiment, the deletion unit 15a causes the storage unit 14 to store information associating the packet with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header to the packet extracted from the storage unit 14 by using the information of the associated inner packet.
In this case, the information of the inner packet is any one of the 5-tuple, all of the hash values of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Here,
Specifically, as illustrated in
In this case, when re-encapsulating the received packet, the addition unit 15b retrieves the packet storage area and the association hash table as illustrated in
Specifically, as illustrated in
By associating the packet with the 5-tuple of the inner packet in this manner, the transfer device 10 can delete the processing cost of re-encapsulation.
For example, as illustrated in
Specifically, as illustrated in
In this case, when re-encapsulating the received packet, the addition unit 15b retrieves the packet storage area and the association hash table as illustrated in
Specifically, as illustrated in
By associating the packet with the hash value of the inner packet in this manner, the transfer device 10 can reduce the reassignment error of the outer header.
For example, as illustrated in
Specifically, as illustrated in
In this case, when re-encapsulating the received packet, the addition unit 15b retrieves the packet storage area and the association hash table as illustrated in
Specifically, as illustrated in
By associating the packet with the hash value of a predetermined bit string in the inner packet in this manner, the transfer device 10 can reduce the reassignment error ratio of the outer header.
In the transfer device 10 of the third embodiment, the deletion unit 15a causes the storage unit 14 to store the information associating the outer header with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header associated with the information of the inner packet extracted from the storage unit 14.
In this case, the information of the inner packet is any one of the hash value of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Here,
Specifically, as illustrated in
In this case, when re-encapsulating the received packet, the addition unit 15b retrieves the outer header storage area and the association hash table as illustrated in
Specifically, as illustrated in
By associating the outer header with the hash value of the inner packet in this manner, the transfer device 10 can reduce the memory consumption.
As illustrated in
Specifically, as illustrated in
In this case, when re-encapsulating the received packet, the addition unit 15b retrieves the outer header storage area and the association hash table as illustrated in
Specifically, as illustrated in
By associating the outer header with the hash value of a predetermined bit string in the inner packet in this manner, the transfer device 10 can reduce the reassignment error of the outer header.
Next, transfer processing performed by the transfer device 10 according to the present embodiment will be described with reference to
First, when the transfer device 10 receives an encapsulated packet from another network device via the network N, the deletion unit 15a deletes the outer header of the encapsulated packet and transfers the packet to the NSF (step S1).
At that time, the deletion unit 15a includes the outer header and a field including information of the outer header at the end of the inner packet or the packet. In this case, the information of the outer header includes the length of the outer header and the protocol type.
For example, the deletion unit 15a incorporates a proxy header including the length of the outer header and the protocol type into the inner packet. Alternatively, the deletion unit 15a adds Trailer including the length of the outer header and the protocol type to the end of the packet.
In addition, when the transfer device 10 receives a packet from the NSF, the addition unit 15b re-encapsulates the received packet and transfers the packet to another network device via the network N (step S2). At that time, the addition unit 15b adds an outer header to the packet by using information of the outer header extracted from the field. In this manner, a series of transfer processing ends.
Otherwise, the deletion unit 15a causes the storage unit 14 to store the information associating the packet with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header to the packet extracted from the storage unit by using the information of the associated inner packet. In this case, the information of the inner packet is any one of the 5-tuple, the hash values of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Alternatively, the deletion unit 15a causes the storage unit 14 to store the information associating the outer header with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header associated with the information of the inner packet extracted from the storage unit 14. In this case, the information of the inner packet is any one of the hash value of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Next,
In addition, in the method in which a retrieval key of the outer header is not assigned, as illustrated in
On the other hand, in the transfer device 10 of the present embodiment, the deletion unit 15a provides the outer header and a field containing information of the outer header in the packet when deleting the outer header of the encapsulated packet. In addition, when re-encapsulating the received packet, the addition unit 15b adds an outer header to the packet by using information of the outer header extracted from the field. In this case, the information of the outer header includes the length of the outer header and the protocol type.
Specifically, in the transfer device, as illustrated in
Otherwise, in the transfer device 10, the deletion unit 15a causes the storage unit 14 to store the information associating the packet with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header to the packet extracted from the storage unit 14 by using the information of the associated inner packet. In this case, the information of the inner packet is any one of the 5-tuple, the hash values of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Specifically, in the transfer device 10, as illustrated in
Alternatively, in the transfer device 10, the deletion unit 15a causes the storage unit 14 to store the information associating the outer header with information of the inner packet when deleting the outer header of the encapsulated packet. In this case, when re-encapsulating the received packet, the addition unit 15b adds the outer header associated with the information of the inner packet extracted from the storage unit 14. In this case, the information of the inner packet is any one of the hash value of the inner packet, and the hash value of a predetermined bit string in the inner packet.
Specifically, as illustrated in
As described above, according to the transfer processing of the transfer device 10 of the embodiment, processing such as packet analysis can be performed by the aggregated NSF at low cost.
It is also possible to produce a program that describes, in a computer executable language, the processing executed by the transfer device 10 according to the above embodiment. In an embodiment, the transfer device 10 can be implemented by installing a transfer program for executing the above transfer processing as packaged software or online software in a desired computer. For example, by causing an information processing apparatus to execute the transfer program, the information processing apparatus can be caused to function as the transfer device 10. Further, the information processing apparatus includes mobile communication terminals such as a smartphone, a mobile phone, and a personal handyphone system (PHS) and further includes a slate terminal such as a personal digital assistant (PDA). Further, the functions of the transfer device 10 may be implemented in a cloud server.
The memory 1010 includes a read only memory (ROM) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a basic input output system (BIOS). The hard disk drive interface 1030 is connected to a hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. For example, a removable storage medium such as a magnetic disk or an optical disc is inserted into the disk drive 1041. A mouse 1051 and a keyboard 1052, for example, are connected to the serial port interface 1050. A display 1061, for example, is connected to the video adapter 1060.
Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. All of the information described in the above embodiment is stored in the hard disk drive 1031 or the memory 1010, for example.
In addition, the transfer program is stored in the hard disk drive 1031 as a program module 1093 in which commands to be executed by the computer 1000, for example, are described. Specifically, the program module 1093 in which all of the processing executed by the transfer device described in the above embodiment is described is stored in the hard disk drive 1031.
Further, data used for information processing performed by the transfer program is stored as program data 1094 in the hard disk drive 1031, for example. Then, the CPU 1020 reads, in the RAM 1012, the program module 1093 and the program data 1094 stored in the hard disk drive 1031 as needed and executes each procedure described above.
Note that the program module 1093 and the program data 1094 related to the transfer program are not limited to being stored in the hard disk drive 1031, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via a disk drive 1041 or the like. Alternatively, the program module 1093 and the program data 1094 related to the transfer program may be stored in another computer connected via a network such as a local area network (LAN) or a wide area network (WAN) and may be read by the CPU 1020 via the network interface 1070.
Although the embodiments to which the invention made by the present inventor is applied have been described above, the present invention is not limited by the description and drawings constituting a part of the disclosure of the present invention according to the present embodiments. In other words, other embodiments, examples, operation techniques, and the like made by those skilled in the art and the like on the basis of the present embodiments are all included in the scope of the present invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/037274 | 9/30/2020 | WO |