## 3 Development of Software-Based Router and Traffic Generator
### Performance Analysis of The Software-Based Router Using the Designed Network Traffic Generator
The advantage of the developed traffic generator is that, unlike the known ones, it allows you to control the generated flow without the need for synchronize the input and output interfaces and to determine the packets delay of flow. It allows you to evaluate the parameters of service of hardware and software telecommunications facilities of any purpose [53; 54; 55; 56; 57; 58; 59]. Furthermore, in a real packet network, a few delay times can occur due to queuing, processing, transmission, and propagation, as depicted in Figure 6.  
Figure 4: Multiservice traffic generation. Figure 5: The stability characteristic of the interval between two sequentially generated packets. If we let \(d_{\textit{frag. }}\), \(d_{\textit{proc. }}\), \(d_{\textit{queue}}\), \(d_{\textit{trans. }}\), and \(d_{\textit{prop. }}\) denote the IP fragmentation, processing, queuing, transmission and propagation delays, then the total nodal delay is given by:  
\[d_{\textit{nodal.}}=d_{\textit{frag.}}+d_{\textit{proc.}}+d_{\textit{queue }}+d_{\textit{trans.}}+d_{\textit{prop.}}, \tag{1}\]  
where \(d_{\textit{frag. }}\) is the time it takes to split a packet into smaller pieces (fragments), so that the resulting pieces can pass through a link with a smaller maximum transmission unit (MTU) than the original packet size. The fragments are reassembled by the receiving host. \(d_{\textit{prop. }}\) is the delay due to the propagation speed of the link. The propagation speed depends on the physical link (e.g., twisted-pair copper wire or multi-mode fiber) and is in the range of \(2\times 10^{8}\) or \(3\times 10^{8}\) m/s, thus it almost equal to the speed of the light [60]. Hence, if d is the distance between two routers and s is the propagation speed, it follows that the propagation delay is d = s. In general, the propagation delays are on the order of ms in wide-area networks. \(d_{\textit{trans. }}\) is the transmission delay, also called the \"store-and-forward\" delay. It represents the amount of time required to transmit all the packet bits along the link. For instance, if L is the length of the packet (in bits), R is the transmission rate of the link (typically in Mbps), it follows that the transmission delay is L = R. Transmission delays are typically on the order of ms or less in practice. \(d_{\textit{proc. }}\) the time required to examine the packet's header and determine where to direct the packet is part of the processing delay. In high-speed routers, is typically on the order of \(\mu\)s (microseconds) or less. \(d_{\textit{queue}}\) is the time that a packet has to wait for the transmission along the link. The queuing delay of a specific packet depends on the number of other packets in the queue, thus, the delay of a given packet can vary significantly from packet to packet. On the one hand, if the queue is empty and no other packet is currently being transmitted, the packet queuing delay is approximately zero. On the other hand, if the traffic is heavy and many other packets are also waiting to be transmitted, the queuing delay will be long. Queuing delays can be on the order of \(\mu\)s to ms in practice. In order to determine the packet delay, a series of experiments were conducted by the developed software-based router. In the case of a software router, its performance significantly depends on the performance of the hardware server. The same software router installed on different servers with different hardware characteristics can serve packets with different delays. To test the maximum performance, the proposed traffic generator is installed on a hardware server with the following parameters: the central processor--Intel Core i5-2410M 2.30 GHz, RAM--DDR3 6 Gb, network card--Realtek PCIe FE Family Controller 1 Gbit/s. Windows 7 Ultimate Service Pack 1 (2009) is installed on the server. In each experiment, the packet size changed, the number of packets was 100,000, and the inter-packet interval was 10 ms.