## 4 Simulations
### Existing Simulators  
There is a number of simulation tools that can be used for simulation of network traffic. However, no tool is capable of simulating complete PLC networks. These tools were evaluated in this study: Netsim, Riverbed, OMNET++, and NS-3, and details of these tools are shown in Table 3. A similar topic on PLC simulation tools is described in [22; 70]. There are other tools that can simulate or emulate networks, but they are more suitable for protocol and topology verification, e.g., Eve-NG, GNS3, and Packet tracer. NetSim is a very capable network simulator and emulator providing all types of typical protocols, e.g., Ethernet, IEEE 802.11a/b/g/n/ac, routing protocols--RIP and OSPF, VLANs and many others. The official source does not provide any information regarding PLC simulations within this tool, and the licence is also fairly expensive. For these reasons, we mention it as a very powerful tool, but it is more suitable for other researchers. Riverbed modeler (former OPNET) is a simulator with capabilities of traffic and infrastructure analysis in communication networks. As OMNET++, it also does not provide realistic implementation of PLC elements. There were a few trials on implementing this, provided chronologically. In [71], capabilities of MAC protocols for broadband PLC networks are evaluated. Authors in [72] developed a flooding protocol running on a Single Frequency Network PLC which should provide better performance by using a smaller overhead. Characteristics of PLC channels in cargo ships were measured in [73; 74], and the authors planned as future work to model the results in OPNET by using measured transfer functions in OPNET'S Wireless LAN model. A realistic model for narrowband PLC was designed in [75], and the authors validated this model against a real-world testbed. The model proved to be accurate for PLC G3, but the authors claim that the model can be used also for ITU-T9903, IEEE P1901.2 and LOADng. Figure 11: Decrease in throughput caused by linear topology of repeaters for different methodologies. OMNET++ is not a simulator itself, but it is a modular framework to which extensible modules can be plugged in. From the list of currently available modules, none support PLC or BPL communication technologies. There is one paper introducing a cross-platform simulator for G3-PLC in OMNET++ [76]. OMNET++ is free to use, as well as the official modules, which makes this this tool attractive for all kinds of research. NS-3, unlike NetSim or Riverbed modeler, is free to use and provides support for many protocols and technologies, but likely not on such a scale as the two aforementioned tools. The simulation parameters and setting are defined by programming code in C++, which may be more time consuming and more difficult to get familiar with, on the other hand it is easy to control versions and can be more flexible in developing specific scripts and functions to suit the users' needs. In [70], the authors create a PLC channel simulator that runs in NS-3. This tool, however, does not include the node types for repeaters which are used in Sections 4.3 and 4.4. The goal of our simulations was to simulate the effect of repeaters on the network throughput. Since none of the analyzed simulators can provide tools suitable specific to our needs, the simulator was selected based on the authors' preferences. NetSim and Riverbed modeler are unnecessarily complex simulators with high price. OMNET++ and NS-3 seem more research-focused with high variability, and they both support two main operating systems. Ultimately, NS-3 was selected as the optimal tool not only because it fulfills the requirements but because of the authors' prior experience with it. Simulations were conducted in NS-3 network simulator (version 3.26) running on a virtual machine Linux Ubuntu 16.04.1. The topology code was written in Eclipse IDE in version Neon.2 (Release 4.6.2), and it was also executed in the IDE. \"Node\" object type was used for nodes, \"PointToPointHelper\" was used for links.