Network Switches and Programs
Patent Information
- Application Number
- JP2021023703
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-17
- Publication Date
- 2025-03-27
- Estimated Expiration
- 2041-02-17
Smart Images

Figure 0007652582000001 
Figure 0007652582000002 
Figure 0007652582000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a network switch and a program. [Background technology]
[0002] It is being considered to replace program production systems that have been configured using SDI (Serial Digital Interface) (see Non-Patent Document 1) with general Ethernet (registered trademark) / IP (see Non-Patent Document 2) networks. Compared with SDI, IP networks can transmit a larger amount of data per hour, and can transmit different types of signals, such as video signals and audio signals, multiplexed on the same network. Therefore, program production systems configured using IP networks are suitable not only for the conventional production of programs with HD (High Definition) image quality, but also for the production of programs with higher resolutions, such as 4K or 8K.
[0003] SMPTE ST2110-20 (Non-Patent Document 3) has been published as a standard for converting video signals into IP packets and transmitting them over an IP network. SMPTE ST2110-30 / 31 have also been published as standards for converting audio signals into IP packets and transmitting them over an IP network. In these standards, video signals are transmitted by UDP (see Non-Patent Document 4) / RTP (see Non-Patent Document 5). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] SMPTE ST292-1: 1.5Gb / S Signal / Data Serial Interface [Non-Patent Document 2] RFC791: Internet Protocol [Non-Patent Document 3] SMPTE ST2110-20: Professional Media Over Managed IP Networks: Uncompressed Active Video [Non-Patent Document 4] RFC768: User Datagram Protocol [Non-Patent Document 5] RFC3550: RTP: A Transport Protocol for Real-Time Applications Summary of the Invention [Problem to be solved by the invention]
[0005] Network switches are installed on the network through which packets are transmitted. From the information written in the header of the received packet, the network switch determines the output port of the packet according to the forwarding destination of the packet. Therefore, when packets received from multiple ports are output from one port, the packets may be assigned in excess of the data rate that the port can output. In the following, this state is called congestion. When congestion occurs, packets may be discarded within the network switch. For example, if device A is receiving video 1 while device B starts receiving video 2 via the same route, congestion may occur on the route along the way, and as a result, packets for both video 1 and video 2 may be discarded.
[0006] If packets are discarded, the quality of video and audio transmitted using a method that uses UDP / RTP as the transport protocol and does not use FEC (Forward Error Coding), such as SMPTE2110-20 / 30, will deteriorate. For this reason, efforts have been made to prevent video and audio packets from being discarded.
[0007] For example, network switches of the grade used for transmitting video and audio have a function that selects packets based on the source IP address, destination IP address, source L4 port, destination L4 port, and the value of the DSCP (Differentiated Services Code Point) field in the IP header, and assigns them to an arbitrary transmission queue.Therefore, there is a method of setting a filter based on the address information of the video and audio flow to be transmitted in the switch, assigning packets that match the filter to a specific transmission queue, and controlling the output data rate from that specific transmission queue so that it is equal to or higher than the data rate of the video and audio flow set in advance.
[0008] In addition, since television production often uses multicast for transmitting video and audio, there is also a method of referencing the payload of the IGMP (Internet Group Management Protocol) packet that requests multicast transmission, and discarding requests that are not to a pre-registered multicast address.
[0009] However, in program production, it is difficult to register IP address or port number information in advance because a large amount of video and audio is transmitted. Also, if there is an error in the settings, packets will be discarded, requests will not be accepted, and transmission will not take place at all, resulting in other problems.
[0010] The object of the present invention is to solve the above-mentioned problems and provide a network switch and program that can prevent packets of a flow in progress from being discarded due to the start of transmission of a new flow, without having to register information such as the IP address or port number of the flow to be protected. [Means for solving the problem]
[0011] In order to solve the above problems, the network switch of the present invention is a network switch that forwards packets on a network, and includes a flow registration unit that registers as a protected flow a flow in which the amount of change in data rate within a specified time is below a specified threshold and the number of discarded packets is below a specified threshold; a flow classification unit that identifies the flow in which the received packet is included based on the header of the packet and determines whether the identified flow is registered as the protected flow; a distribution unit that distributes the packet to a first transmission queue if the identified flow is registered as the protected flow, and distributes the packet to a second transmission queue if the identified flow is not registered as the protected flow; and a transmission queue control unit that controls the transmission of packets from the first transmission queue and the second transmission queue so that the data rate of the transmission of packets from the first transmission queue is equal to or higher than the data rate of the flow registered as the protected flow.
[0012] Furthermore, in the network switch of the present invention, the flow registration unit stores, for each flow, a transmission duration which is the time during which the amount of change in the data rate is equal to or less than a predetermined threshold and the number of discarded packets is equal to or less than a predetermined threshold, and registers as the protected flow a flow whose transmission duration exceeds the predetermined threshold.
[0013] Furthermore, in the network switch of the present invention, the distribution unit measures, for each flow, the number of processed packets, which is the number of packets queued in the first transmission queue or the second transmission queue, and the number of discarded packets, and the flow registration unit acquires and stores the measurement results of the distribution unit at a predetermined acquisition period, calculates the data rate based on the difference between the number of processed packets in the newly acquired measurement result and the number of processed packets in the stored previous measurement result and the acquisition period, and when an amount of change in the calculated data rate is equal to or less than a predetermined threshold and when the difference between the number of discarded packets in the newly acquired measurement result and the number of discarded packets in the stored previous measurement result is equal to or less than a predetermined threshold, stores the time obtained by adding the acquisition period to the stored previous transmission duration as a new transmission duration.
[0014] Furthermore, in the network switch of the present invention, the flow registration unit resets the transmission duration of the flow when the amount of change in the data rate of the flow is greater than a predetermined threshold, or when the difference between the number of discarded packets in the newly acquired measurement result and the number of discarded packets in the previously stored measurement result is greater than a predetermined threshold.
[0015] In order to achieve the above object, a program according to the present invention causes a computer to function as the network switch. Effect of the Invention
[0016] The network switch and program of the present invention can prevent packets of a flow in progress from being discarded due to the start of transmission of a new flow, without the need to register information such as the IP address or port number of the flow to be protected. [Brief description of the drawings]
[0017] [Figure 1] 1 is a diagram illustrating an example of the configuration of a network switch according to an embodiment of the present invention. [Diagram 2]2 is a diagram illustrating an example of the configuration of a transmission unit illustrated in FIG. 1; [Diagram 3] 3 is a flowchart showing an example of the operation of a transmission unit shown in FIG. 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0019] 1 is a diagram showing an example of the configuration of a network switch 10 according to an embodiment of the present invention. The network switch 10 according to this embodiment receives a packet (IP packet) transmitted over a network, and forwards the received packet to the destination of the packet.
[0020] As shown in FIG. 1, a network switch 10 according to this embodiment includes a plurality of receiving units 11, a routing unit 12, and a plurality of transmitting units 13.
[0021] The receiving unit 11 receives packets transmitted from the outside via the network, and outputs the packets to the routing unit 12 .
[0022] The routing unit 12 determines an output port for the packet output from the receiving unit 11 , and outputs the packet to the transmitting unit 13 .
[0023] The transmitting unit 13 transmits the packet output from the routing unit 12 to the output port determined by the routing unit 12 .
[0024] Next, a description will be given of the configuration of the transmission unit 13. Note that since the configurations of the reception unit 11 and the routing unit 12 are the same as those of the conventional ones, a description thereof will be omitted.
[0025] FIG. 2 is a diagram showing an example of the configuration of the transmission unit 13. As shown in FIG.
[0026] As shown in FIG. 2, the transmission unit 13 includes a flow classification unit 131, a flow measurement unit 132, a flow registration unit 133, a protected flow transmission queue 134, an unprotected flow transmission queue 135, a transmission queue control unit 136, and a transmission interface 137.
[0027] The flow classification unit 131 receives a packet output from the routing unit 12 (a packet received from the outside). Based on the header of the input packet, the flow classification unit 131 identifies a flow including the packet. Specifically, the flow classification unit 131 treats a collection of packets whose "source IP address", "destination IP address", "L4 protocol type", "source L4 port", and "destination L4 port" in the packet header match as one flow. The flow classification unit 131 determines whether or not the flow including the received packet is registered as a protected flow. In this way, the flow classification unit 131 identifies a flow including the received packet based on the header of the received packet, and determines whether or not the identified flow is registered as a protected flow. The flow classification unit 131 outputs the packet output from the routing unit 12 and a determination result of whether or not the flow including the packet is registered as a protected flow to the flow measurement unit 132.
[0028] The flow measurement unit 132 receives a packet and a determination result of whether or not the flow including the packet is registered as a protected flow from the flow classification unit 131. If the determination result indicates that the flow including the packet is registered as a protected flow, the flow measurement unit 132 queues the packet in a protected flow transmission queue 134. In other cases, the flow measurement unit 132 queues the packet in a non-protected flow transmission queue 135. In this way, the flow measurement unit 132 as a distribution unit distributes the received packet to a protected flow transmission queue 134 (first transmission queue) when the identified flow is registered as a protected flow, and distributes the received packet to a non-protected flow transmission queue 135 (second transmission queue) when the identified flow is not registered as a protected flow.
[0029] Furthermore, the flow measurement unit 132 includes a storage unit (not shown) that records the number of discarded packets and the number of processed packets for each flow. When the flow measurement unit 132 queues a packet in the protected flow transmission queue 134 or the unprotected flow transmission queue 135, the flow measurement unit 132 increments the number of processed packets of the flow including the packet by one. Furthermore, when a packet overflows and is discarded during queuing of the packet in the protected flow transmission queue 134 or the unprotected flow transmission queue 135, the flow measurement unit 132 increments the number of discarded packets of the flow including the packet by one.
[0030] The flow registration unit 133 holds a flow list that stores, for each flow, a data rate, a transmission duration, the number of processed packets, the number of discarded packets, and a protection flag indicating whether or not the flow is a protected flow. The flow registration unit 133 acquires the measurement results of the number of processed packets and the number of discarded packets for each flow from the flow measurement unit 132 at any period (for example, every second). The flow registration unit 133 updates the flow list based on the measurement results acquired from the flow measurement unit 132.
[0031] The flow registration unit 133 calculates the data rate of the flow based on the difference between the acquired number of processed packets and the stored number of processed packets, and the acquisition period of the measurement result from the flow measurement unit 132. If the difference between the calculated data rate of the flow and the previous data rate of the flow stored in the flow list is equal to or less than a predetermined threshold, and the difference between the acquired number of discarded packets and the number of discarded packets stored in the flow list is equal to or less than a predetermined threshold (for example, they are the same), the flow registration unit 133 adds the acquisition period to the transmission duration of the flow stored in the flow list. Note that the transmission duration is the time during which the amount of change in the data rate of the flow is equal to or less than a predetermined threshold, and the number of discarded packets is equal to or less than a predetermined threshold.
[0032] If the transmission duration of the flow after the addition exceeds a predetermined threshold (e.g., 10 seconds), the flow registration unit 133 sets the protection flag of the flow stored in the flow list to "true" indicating that the flow is a protected flow. After that, the flow registration unit 133 updates the flow list with the calculated data rate and the acquired number of discarded packets. In this way, the flow registration unit 133 registers as a protected flow a flow whose change in data rate within a predetermined time is equal to or less than a predetermined threshold and whose number of discarded packets is equal to or less than a predetermined threshold.
[0033] Furthermore, if the difference between the calculated data rate of the flow and the previous data rate of the flow stored in the flow list is greater than a predetermined threshold, or the difference between the acquired number of discarded packets and the number of discarded packets stored in the flow list is greater than a predetermined threshold, the flow registration unit 133 resets the transmission duration of the flow (for example, updates it to 0) and sets the protection flag of the flow to "false" indicating that the flow is not a protected flow. By referring to the protection flag set for the flow, the flow classification unit 131 can determine whether or not the flow including the received packet is a protected flow.
[0034] The flow registration unit 133 may use a fixed value such as 1 Mbps as a threshold for comparing the difference between the data rate of a flow and the previous data rate of the flow stored in the flow list. Also, the flow registration unit 133 may use a value corresponding to a percentage such as 1% of the previous data rate as a threshold for comparing the difference between the data rate of a flow and the previous data rate of the flow stored in the flow list.
[0035] Among the flows stored in the flow list, the flow registration unit 133 deletes from the flow list any flow that is not included in the measurement results of the number of processed packets and the number of discarded packets acquired from the flow measurement unit 132. Furthermore, if the measurement results of the number of processed packets and the number of discarded packets include the measurement results of a flow that is not included in the flow list, the flow registration unit 133 newly registers that flow in the flow list.
[0036] When the flow registration unit 133 updates the flow list based on the measurement result of the flow measurement unit 132, it calculates the sum of data rates of flows whose protection flags are "true" among the flows stored in the flow list (hereinafter referred to as "protected data rate"). The flow registration unit 133 outputs the calculated protected data rate to the transmission queue control unit 136.
[0037] The protected flow transmission queue 134 holds packets (packets included in a protected flow) queued from the flow measurement unit 132 , and outputs the held packets to the transmission interface 137 under the control of the transmission queue control unit 136 .
[0038] The unprotected flow transmission queue 135 holds packets (packets of flows other than the protected flow) queued from the flow measurement unit 132 , and outputs the held packets to the transmission interface 137 under the control of the transmission queue control unit 136 .
[0039] The transmission queue control unit 136 controls the output of packets from the protected flow transmission queue 134 and the non-protected flow transmission queue 135 based on the protected data rate output from the flow registration unit 133. Specifically, the transmission queue control unit 136 controls the output of packets from the protected flow transmission queue 134 and the non-protected flow transmission queue 135 so that the data rate of transmission of packets output from the protected flow transmission queue 134 is equal to or higher than the protected data rate. For example, the transmission queue control unit 136 controls the output of packets from the protected flow transmission queue 134 and the non-protected flow transmission queue 135 so that a value obtained by multiplying the protected data rate by an arbitrary parameter α (α>1, for example, 1.1) is guaranteed as the data rate of transmission of packets output from the protected flow transmission queue 134. As a method for controlling the output of packets from each transmission queue, for example, a Weighted Round Robin method is used that controls the output of packets from each transmission queue at a ratio according to the weighting (weight value) of each transmission queue. In this case, the transmission queue control unit 136 controls the weight value to control the output of packets from the protected flow transmission queue 134 and the unprotected flow transmission queue 135 so that the data rate of transmission of packets output from the protected flow transmission queue 134 is equal to or higher than the protected data rate. By controlling the output of packets from the transmission queues so that the data rate of transmission of packets output from the protected flow transmission queue 134 is equal to or higher than the protected data rate, it is possible to prevent packets of a flow that is already being stably transmitted from being discarded due to the start of transmission of a new flow.
[0040] The transmission interface 137 transmits the packets output from the protected flow transmission queue 134 and the non-protected flow transmission queue 135 to the output port determined by the routing unit 12 via the network.
[0041] Next, the operation of the network switch 10 according to this embodiment will be described, focusing on the operation of the transmission unit 13.
[0042] FIG. 3 is a flowchart showing an example of the operation of the network switch 10 according to the present embodiment.
[0043] The flow registration unit 133 registers a protected flow in the flow list (step S11). Specifically, the flow registration unit 133 registers in the flow list as a protected flow a flow whose change in data rate within a predetermined time is equal to or less than a predetermined threshold and whose number of discarded packets is equal to or less than a predetermined threshold. The flow registration unit 133 acquires the measurement results of the number of processed packets and the number of discarded packets for each flow by the flow measurement unit 132 at predetermined time intervals, and determines whether or not to register the flow as a protected flow based on the acquired measurement results. The flow registration unit 133 outputs the sum of the data rates of the flows registered in the flow list as protected flows (protected data rate) to the transmission queue control unit 136.
[0044] When a packet received from the outside is input via the routing unit 12, the flow classification unit 131 identifies a flow including the packet based on the header of the received packet (step S12). The flow classification unit 131 identifies a flow including the packet based on the "source IP address", "destination IP address", "L4 protocol type", "source L4 port", and "destination L4 port" in the header of the received packet.
[0045] The flow classification unit 131 judges whether the identified flow is a protected flow or not (step S13). Specifically, the flow classification unit 131 judges whether the identified flow is registered as a protected flow in the flow list or not. The flow classification unit 131 outputs the received packet and the judgment result to the flow measurement unit 132 as a sorting unit.
[0046] If the flow classification unit 131 determines that the identified flow is a protected flow (step S13: Yes), the flow measurement unit 132 distributes the packets output from the flow classification unit 131 to the protected flow transmission queue 134 (step S14).
[0047] If the flow classification unit 131 determines that the identified flow is not a protected flow (step S13: No), the flow measurement unit 132 distributes the packet output from the flow classification unit 131 to the unprotected flow transmission queue 135 (step S15).
[0048] The transmission queue control unit 136 controls the transmission of packets from the transmission queues (protected flow transmission queue 134 and unprotected flow transmission queue 135) based on the protected data rate output from the flow registration unit 133 (step S16). Specifically, the transmission queue control unit 136 controls the output of packets from the protected flow transmission queue 134 and the unprotected flow transmission queue 135 so that the data rate of transmission of packets output from the protected flow transmission queue 134 is equal to or higher than the protected data rate.
[0049] As described above, in this embodiment, the network switch 10 includes a flow classification unit 131, a flow measurement unit 132 as a distribution unit, a flow registration unit 133, and a transmission queue control unit 136. The flow registration unit 133 registers a flow in which the change in data rate within a predetermined time is equal to or less than a predetermined threshold and the number of discarded packets is equal to or less than a predetermined threshold as a protected flow. The flow classification unit 131 identifies a flow including a received packet based on the header of the received packet and determines whether the identified flow is registered as a protected flow. If the identified flow is registered as a protected flow, the flow measurement unit 132 distributes the received packet to a protected flow transmission queue 134, and if the identified flow is not registered as a protected flow, the flow measurement unit 132 distributes the received packet to a non-protected flow transmission queue 135. The transmission queue control unit 136 controls the transmission of packets from the protected flow transmission queue 134 and the non-protected flow transmission queue 135 so that the transmission rate of packets from the protected flow transmission queue 134 is equal to or more than the data rate of the flow registered as a protected flow.
[0050] A flow in which the amount of change in data rate within a predetermined time is equal to or less than a predetermined threshold and the number of discarded packets is equal to or less than a predetermined threshold is a flow that is already being transmitted stably. In this embodiment, such a flow is registered as a protected flow, and if a flow containing a received packet is a protected flow, the packet is assigned to the protected flow transmission queue 134. Then, by controlling the transmission of packets from the transmission queue so that the data rate of the transmission of packets from the protected flow transmission queue 134 is equal to or greater than the data rate of the flow registered as a protected flow, it is possible to prevent packets of a flow being transmitted from being discarded due to the start of transmission of a new flow. In addition, since whether or not a flow is a protected flow is determined based on the amount of change in data rate within a predetermined time and the number of discarded packets, there is no need to register information such as the IP address or port number of the flow to be protected.
[0051] Although not specifically mentioned in the embodiment, a program for causing a computer to function as the network switch 10 may be provided. The program may be recorded in a computer-readable medium. The computer-readable medium can be used to install the program in a computer. Here, the computer-readable medium on which the program is recorded may be a non-transient recording medium. The non-transient recording medium is not particularly limited, and may be, for example, a recording medium such as a CD-ROM or a DVD-ROM.
[0052] Alternatively, a chip may be provided that is configured with a memory that stores programs for executing each process performed by network switch 10 and a processor that executes the programs stored in the memory and is mounted on network switch 10.
[0053] Although the above-mentioned embodiment has been described as a representative example, it is clear to those skilled in the art that many modifications and substitutions are possible within the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited by the above-mentioned embodiment, and various modifications and changes are possible without departing from the scope of the claims. For example, it is possible to combine multiple building blocks shown in the configuration diagram of the embodiment into one, or to divide one building block. [Explanation of symbols]
[0054] 10. Network Switches 11 Receiving section 12 Routing section 13 Transmitter 131 Flow Classification Unit 132 Flow measurement unit (distribution unit) 133 Flow Registration Section 134 Protected Flow Send Queue (First Send Queue) 135 Unprotected flow transmit queue (second transmit queue) 136 Transmission queue control section 137 Sending Interface
Claims
1. A network switch for forwarding packets on a network, comprising: a flow registration unit that registers, as a protected flow, a flow in which a change in data rate within a predetermined time is equal to or less than a predetermined threshold and the number of discarded packets is equal to or less than a predetermined threshold; a flow classification unit that identifies a flow including a received packet based on a header of the packet and determines whether the identified flow is registered as the protected flow; a distribution unit that distributes the packets to a first transmission queue when the identified flow is registered as the protected flow, and distributes the packets to a second transmission queue when the identified flow is not registered as the protected flow; A network switch comprising: a transmission queue control unit that controls the transmission of packets from the first transmission queue and the second transmission queue so that the data rate of the transmission of packets from the first transmission queue is equal to or greater than the data rate of the flow registered as the protected flow.
2. 2. The network switch of claim 1, The flow registration unit stores, for each flow, a transmission duration which is the time during which the amount of change in the data rate is below a predetermined threshold and the number of discarded packets is below a predetermined threshold, and registers a flow whose transmission duration exceeds the predetermined threshold as the protected flow.
3. 3. The network switch according to claim 2, the distribution unit measures, for each of the flows, a number of processed packets, which is the number of packets queued in the first transmission queue or the second transmission queue, and the number of discarded packets; the flow registration unit acquires and stores the measurement results of the distribution unit at a predetermined acquisition period, calculates the data rate based on the difference between the number of processed packets in the newly acquired measurement result and the number of processed packets in the stored previous measurement result and the acquisition period, and if the amount of change in the calculated data rate is less than a predetermined threshold and the difference between the number of discarded packets in the newly acquired measurement result and the number of discarded packets in the stored previous measurement result is less than a predetermined threshold, stores the time obtained by adding the acquisition period to the stored previous transmission duration as a new transmission duration.
4. 4. The network switch of claim 3, The flow registration unit resets the transmission duration of the flow when the amount of change in the data rate of the flow is greater than a predetermined threshold, or when the difference between the number of discarded packets in the newly acquired measurement result and the number of discarded packets in the previously stored measurement result is greater than a predetermined threshold.
5. A program causing a computer to function as the network switch according to claim 1 .
Citation Information
Patent Citations
Packet switch, scheduling device, abandonment control circuit, multicast control circuit and qos controller
JP2001339427A
Image transmission apparatus, image transmission method, and software program
JP2004096309A
Stream filtering system, content distribution system and stream filtering method as well as program
JP2005204157A