Communication device, communication system, and communication control method
The communication device optimizes packet forwarding by generating packets from internal information and using external instructions to update tables, addressing speed and cost issues in existing devices.
Patent Information
- Application Number
- JP2024032029
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-09-17
AI Technical Summary
Existing packet forwarding devices experience decreased processing speed due to high access latency of large-capacity memories, leading to increased manufacturing costs when updating routing information.
A communication device with a forwarding processing unit that generates packets based on internal forwarding information, obtains instructions from external devices for missing information, and updates the forwarding table using statistical data to reduce memory access delays and costs.
The solution enhances packet forwarding speed while minimizing manufacturing costs by limiting internal memory usage and reducing external memory access, adapting to operating environments through detachable assistance devices.
Smart Images

Figure 2025134247000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a communication device, a communication system, and a communication control method. [Background technology]
[0002] Conventionally, communication devices for forwarding packets are known. For example, Japanese Patent Application Laid-Open Publication No. 2011-239299 (Patent Document 1) discloses a packet forwarding device that forwards packets using a routing table and an entry table. The routing table is stored in a large-capacity memory with high access latency and contains all routing information. The entry table is stored in a memory provided inside a network processor and contains a portion of routing information selected from the routing information in the routing table.
[0003] The packet forwarding device disclosed in Patent Document 1 performs a process of comparing comparison factor information, such as header information, of an input packet with routing information in an entry table. If routing information matching the comparison factor information exists in the entry table, the packet forwarding device performs a packet conversion process on the input packet to generate an output packet. On the other hand, if routing information matching the comparison factor information does not exist in the entry table, the packet forwarding device updates the entry table using the routing information in the routing table. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-239299 Summary of the Invention [Problem to be solved by the invention]
[0005] The packet forwarding device disclosed in Patent Document 1 updates the entry table using routing information obtained by accessing a routing table in a large-capacity memory when routing information matching the comparison factor information is not present in the entry table in the network processor. If such an update process is performed every time a packet for which routing information is not included in the entry table is received, the processing speed of the packet forwarding device may decrease due to the high access latency of the large-capacity memory. For example, if routing information for frequently received standard packets is replaced with routing information for exceptional packets, a further update process is required to restore the routing information for the standard packets to the entry table.
[0006] Such delays caused by accessing large amounts of memory external to the network processor can be reduced by increasing the memory capacity within the network processor, but this increase in capacity may increase the manufacturing costs of the packet forwarding device.
[0007] The present disclosure has been made to solve the above-mentioned problems, and its purpose is to speed up the packet forwarding processing of a communication device while reducing the manufacturing costs of the communication device for forwarding packets. [Means for solving the problem]
[0008] The communication device of the present disclosure includes a forwarding processing unit that receives a first packet and a memory unit that stores a forwarding table including forwarding information for the first packet. If the specific forwarding information corresponding to the first packet is included in the forwarding table, the forwarding processing unit outputs a second packet generated from the first packet based on the specific forwarding information. If the specific forwarding information is not included in the forwarding table, the forwarding processing unit obtains a forwarding instruction corresponding to the specific forwarding information from outside the communication device and outputs a third packet based on the forwarding instruction.
[0009] In the above-mentioned communication device, the forwarding processing unit may obtain an update instruction from outside the communication device corresponding to statistical information regarding the frequency with which each piece of forwarding information contained in the forwarding table is referenced as specific forwarding information, and update the forwarding table based on the update instruction.
[0010] In the above communication device, the transfer processing unit may receive a transfer instruction from a transfer assisting device external to the communication device, and the transfer assisting device may be configured to be detachable from the communication device.
[0011] In the above-mentioned communication device, the forwarding processing unit determines whether a forwarding auxiliary device is connected to the communication device, and if the specific forwarding information is not included in the forwarding table and the communication device is not connected to a forwarding auxiliary device, the forwarding processing unit may discard the first packet or output the first packet.
[0012] The communication system of the present disclosure includes a communication device that receives a first packet and a forwarding assistance device, wherein the communication device stores a first forwarding table containing forwarding information for the first packet, and the forwarding assistance device stores a second forwarding table containing forwarding information for the first packet, and when first specific forwarding information corresponding to the first packet is included in the first forwarding table, the communication device generates a second packet from the first packet based on the first specific forwarding information, and when the first specific forwarding information is not included in the first forwarding table, outputs the first packet to the forwarding assistance device, and when second specific forwarding information corresponding to the first packet is included in the second forwarding table, the forwarding assistance device outputs a forwarding instruction based on the second specific forwarding information to the communication device, and the communication device outputs a third packet based on the forwarding instruction.
[0013] In the above communication system, the communication device may output first statistical information regarding the frequency at which forwarding information included in the first forwarding table was referenced as first specific forwarding information to the forwarding assistance device, the forwarding assistance device may output an update instruction to the communication device based on the first statistical information and second statistical information regarding the frequency at which forwarding information included in the second forwarding table was referenced as second specific forwarding information, and the communication device may update the first forwarding table based on the update instruction.
[0014] The communication control method disclosed herein is performed in a communication device and includes the steps of receiving a first packet, generating a second packet from the first packet based on the specific forwarding information if the specific forwarding information corresponding to the first packet is included in a forwarding table containing the forwarding information of the first packet, obtaining a forwarding instruction corresponding to the specific forwarding information from outside the communication device if the specific forwarding information is not included in the forwarding table, and outputting a third packet based on the forwarding instruction.
[0015] In the communication control method, a communication device receives a forwarding instruction from a forwarding auxiliary device external to the communication device, and the communication device is configured to be detachable from the forwarding auxiliary device, and the communication control method further includes a step of determining whether the forwarding auxiliary device is connected to the communication device, and if the communication device is connected to the forwarding auxiliary device and the forwarding auxiliary device contains update information, the communication device updates the forwarding table based on the update information. [Effects of the Invention]
[0016] According to the present disclosure, it is possible to reduce the manufacturing costs of a communication device for forwarding packets while increasing the speed of packet forwarding processing of the communication device. [Brief explanation of the drawings]
[0017] [Figure 1] FIG. 1 is a diagram showing a schematic configuration of a PON system according to an embodiment of the present disclosure. [Figure 2]FIG. 2 is a block diagram showing an example of the configuration of the ONU in FIG. 1 and an example of the configuration of a transfer assist device that assists the transfer process of the ONU. [Figure 3] FIG. 3 is a flowchart showing an example of the flow of the transfer process performed by the transfer processing unit of FIG. [Figure 4] FIG. 4 is a flowchart showing an example of the flow of the forwarding table update process performed by the management processor of FIG. [Figure 5] FIG. 5 is a diagram showing an example of a procedure for optimizing the forwarding table of another ONU using information that was required to optimize the forwarding table of the ONU in FIG. [Figure 6] FIG. 6 is a flowchart showing an example of the flow of a process for updating the forwarding table of an ONU, which is performed based on the update information of FIG. [Figure 7] FIG. 7 is a diagram showing another example of a procedure for optimizing the forwarding table of another ONU using information required for optimizing the forwarding table of the ONU in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0018] [Description of the embodiments of the present disclosure] First, embodiments of the present disclosure will be listed and described.
[0019] (1) A communication device according to one embodiment of the present disclosure includes a forwarding processing unit that receives a first packet and a memory unit that stores a forwarding table including forwarding information for the first packet. If the forwarding table includes specific forwarding information corresponding to the first packet, the forwarding processing unit outputs a second packet generated from the first packet based on the specific forwarding information. If the forwarding table does not include the specific forwarding information, the forwarding processing unit obtains a forwarding instruction corresponding to the specific forwarding information from outside the communication device and outputs a third packet based on the forwarding instruction.
[0020] The above-described communication device receives a forwarding instruction corresponding to the first packet from an external device when the forwarding table does not contain forwarding information corresponding to the first packet. In the above-described communication device, the forwarding information included in the forwarding table can be limited to forwarding information that is expected to be referenced frequently, thereby suppressing an increase in the capacity of the internal memory that stores the forwarding table. Furthermore, the forwarding processor does not need to access external memory when the forwarding table does not contain forwarding information corresponding to the first packet, thereby eliminating delays associated with accessing external memory. The above-described communication device can speed up packet forwarding processing while suppressing manufacturing costs.
[0021] (2) In the communication device of (1) above, the forwarding processing unit may obtain an update instruction from outside the communication device corresponding to statistical information regarding the frequency with which each piece of forwarding information included in the forwarding table is referenced as specific forwarding information, and update the forwarding table based on the update instruction.
[0022] The communication device can adapt the forwarding table to the operating environment based on an external update instruction. As a result, the number of times the communication device needs to obtain forwarding information from an external source is reduced because the forwarding table does not contain forwarding information corresponding to the first packet. This further speeds up packet forwarding processing.
[0023] (3) In the communication device of (1) or (2) above, the transfer processing unit may receive a transfer instruction from a transfer assisting device external to the communication device, and the transfer assisting device may be configured to be detachable from the communication device.
[0024] According to the above, the user can detach the transfer assist device from the communication device and attach it to another communication device as needed.
[0025] (4) In the communication device of (3) above, the forwarding processing unit determines whether a forwarding support device is connected to the communication device, and if the specific forwarding information is not included in the forwarding table and the communication device is not connected to a forwarding support device, the forwarding processing unit may discard the first packet or output the first packet.
[0026] Based on the above, when a forwarding assistant device is not connected to a communication device, it is possible to determine how to handle a first packet for which corresponding forwarding information is not included in the forwarding table according to the needs of a user.
[0027] (5) A communication system according to another embodiment of the present disclosure includes a communication device that receives a first packet and a forwarding assistance device, wherein the communication device stores a first forwarding table including forwarding information for the first packet, and the forwarding assistance device stores a second forwarding table including forwarding information for the first packet, and when first specific forwarding information corresponding to the first packet is included in the first forwarding table, the communication device generates a second packet from the first packet based on the first specific forwarding information, and when the first specific forwarding information is not included in the first forwarding table, outputs the first packet to the forwarding assistance device, and when second specific forwarding information corresponding to the first packet is included in the second forwarding table, the forwarding assistance device outputs a forwarding instruction based on the second specific forwarding information to the communication device, and the communication device outputs a third packet based on the forwarding instruction.
[0028] The above-mentioned communication device receives a forwarding instruction corresponding to the first packet from the forwarding auxiliary device when the first forwarding table does not contain forwarding information corresponding to the first packet. In the above-mentioned communication device, the forwarding information included in the first forwarding table can be limited to forwarding information that is expected to be referenced frequently, thereby suppressing an increase in the capacity of the internal memory that stores the first forwarding table. Furthermore, the communication device does not need to access external memory when the first forwarding table does not contain forwarding information corresponding to the first packet, thereby eliminating delays associated with accessing external memory. The above-mentioned communication system can speed up packet forwarding processing while suppressing manufacturing costs.
[0029] (6) In the communication system of (5) above, the communication device may output first statistical information regarding the frequency at which the forwarding information included in the first forwarding table is referenced as first specific forwarding information to the forwarding assistance device, and the forwarding assistance device may output an update instruction to the communication device based on the first statistical information and second statistical information regarding the frequency at which the forwarding information included in the second forwarding table is referenced as second specific forwarding information, and the communication device may update the first forwarding table based on the update instruction.
[0030] The communication device can adapt the first forwarding table to the operating environment based on an update instruction from the forwarding auxiliary device. As a result, the number of times the communication device forwards the first packet to the forwarding auxiliary device is reduced because the first forwarding table does not contain forwarding information corresponding to the first packet. This makes it possible to further speed up packet forwarding processing.
[0031] (7) A communication control method according to another embodiment of the present disclosure is performed in a communication device and includes the steps of receiving a first packet, generating a second packet from the first packet based on the specific forwarding information if the specific forwarding information corresponding to the first packet is included in a forwarding table containing the forwarding information of the first packet, obtaining a forwarding instruction corresponding to the specific forwarding information from outside the communication device if the specific forwarding information is not included in the forwarding table, and outputting a third packet based on the forwarding instruction.
[0032] In the above communication control method, if the forwarding table does not contain forwarding information corresponding to the first packet, a forwarding instruction corresponding to the first packet is received from an external device. In the above communication control method, the forwarding information included in the forwarding table can be limited to forwarding information that is expected to be referenced frequently, thereby suppressing an increase in the capacity of the internal memory of the communication device that stores the forwarding table. In addition, in the above communication control method, if the forwarding table does not contain forwarding information corresponding to the first packet, there is no need to access external memory, thereby eliminating delays associated with accessing external memory. The above communication control method makes it possible to speed up packet forwarding processing while suppressing manufacturing costs.
[0033] (8) In the communication control method of (7), the communication device receives a forwarding instruction from a forwarding auxiliary device external to the communication device, and the communication device is configured to be detachable from the forwarding auxiliary device, and the communication control method further includes a step of determining whether the forwarding auxiliary device is connected to the communication device, and if the communication device is connected to the forwarding auxiliary device and the forwarding auxiliary device contains update information, the communication device updates the forwarding table based on the update information.
[0034] According to the above, information required for optimizing the forwarding table of a communication device can be used to optimize the forwarding tables of other communication devices that use the same communication traffic as the communication device, and as a result, the communication device can be started with its forwarding table adapted to the operating environment.
[0035] [Details of the embodiments of the present disclosure] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.
[0036] FIG. 1 is a diagram illustrating a schematic configuration of a PON (Passive Optical Network) system 1 according to an embodiment of the present disclosure. The PON system 1 is an Ethernet Passive Optical Network (EPON) ("Ethernet" and "Ethernet" are registered trademarks). In this specification, the term "EPON" is used as a general term for PONs that use Ethernet-based frames. Therefore, in the description of this embodiment, the transmission speed of the PON system 1 is not limited. For example, the PON system 1 may be a GEPON or a 10G-EPON.
[0037] As shown in FIG. 1 , in the embodiment of the present disclosure, a PON system 1 includes an OLT (Optical Line Terminal) 11, one or more ONUs (Optical Network Units) 100 (100A, 100B, 100C), and an optical line 20. The ONU 100 is an example of a "communication device" in the present disclosure. The OLT 11 is an optical line terminal on the accommodating station (center) side, and is connected to a higher-level device (not shown) in a carrier service network. Each of the ONUs 100A, 100B, 100C is an optical line terminal on the subscriber (user) side, and is installed, for example, in a subscriber's home. The number of ONUs in the PON system 1 is not particularly limited.
[0038] The optical line 20 is a communication line made up of optical fiber. The OLT 11 and the ONUs 100A, 100B, and 100C are optically connected by the optical line 20. In detail, the OLT 11 is optically connected to an optical fiber 21, and the ONUs 100A, 100B, and 100C are optically connected to optical fibers 22A, 22B, and 22C, respectively.
[0039] The optical fiber 21 and the optical fibers 22A, 22B, and 22C are optically coupled by an optical splitter / combiner 25. The optical splitter / combiner 25 splits an optical signal transmitted from the OLT 11 via the optical fiber 21. The optical signals branched by the optical splitter / combiner 25 are transmitted to the ONUs 100A, 100B, and 100C via the optical fibers 22A, 22B, and 22C, respectively. Meanwhile, the optical signals transmitted from the ONUs 100A, 100B, and 100C are transmitted via the optical fibers 22A, 22B, and 22C, respectively, and are combined at the optical splitter / combiner 25. The OLT 11 receives the optical signals from the ONUs 100A, 100B, and 100C via the optical fiber 21.
[0040] Communication devices 12A, 12B, and 12C are connected to the ONUs 100A, 100B, and 100C, respectively. The communication devices 12A, 12B, and 12C are, for example, routers. Terminal devices (not shown) are connected to each of the communication devices. The number and types of terminal devices connected to the communication devices are not particularly limited. The connection between the communication devices and the terminal devices may be either a wired connection or a wireless connection.
[0041] 2 is a block diagram showing an example of the configuration of the ONU 100 in FIG. 1 and an example of the configuration of a transfer assist device 200 that assists the transfer processing of the ONU 100. In the following, a transmission unit of data transmitted and received over a network regardless of the layer of the communication protocol is referred to as a packet, and a packet transmitted and received at the data link layer is also particularly referred to as a frame.
[0042] 2, the ONU 100 includes a transfer processing unit 110 and an internal memory 120. For example, the transfer processing unit 110 is configured as an FPGA (Field Programmable Gate Array).
[0043] The transfer processing unit 110 includes a receiving unit 111, a matching information extracting unit 112, a matching unit 113, a transfer destination selecting unit 114, a generating unit 115, a transmitting unit 116, a table managing unit 117, and buffers Bf1, Bf2, and Bf3.
[0044] Internal memory 120 stores forwarding table FT1 (first forwarding table) and statistical information St1 (first statistical information). Forwarding table FT1 contains forwarding information for packets (first packets) received by ONU 100. Hereinafter, the forwarding information contained in the forwarding table will also be referred to as an entry. For example, the forwarding information is a forwarding rule that includes a matching condition for associating the forwarding information with a packet and an action to be performed when the matching condition is satisfied. Statistical information St1 contains, for each piece of forwarding information contained in forwarding table FT1, information regarding the frequency with which the piece of forwarding information has been referenced as the forwarding information corresponding to the packet (first specific forwarding information). The information regarding the frequency includes, for example, the number of times it has been referenced within a reference time interval (e.g., 1 second), the total number of times it has been referenced up to the present time, and the time of reference.
[0045] The receiver 111 receives a packet from outside the ONU 100. The receiver 111 outputs the packet to the matching information extractor 112 and the buffer Bf1.
[0046] Matching information extraction unit 112 extracts information (matching information) necessary for matching a packet received by receiving unit 111 (received packet) with forwarding information included in forwarding table FT1 from the received packet, and outputs the information to matching unit 113. The matching information includes, for example, the first 16 bits of the MAC (Media Access Control) address included in the received packet, and the type of the received packet (for example, a File Transfer Protocol (FTP) packet or a voice packet).
[0047] Matching unit 113 uses the matching information from matching information extraction unit 112 to determine whether forwarding information corresponding to the received packet is included in forwarding table FT1, and outputs the determination result to forwarding destination selection unit 114 and generation unit 115. If forwarding information corresponding to the received packet is included in forwarding table FT1, matching unit 113 outputs the forwarding information to generation unit 115.
[0048] If forwarding information corresponding to the received packet is included in forwarding table FT1, destination selection unit 114 outputs the received packet stored in buffer Bf1 to generation unit 115. If forwarding information corresponding to the received packet is included in forwarding table FT1, generation unit 115 generates a transmission packet (second packet) from the received packet based on the forwarding information from matching unit 113 and the received packet from destination selection unit 114, and outputs the transmission packet to buffer Bf2.
[0049] If the forwarding information corresponding to the received packet is not included in the forwarding table FT1, the transfer destination selection unit 114 outputs the received packet and the statistical information St1 stored in the buffer Bf1 to the transfer assistant device 200.
[0050] The table management unit 117 transmits the statistical information St1 to the transfer assistant device 200. The table management unit 117 updates the forwarding table FT1 based on an update instruction from the transfer assistant device 200.
[0051] The auxiliary transfer device 200 includes a management processor 210 and an external memory 220. The auxiliary transfer device 200 is configured to be detachable from the ONU 100. A user can remove the auxiliary transfer device 200 from the ONU 100 and attach it to another ONU 100 as needed. The auxiliary transfer device 200 may be configured integrally with the ONU 100.
[0052] The management processor 210 includes a memory controller 211, a determination unit 212, a network interface 213, a generation unit 214, and a table management unit 215. These are connected to each other via an internal bus 219. The determination unit 212, the generation unit 214, and the table management unit 215 may be realized by the management processor 210 executing a packet management program (not shown).
[0053] The external memory 220 stores the forwarding table FT2 (second forwarding table), the statistical information St2 (second statistical information), and the update information Upd. The external memory 220 is a volatile storage device such as a DDR (Double Data Rate) 4 memory. In order to store the forwarding table FT2, which is larger in size than the forwarding table FT1, it is desirable that the capacity of the external memory 220 be larger than the capacity of the internal memory 120.
[0054] Like forwarding table FT1, forwarding table FT2 contains forwarding information for packets received by ONU 100. Statistical information St2 contains information about the frequency with which each piece of forwarding information contained in forwarding table FT2 is referenced as the forwarding information (second specific forwarding information) corresponding to that packet. Update information Upd stores information learned during the update process of forwarding table FT1 of ONU 100 for optimizing forwarding table FT1 for users of ONU 100.
[0055] The management processor 210 includes, for example, a CPU (Central Processing Unit). The management processor 210 transmits and receives packets to and from an external device (ONU 100 in FIG. 1) via a network interface 213. The management processor 210 controls the external memory 220 via a memory controller 211.
[0056] Determination unit 212 interprets a packet received by network interface 213 (received packet) and extracts from the received packet information necessary for matching with the forwarding information included in forwarding table FT2. Determination unit 212 uses this information to determine whether forwarding information corresponding to the received packet is included in forwarding table FT2, and outputs the determination result to generation unit 214. If forwarding information corresponding to the received packet is included in forwarding table FT2, determination unit 212 outputs the forwarding information to generation unit 214. Note that determination unit 212 may also output the forwarding information to ONU 100 as a forwarding instruction.
[0057] If the forwarding information corresponding to the received packet is included in the forwarding table FT2, the generation unit 214 generates a transmission packet (third packet) from the received packet based on the forwarding information from the determination unit 212, and outputs the transmission packet to the ONU 100 as a forwarding instruction via the network interface 213.
[0058] The table management unit 215 outputs a table update packet (update instruction) based on the statistical information St1 and St2 to the receiving unit 111 of the ONU 100. The table management unit 215 saves the information included in the table update packet as update information Upd.
[0059] The ONU 100 receives a packet from the auxiliary transfer device 200 in the buffer Bf3. If a new packet is stored in the buffer Bf2, the transmitter 116 outputs the packet to the outside of the ONU 100. If a new packet is stored in the buffer Bf3, the transmitter 116 outputs the packet to the outside of the ONU 100.
[0060] If forwarding table FT1 does not contain forwarding information corresponding to the received packet, ONU 100 receives a forwarding instruction corresponding to the received packet from external forwarding auxiliary device 200. In ONU 100, the forwarding information included in forwarding table FT1 can be limited to forwarding information that is expected to be referenced frequently, thereby suppressing an increase in the capacity of internal memory 120 that stores forwarding table FT1. Furthermore, if forwarding table FT1 does not contain forwarding information corresponding to the received packet, forwarding processing unit 110 of ONU 100 does not need to access external memory 220 of forwarding auxiliary device 200, so there is no delay associated with accessing external memory 220. In this way, ONU 100 can speed up packet forwarding processing while suppressing manufacturing costs.
[0061] Fig. 3 is a flowchart showing an example of the flow of the transfer process performed by the transfer processing unit 110 in Fig. 2. In the following, steps will be simply abbreviated as S.
[0062] 3, the transfer processing unit 110 determines in S101 whether a timer that counts a reference time interval for collecting statistical information has expired. If the time interval has expired (YES in S101), the transfer processing unit 110 resets the count of the timer and the number of references to each entry in the forwarding table FT1 in S102, transmits statistical information St1 to the transfer auxiliary device 200, and returns the process to S101. If the time interval has not expired (NO in S101), the transfer processing unit 110 proceeds to S103.
[0063] In S103, the transfer processing unit 110 determines whether or not a packet has been received. If the transfer processing unit 110 has not received a packet (NO in S103), the process returns to S101. If the transfer processing unit 110 has received a packet (YES in S103), the process proceeds to S104.
[0064] In S104, the transfer processing unit 110 performs a format check of the received packet and proceeds to S105. If the transfer processing unit 110 detects an error in the format of the received packet (for example, a missing header) (YES in S105), the transfer processing unit 110 returns the process to S101. If no such error is detected (NO in S105), the transfer processing unit 110 proceeds to S106.
[0065] In S106, the forwarding processing unit 110 extracts matching information from the received packet and proceeds to S107. The forwarding processing unit 110 compares each piece of forwarding information included in the forwarding table FT1 with the matching information, and proceeds to S108.
[0066] In S108, forwarding processing unit 110 determines whether forwarding information matching the received packet is included in forwarding table FT1. If forwarding information matching the received packet is included in forwarding table FT1 (YES in S108), forwarding processing unit 110 proceeds to S109. If the forwarding information is not included in forwarding table FT1 (NO in S108), forwarding processing unit 110 proceeds to S114.
[0067] In S109, the transfer processing unit 110 determines whether the received packet is a table update packet from the transfer auxiliary device 200. If the received packet is a table update packet from the transfer auxiliary device 200 (YES in S109), the transfer processing unit 110 updates the forwarding table FT1 based on the table update packet in S110, transmits a response packet to the transfer auxiliary device 200, and returns the process to S101. If the received packet is not a table update packet from the transfer auxiliary device 200 (NO in S109), the transfer processing unit 110 updates the statistical information St1 in S111, and proceeds to the process at S112. The transfer processing unit 110 generates a transmission packet in S112, and proceeds to the process at S113.
[0068] In S114, the transfer processing unit 110 determines whether or not the transfer assistant device 200 is connected to the ONU 100. If the transfer assistant device 200 is connected to the ONU 100 (YES in S114), the transfer processing unit 110 transfers the received packet to the transfer assistant device 200 in S115, and proceeds to S113. If the transfer assistant device 200 is not connected to the ONU 100 (NO in S114), the transfer processing unit 110 proceeds to S116.
[0069] In S116, the forwarding processing unit 110 determines whether forced forwarding is enabled for forcibly transmitting a received packet that does not have forwarding information corresponding to the forwarding table FT1 as an outgoing packet to the outside. If the forced forwarding is disabled (NO in S116), the forwarding processing unit 110 forwards the received packet to the outside from an interface (port or terminal) for connecting to the forwarding auxiliary device 200 in S117. In this case, since the forwarding auxiliary device 200 is not connected to the interface, the received packet is ultimately discarded. If the forced forwarding is enabled (YES in S116), the forwarding processing unit 110 proceeds to S113. When the forwarding auxiliary device 200 is not connected to the ONU 100, how to handle a received packet that does not include forwarding information corresponding to the forwarding table FT1 can be determined according to the user's needs.
[0070] In S113, the transfer processing unit 110 transmits the transmission packet stored in either the buffer Bf2 or Bf3 to the outside, and ends the process.
[0071] Fig. 4 is a flowchart showing an example of the flow of the process of updating the forwarding table FT1 performed by the management processor 210 of Fig. 2. As shown in Fig. 4, the management processor 210 determines in S201 whether or not statistical information St1 has been received from the ONU 100. If statistical information St1 has not been received from the ONU 100 (NO in S201), the management processor 210 updates statistical information St2 in S202 and returns the process to S201. If statistical information St1 has been received from the ONU 100 (YES in S201), the management processor 210 advances the process to S203.
[0072] In S203, the management processor 210 determines whether the current time is the timing to update the forwarding table FT2. If the current time is not the timing to update the forwarding table FT2 (NO in S203), the management processor 210 returns the process to S201. If the current time is the timing to update the forwarding table FT2 (YES in S203), the management processor 210 updates the forwarding table FT2 for each layer in S204 and proceeds to S205. The timing to update the forwarding table FT2 may be, for example, a predetermined time or may be a timing that arrives at a fixed time interval.
[0073] In S205, the management processor 210 determines whether updating of the forwarding table FT2 has been completed for all layers. If updating of the forwarding table FT2 has not been completed for all layers (NO in S205), the management processor 210 returns the process to S204. If updating of the forwarding table FT2 has been completed for all layers (YES in S205), the management processor 210 sorts the entries of the forwarding table FT2 in order of the number of references for each layer in S206, and proceeds to S207. Note that, among the entries of the forwarding table FT2, the number of references for an entry that is also included in the forwarding table FT1 is usually 0, so the ranking of that entry is lowest.
[0074] In S207, the management processor 210 determines whether the update of the forwarding table FT1 has been completed. The update of the forwarding table FT1 is completed when it has been determined whether or not each entry included in the forwarding table FT1 should be removed from the forwarding table FT1. If the update of the forwarding table FT1 has been completed (YES in S207), the management processor 210 ends the processing. If the update of the forwarding table FT1 has not been completed (NO in S207), the management processor 210 proceeds to S208.
[0075] In S208, the management processor 210 determines whether or not the forwarding table FT1 contains an entry. If the forwarding table FT1 does not contain an entry (NO in S208), the management processor 210 proceeds to S209. If the forwarding table FT1 contains an entry (YES in S208), the management processor 210 compares in S211 the number of references (number of references in a reference time interval or the total number of references in the past) of the current entry (target entry) in the forwarding table FT1 with the number of references of each entry in the forwarding table FT2, and proceeds to S212.
[0076] In S212, the management processor 210 determines whether the number of times the target entry in forwarding table FT1 has been referenced is greater than the number of times each entry in forwarding table FT2 has been referenced. If the number of times the target entry in forwarding table FT1 has been referenced is greater than the number of times each entry in forwarding table FT2 has been referenced (YES in S212), the management processor 210 returns the process to S207.
[0077] If there is an entry (high frequency entry) in forwarding table FT2 that is referenced more frequently than the target entry in forwarding table FT1 (NO in S212), in S213, the management processor 210 sends an entry clear packet to ONU 100 instructing it to remove the target entry from forwarding table FT1, and proceeds to S209.
[0078] In S209, the management processor 210 determines whether the high-frequency entry matches the forwarding table FT1. For example, if the total traffic rate of the priority queue is 40 frames / s or less, the management processor 210 determines that the high-frequency entry matches the forwarding table FT1, and if the total traffic rate of the priority queue is more than 40 frames / s, the management processor 210 determines that the high-frequency entry does not match the forwarding table FT1.
[0079] If the high-frequency entry does not match the forwarding table FT1 (NO in S209), the management processor 210 returns the process to S207. If the high-frequency entry matches the forwarding table FT1 (YES in S209), the management processor 210 sends a table update packet to the ONU 100 instructing it to add the high-frequency entry to the forwarding table FT1 in S210, deletes the high-frequency entry from the forwarding table FT2, adds the information contained in the table update packet to the update information Upd, and returns the process to S207.
[0080] An example of how the ONU 100 and auxiliary forwarding device 200 update (optimize) the forwarding table FT1 of the ONU 100 in accordance with the actual communication traffic situation will be described below with reference to Tables 1 to 5. In the following description, the physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer of the OSI (Open Systems Interconnection) reference model are represented as layers L1, L2, L3, L4, L5, L6, and L7, respectively. Whether a received packet satisfies the matching condition (matching determination) is determined in the order of layers L1 to L7. Two layers (e.g., layers L2 and L3) in determining whether the matching condition is satisfied may be in the same order.
[0081] Table 1 below shows a model of communication traffic assumed at the design stage of the ONU 100, together with the communication traffic in the environment in which the ONU 100 is actually operated.
[0082] [Table 1]
[0083] As shown in Table 1, for packets other than packet (1), the reception frequency assumed during the design stage differs from the actual reception frequency. In particular, during the design stage, the reception frequency of voice packets was estimated to be three times the reception frequency of FTP packets, but in actual operation, the reception frequency of voice packets is zero, and the reception frequency of FTP packets is twice that during the design stage.
[0084] Table 2 below shows the contents of forwarding tables FT1 and FT2 at the start of operation. In Table 2, the reference order is the order in which the matching conditions are compared against received packets at the corresponding layer. This applies to subsequent tables. The enable / disable setting indicates whether the corresponding matching condition can be referenced. If a packet matches a valid matching condition, the matching condition may be temporarily disabled. The time until disable release is the time interval from the time the matching condition is disabled until it is enabled again when a packet matches a valid matching condition and the matching condition is disabled. If the enable / disable setting is enabled, the corresponding matching condition can always be referenced. In this case, the time until disable release is not applicable (NA). If the enable / disable setting is toggled, the matching condition is temporarily disabled when a packet matches the corresponding matching condition. The action indicates the process to be performed on the packet when the packet matches the corresponding matching condition. Que[0] indicates the priority queue. The statistics for forwarding table FT1 include the number of references per second. The statistical information for the forwarding table FT2 includes the number of references per second, the total number of references to the forwarding table FT2, and the total number of references to the forwarding table FT1. This also applies to Table 2 and subsequent tables.
[0085] [Table 2]
[0086] As shown in Table 2, at the start of operation, forwarding table FT1 includes matching condition C11 for layer L2 and matching conditions C21 and C22 for layer L4. Forwarding table FT2 includes matching conditions C12 and C11 for layer L2 and matching conditions C23, C24, C21, and C22 for layer L4. Because matching conditions C11, C21, and C22 are included in forwarding table FT1, their reference order in forwarding table FT2 is lower than the reference order of other matching conditions that are not included in forwarding table FT1.
[0087] Table 3 below shows the contents of the forwarding tables FT1 and FT2 at the start of updating the forwarding table FT1.
[0088] [Table 3]
[0089] As shown in Table 3, the statistical information has changed from the statistical information shown in Table 2 over time since the start of operation. In layer L4, matching condition C24 has the highest number of references in one-second intervals and the highest total number of references in layer L4.
[0090] Table 4 below shows both forwarding table FT1 and forwarding table FT2 in which the entries have been sorted and the reference order changed based on the statistical information in Table 3.
[0091] [Table 4]
[0092] As shown in Table 4, matching condition C24, which has the highest number of references per second at layer L4, has the highest reference order at layer L4. When comparing forwarding tables FT1 and FT2 for the number of references per second of matching conditions related to layer L2, matching condition C12 in forwarding table FT2 is more frequent than matching condition C11 in forwarding table FT1. When comparing forwarding tables FT1 and FT2 for the number of references per second of matching conditions related to layer L4, matching condition C24 in forwarding table FT2 is more frequent than matching condition C22 in forwarding table FT1.
[0093] Table 5 below shows the forwarding tables FT1 and FT2 after they have been updated based on the reference order in forwarding table FT2 of Table 4.
[0094] [Table 5]
[0095] As shown in Table 5, in the forwarding table FT2 of Table 4, the top matching condition C12 of layer L2 and the top matching condition C24 of layer L4 are replaced with the matching conditions of layers L2 and L4 in the forwarding table FT1, respectively.
[0096] As described above, ONU100 adapts the forwarding table FT1 to the operating environment based on the update instruction from the auxiliary forwarding device 200. As a result, the number of times a received packet is forwarded from ONU100 to the auxiliary forwarding device 200 decreases because the forwarding table FT1 does not contain forwarding information corresponding to the received packet. ONU100 can further speed up packet forwarding processing.
[0097] When the forwarding table FT1 of ONU 100 is updated to match the actual communication traffic conditions as described above, the information used to optimize the forwarding table FT1 remains in the update information Upd of the auxiliary forwarding device 200. If the auxiliary forwarding device 200 includes the update information Upd, the update information Upd can be used as is to optimize the forwarding tables FT1 of other ONUs 100 that are used for communication traffic similar to that of the original ONU 100. On the other hand, if the user's usage of the original ONU 100 does not change even after the auxiliary forwarding device 200 is removed from the original ONU 100, the forwarding table FT1 of the original ONU 100 will remain optimal for that user.
[0098] 5 is a diagram showing an example of a procedure for optimizing the forwarding table FT1 of another ONU 100B using information that was necessary for optimizing the forwarding table FT1 of another ONU 100A in FIG. It is assumed that the user's usage (communication traffic) of ONU 100B is similar to the user's usage of ONU 100A. The similarity between the user's usage of ONU 100A and the user's usage of ONU 100B may be determined based on classes classified by a classification model that has been trained by rule-based pattern matching, similarity calculation, or machine learning, for example.
[0099] As shown in FIG. 5, in S11, the transfer assistant device 200 is attached to ONU 100A. In S12, the transfer assistant device 200 performs an update process on the forwarding table FT1, making the forwarding table FT1 learned (optimized), and also stores the update information Upd used to optimize the forwarding table FT1 in the transfer assistant device 200 of the forwarding table FT1. In S13, the transfer assistant device 200 is removed from ONU 100A. If the user's usage of ONU 100A does not change even after the transfer assistant device 200 is removed from ONU 100A, the forwarding table FT1 of ONU 100A will be maintained at the optimal content for that user.
[0100] In S21, the forwarding support device 200 is attached to the ONU 100B. In S22, the forwarding table FT1 of the ONU 100B is updated using the update information Upd. When the forwarding table FT1 of the ONU 100B is determined to have been learned, the forwarding support device 200 may be removed from the ONU 100B and attached to, for example, the ONU 100C in FIG. 1 .
[0101] Fig. 6 is a flowchart showing an example of the flow of the process of updating the forwarding table FT1 of the ONU 100 (S22 in Fig. 5) performed based on the update information Upd in Fig. 2. The update process shown in Fig. 6 is performed, for example, from the time when the auxiliary forwarding device 200 is attached to the ONU 100 until the first packet is received after that time.
[0102] 6, in S121, the table management unit 117 of the ONU 100 determines whether or not the transfer assistant device 200 is connected to the ONU 100. If the transfer assistant device 200 is not connected to the ONU 100 (NO in S121), the table management unit 117 ends the process. If the transfer assistant device 200 is connected to the ONU 100 (YES in S121), the table management unit 117 requests update information Upd from the transfer assistant device 200 in S122, and proceeds to S123.
[0103] In S123, the ONU 100 determines whether or not the update information Upd has been acquired from the transfer auxiliary device 200. If the update information Upd cannot be acquired from the transfer auxiliary device 200 (NO in S123), the table management unit 117 ends the processing. If the update information Upd has been acquired from the transfer auxiliary device 200 (YES in S123), the table management unit 117 updates the forwarding table FT1 based on the update information Upd in S124, and ends the processing.
[0104] FIG. 7 illustrates another example of a procedure for optimizing the forwarding table FT1 of another ONU 100B using information required for optimizing the forwarding table FT1 of another ONU 100A in FIG. 1. The procedure in FIG. 7 is a procedure in which S13 and S21 in FIG. 5 are replaced with S33 and S41, respectively, and S22 in FIG. 5 is omitted. In FIG. 5, a case was described in which the forwarding table FT1 of ONU 100B is optimized by installing a forwarding support device 200 having update information Upd required for optimizing the forwarding table FT1 of ONU 100A in ONU 100B. In FIG. 7, a case is described in which the forwarding table FT1 of ONU 100A optimized by the forwarding support device 200 is directly applied to ONU 100B. Note that S11 and S12 in FIG. 7 are similar to S11 and S12 in FIG. 5, respectively, and therefore will not be described again.
[0105] 7, in S33, a copy of the learned forwarding table FT1 of ONU 100A is obtained from ONU 100A. In S41, the copy is saved in ONU 100B. Because the user's usage of ONU 100B is similar to the user's usage of ONU 100A, packet forwarding by ONU 100B can be optimized even if the learned forwarding table FT1 of ONU 100A is used as is.
[0106] As described above, with auxiliary forwarding device 200, the information required to optimize forwarding table FT1 of ONU 100 can be reused to optimize the forwarding tables FT1 of other ONUs 100 that use the same communication traffic as ONU 100. As a result, it is possible to start using ONU 100 with forwarding table FT1 adapted to the operating environment.
[0107] As described above, according to the embodiment, it is possible to reduce the manufacturing costs of communication devices for forwarding packets while increasing the speed of packet forwarding processing of the communication devices.
[0108] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is defined by the claims rather than the above-described embodiments, and it is intended to include any modifications within the scope of the claims and meanings equivalent to the claims. [Explanation of symbols]
[0109] 1 PON System 12A~12C communication equipment 20 Fiber optic lines 21, 22A~22C Optical fiber 25 Combiner 100,100A~100C ONU 110 Transfer processing unit 111 Packet receiver 112 Matching information extraction unit 113 Matching Department 114 Transfer destination selection unit 115,214 generation part 116 Packet transmitter 117,215 Table Management Department 120 internal memory 200 Transfer Aid Device 210 Management Processor 211 Memory Controller 212 Judgment section 213 Network Interface 219 Internal Bus 220 external memory Bf1~Bf3 buffers C11,C12,C21,C22,C23,C24 Matching conditions FT1,FT2 forwarding table L1~L7 layers St1,St2 statistics Update information
Claims
1. A communication device, a forwarding processing unit that receives the first packet; a storage unit that stores a forwarding table including forwarding information for the first packet; The transfer processing unit If specific forwarding information corresponding to the first packet is included in the forwarding table, output a second packet generated from the first packet based on the specific forwarding information; If the specific forwarding information is not included in the forwarding table, the communication device obtains a forwarding instruction corresponding to the specific forwarding information from outside the communication device and outputs a third packet based on the forwarding instruction.
2. The transfer processing unit acquiring, from outside the communication device, an update instruction corresponding to statistical information regarding the frequency with which each piece of forwarding information included in the forwarding table is referenced as the specific forwarding information; The communication device according to claim 1 , wherein the forwarding table is updated based on the update instruction.
3. the transfer processing unit receives the transfer instruction from a transfer assisting device external to the communication device; 3. The communication device according to claim 1, wherein the transfer assist device is configured to be detachable from the communication device.
4. the transfer processing unit determines whether the transfer assist device is connected to the communication device; 4. The communication device according to claim 3, wherein if the specific forwarding information is not included in the forwarding table and the communication device is not connected to the forwarding auxiliary device, the forwarding processing unit discards the first packet or outputs the first packet.
5. a communication device that receives the first packet; a transfer assist device; the communication device stores a first forwarding table including forwarding information for the first packet; the auxiliary forwarding device stores a second forwarding table including forwarding information for the first packet; The communication device If first specific forwarding information corresponding to the first packet is included in the first forwarding table, generating a second packet from the first packet based on the first specific forwarding information; If the first specific forwarding information is not included in the first forwarding table, output the first packet to the auxiliary forwarding device; The transfer auxiliary device is If the second forwarding table includes second specific forwarding information corresponding to the first packet, output a forwarding instruction based on the second specific forwarding information to the communication device; The communication device outputs a third packet based on the transfer instruction.
6. the communication device outputs first statistical information regarding a frequency at which the forwarding information included in the first forwarding table is referenced as the first specific forwarding information to the forwarding assistance device; the forwarding assistance device outputs an update instruction to the communication device based on the first statistical information and second statistical information regarding a frequency at which the forwarding information included in the second forwarding table is referenced as the second specific forwarding information; The communication system according to claim 5 , wherein the communication device updates the first forwarding table based on the update instruction.
7. A communication control method performed in a communication device, receiving a first packet; generating a second packet from the first packet based on specific forwarding information when specific forwarding information corresponding to the first packet is included in a forwarding table including forwarding information of the first packet; If the specific forwarding information is not included in the forwarding table, acquiring a forwarding instruction corresponding to the specific forwarding information from outside the communication device; and outputting a third packet based on the transfer instruction.
8. the communication device receives the transfer instruction from a transfer assisting device external to the communication device; the communication device is configured to be detachable from the transfer assist device; The communication control method includes: determining whether the transfer assist device is connected to the communication device; 8. The communication control method according to claim 7, further comprising the step of: if the communication device is connected to the auxiliary forwarding device and the auxiliary forwarding device contains update information, the communication device updates the forwarding table based on the update information.
Citation Information
Patent Citations
Packet transfer device and packet transfer method
JP2011239299A