<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Implementing Dynamic Management Of Virtual Network Infrastructure Components*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Klimova A.S.</string-name>
          <email>alina_klimova1503@mail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kodolov S.D</string-name>
          <email>sergey.kodolov@urfu.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aksyonov K.A.</string-name>
          <email>wiper99@mail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Filimonov A.Yu.</string-name>
          <email>a.filimonov@urfu.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ural Federal University</institution>
          ,
          <addr-line>Ekaterinburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The active using virtualization technologies which are applied in the construction of network infrastructure provides a possibility of applying new methods and tools for managing the components of such infrastructures. The paper discusses the use of such tools as the Ansible platform, the NCCLIENT and PyEZ libraries for the dynamic management of virtual components of a hardware-software workbench as part of the laboratory complex of softwaredefined network infrastructures of RTF Ural Federal University (UrFU).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Ansible) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and led to model-driven automating of this process [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Today, in the field of IT, a wide range of various
software tools and information resources is actively used which are aimed at supporting the development or ensuring the
implementation of technical solutions of SDN. Such tools and resources include:
- software configuration management platforms [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], such as Ansible, Saltstack, Chef, Puppet.
      </p>
      <p>
        - special libraries for universal programming languages, such as, for example, the NETCONF Client (NCCLIENT)
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which are designed to automate the management of network infrastructures.
      </p>
      <p>In following sections, we will discuss the use of tools such as the Ansible platform, the NCCLIENT and PyEZ libraries
for dynamically managing the virtual components of the hardware-software laboratory bench of the software-defined
network infrastructures of UrFU.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Infrastructure of UrFU's SDN workbench</title>
      <p>
        UrFU's SDN workbench Infrastructure is based on hardware complex, which was previously used for laboratory VoIP
classes providing. It includes both virtual and hardware components of the network infrastructure, using of which, as was
shown earlier [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], lead to increasing the efficiency of using existing equipment, intensifying the learning process and at
the same time help to avoid using of the nonessential components.
      </p>
      <p>
        To organize serial connections between the routers of the laboratory complex, fractional digital streams are used, formed
in the E1 channel, the parameters of which are defined in ITU-T G.704 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. In this case the distributed resource is the
channel capacity (in this case 2048 Kbps), the resources allocation is performed according to the Time Division
Multiplexing (TDM) scheme. This solution allows you to create up to 30 virtual channels in one physical channel and
combine these channels into virtual groups (interfaces), the bandwidth of which can vary from 0 to 2048 Kbps with a 64
Kbps discrete. To organize virtual IEEE 802.3 (Ethernet) connections, the laboratory complex uses Virtual Local Area
Network (VLAN) technology [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The organization of virtual IP (Internet Protocol) connections is carried out using
Virtual Routing and Forwarding (VRF) technology [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] in the laboratory complex. The topology of the laboratory complex
is shown in Figure 1. Black color on this topology denotes real, and gray one - virtual components, respectively.
      </p>
      <p>The complex described above was used for laboratory work as part of the testing of the optional course “Fundamentals
of IP-telephony”. During the performance of these works, 2-4 teams of students worked simultaneously, whose task was
to configure virtual PBXs and other infrastructure components in order to ensure incoming and outgoing calls using
standard (Cisco Unified IP Phone 7912G / 7941G / 7942G) or video ( Cisco Unified IP Phone 9971) Phones.</p>
      <p>
        Performed tests showed the full performance of the laboratory complex and confirmed the correctness of the solutions
that were chosen for its construction. To assess the feasibility of implementing a system that could provide dynamic control
of the virtual channel capacity during an audio-video call, it was necessary to determine the characteristics of the
information stream devoted to provide it. The measurements were carried out in one of the virtual layers of the topology
shown in Fig. 1 using Cisco Unified IP Phone 9971 phones, in which the H.264 / AVC codec is used for encoding /
decoding an audio-video stream [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Since the encoding algorithm of this codec uses a variety of techniques for
compressing video images and motion compensation, the information flow characteristics generated by it strongly depend
on the dynamic characteristics of the transmitted image (scene). In order to take these features into account during
measurements and tests, two types of scenes were used: quasi-static, when moving objects practically did not get into the
camera field during the call; dynamic, when there was a working office fan in the camera field.
      </p>
      <p>The measurements results are shown in Fig. 2.a and 2.b of the information flow characteristics during the transmission
of quasi-static and dynamic VoIP images, respectively. The presented histograms were generated according to the results
of 500 measurements with three values of the throughput of the virtual channel that connects vR1 and vR2: 128, 192 and
256 Kbps (vertical hatching, inclined hatching and uniform filling, respectively).</p>
      <p>The obtained results made it possible to establish that during a quasi-static images exposing for VoIP phones, they
formed digital stream, by average data rate of (110 ± 10) Kbps. To transmit such digital stream 128 Kbps throughput
channel was sufficient.</p>
      <p>It was also found that during a dynamic images exposing for VoIP phones, they formed digital stream by average
data rate of (170 ± 10) Kbps. Such stream was transmitted without loss through channels with a bandwidth of 192 and 256
Kbps. Examples has shown in Fig. 3.a-3.c of such call's by using a virtual channels with a bandwidth of 64, 128 and 192
Kbps, respectively.</p>
      <p>During those tests, it was found that the transmission led to losses and deterioration of image quality due to overloading
of this channel of the information flow of an audio-video call with a moving image through a channel with a bandwidth of
128 Kbps. It should also be noted that a channel provides almost error-free transmission of such a stream with a bandwidth
of 192 Kbps. The results, obtained by those tests were used to develop a program that is able to control the bandwidth of a
virtual channel by redistributing the resource of the corresponding component of the underlay network (in this case, the
physical channel) between the virtual layer's components.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Using Ansible to configure UrFU's SDN workbench</title>
      <p>
        Among configuration management platforms such as Ansible, Saltstack, Puppet, or Chef, Ansible has been the most
popular over the past 5 years [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Ansible is commonly used to provide, deploy, and manage a computing infrastructure
in the cloud, virtual, or physical environment [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Among the advantages of Ansible, it is worth noting that there is no
need to deploy an agent on configurable devices (agentless). Other advantages are low cost compared to competitors, and
ease of installation and administration [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Automation of building a network infrastructure using Ansible does not require
deep knowledge in programming: the programming required for many common operations has already been completed and
is available as modules. In the process of automation, a “playbook” is created that describes the necessary operations,
combining a number of modules. Ansible configuration file (ansible.cfg); File or directory of the workspace (inventory);
A playbook file in YAML format that contains operations to execute.When a playbook is executed, the parameters are
imposed on the template for each device, forming separate configuration files, which are then applied on the device.
      </p>
      <p>
        In the event of problems associated with a managed device, and not with syntax or other errors in the playbook, Ansible
monitors errors separately for each device. If an error occurs with a specific device, Ansible stops processing tasks for that
device. However, if there are no errors on other devices, the tasks for these devices will be completed [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The main
advantage of automation platforms is the ability to automate configuration management of both real and virtual equipment
using popular communication protocols in general and Ansible in particular. Depending on the platform and module
destination, XML over SSH (NETCONF) [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], CLI over SSH, or API over HTTPS (RESTCONF) [24] can be used as
communication protocols.
      </p>
      <p>To manage the constructed UrFU's SDN workbench, playbook and template files were developed, which allow to
change the bandwidth of the communication channel of two virtual IP PBX.</p>
      <p>As a result, changing the bandwidth of the communication channel of two virtual routers is reduced to the execution of
one command: ansible-playbook slot-settings.yaml -e 'slot = 1-4', where the -e parameter passes the value of the slot
variable, which determines the number of time-slots used.</p>
      <p>Automation platforms, considered on the example of Ansible, are convenient for efficient configuration of many
devices and are used, as a rule, in cases when the required state of the system after configuration is determined in advance.
To solve the problem posed in this article, it is important that the system itself can respond to changes and move from one
state to another depending on certain factors. Therefore, the use of these tools is impractical in solving this problem.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Using libraries based on NETCONF Protocol to provide UrFU’s SDN workbench management</title>
      <p>
        The NETCONF and RESTCONF protocols are actively used today to automate the management of network equipment
[25]. The use of these protocols allows us to translate the solution of network equipment control problems to a qualitatively
new level, making possible dynamic reconfiguration of the network infrastructure in real time [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The advanced libraries
have been developed [26] for many of the popular programming languages that make the automation process of managing
network equipment accessible to a wide range of developers in order to ensure the development and promotion of such
applications.
      </p>
      <p>Initially, the scripts were prepared using the Python library - NCCLIENT, working on the protocol NETCONF - a
network protocol for managing devices. Using the library simplifies equipment setup and management. The library is
exported to a Python script and connection parameters via SSH are set to connect to devices.</p>
      <p>The developed technological scripts allow reading, configuring and monitoring routers without using the command
line. The use of these scripts greatly simplified the equipment configuration processes, and made it possible to get
operational access to such parameters of the virtual port of the router as the current value of the transmission speed on this
port and the number of packets that were dropped due to an overload.</p>
      <p>The connect function is used, in the parameters of which the necessary data is connected to establish a connection with
the device. The current device configuration is written to the xml Dom using the get_config function. The full list is given
in the repository of the prepared technological scripts [27]. Another tool is the PyEZ library [28] for automating the
management of network equipment. The PyEZ library is similar to NCCLIENT one except it supports only Juniper devices.
The narrow focus of this library allows you to form a more compact program code.</p>
      <p>In the process of comparing the tools the development of a technological script is the most suitable in Python using
libraries based on the NETCONF Protocol to solve the problem 'of dynamic management of virtual components.</p>
      <p>The next stage of the work was the preparation of the controller program which allows to dynamically adapt the
bandwidth of the virtual channel to the requirements of the transmitted signal.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Programming hardware and software UrFU’s SDN workbench</title>
      <p>The controller program is a Python script that uses the procedures of the PyEZ library described above. The script runs on
the workstation which is located in the equipment control network.</p>
      <p>The controller operation algorithm includes the following steps: channel status monitoring; compute of parameters;
accepting decision on the need to change the channel capacity; bandwidth change if necessary.</p>
      <p>At the monitoring stage, using the methods of the PyEZ library and the NETCONF protocol, the controller requests the
following parameters from the router: serial port speed, interface transfer rate and number of lost packets. The measured
data rate values are recorded in two parameters: one contains the current speed value, the other contains the maximum
transmission rate since the channel bandwidth changes. The values of the lost packets are written to a buffer, which is
organized as a queue with a fixed length. Thus, at each moment of time, the average value is calculated of discarded packets
for a certain period of time. As a result of monitoring and calculation of the parameters, the following values are determined:
- Average number of dropped packets;
- Difference between maximum and current data rates.</p>
      <p>At the next stage, a decision is made on the need for bandwidth changes. The controller increases the transmission
channel if the average number of dropped packets exceeds the value X. In the event that the difference between the
maximum and current data transfer rate exceeds the value Y, the controller reduces the transmission channel. The block
diagram is shown in Figure 4 of the controller program algorithm.</p>
      <p>The virtual channel bandwidth is set to 64 Kbps and a static image is used in the initial phase of the test. Since this
bandwidth is not enough to transmit a static image, the Drop Rate exceeds the threshold value and the controller decides
to increase the information speed limit to 128 Kbps (point " A” in the diagram). Then the data transmission process becomes
stationary 110 Kbps. The presence of such fluctuations is explained by the fact that the tests were carried out for a
sufficiently long time interval (from 3 to 10 minutes) and video telephones recorded the movements of test participants in
the classroom. Approximately one minute after the start of the test, a moving object (a floor fan) was placed in the field of
the video phone cameras, which, as shown above, increased the average information speed to 170 Kbps. In this case, as in
the previous one, the Drop Rate exceeds the threshold value and the controller decides to increase the maximum information
speed, this time to the value of 192 Kbps (point “B” on the diagram). After another minute, the moving object was removed
from the field of video phone cameras, and the average value decreased again to 110 Kbps of the information speed. In this
case, the discrepancy between the limiting and current speeds exceeds the threshold value and the controller decides to
reduce the limiting information speed to 128 Kbps (point “C” in the diagram).</p>
      <p>Multiple repeated tests showed similar results, which confirm the performance of hardware and software solutions that
were the basis for the described workbench. The process did not require additional resources for the developing a hardware
and software workbench alone; its programming also did not cause much difficulty due to the presence of good
documentation of the NCCLIENT and PyEZ libraries and a large number of examples of their use. All this made it possible
to carry out work on the creation and commissioning of the workbench in a fairly short time (May-October 2019).
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>The active use of virtualization technologies which are applied in the construction of modern network infrastructures makes
it necessary to use new methods for managing the components of these structures. The introduction of these methods allows
you to automate the component management process, which helps to increase the efficiency of using the network
infrastructure's resources and make it possible dynamic changing infrastructure's configuration. Today, these features can
be realized through the use of software platforms designed for configuration management or applications based on special
libraries that are designed for many of the popular programming languages. The paper discusses the experience of using
such tools as the Ansible platform, the Python libraries of the NCCLIENT and PyEZ for the dynamic management of
virtual components of the laboratory workbench in the complex of software-configured network infrastructures of RTF
UrFU. Due to the availability and maturity of these tools, the work was fully completed in a short time on creating and
programming the laboratory workbench. The experience gained during the of these works fulfilling allows us to conclude
that the future use of such tools is promising and fruitful for automation of network equipment management.
Acknowledgements
This research paper is supported by 211 acts of the Government of the Russian Federation, agreement No. 02.A03.21.0006.
24. IETF RFC8040 RESTCONF Protocol https://tools.ietf.org/html/rfc8040
25. Wallin, S., &amp; Wikström, C. Automating network and service configuration using NETCONF and YANG”. In
LISA’11 Proceedings of the 25th International Conference on Large Installation System Administration (2011)(p.
22).
26. Netconf Central http://www.netconfcentral.org/
27. RTF PKS repository https://github.com/KlimovaAlina/SDN
28. Junos PyEZ Documentation (https://www.juniper.net/documentation/product/en_US/junos-pyez)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Jaime</surname>
          </string-name>
          Galán-Jiménez and
          <article-title>Alfonso Gazo-Cervero OVERVIEW AND CHALLENGES OF OVERLAY NETWORKS</article-title>
          . A SURVEY // International Journal of Computer Science &amp;Engineering
          <string-name>
            <surname>Survey</surname>
          </string-name>
          (IJCSES) Vol.
          <volume>2</volume>
          , No.1,
          <string-name>
            <surname>Feb 2011</surname>
          </string-name>
          <source>DOI : 10</source>
          .5121/ijcses.
          <year>2011</year>
          .
          <volume>2102</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S</given-names>
            <surname>Gutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            <surname>Story</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C</given-names>
            <surname>Schlesinger</surname>
          </string-name>
          ,
          <string-name>
            <surname>N Foster</surname>
          </string-name>
          <article-title>Splendid isolation: A slice abstraction for software-defined networks</article-title>
          .
          <source>// Proceedings of the first workshop on Hot topics in software defined networks ACM</source>
          <year>2012</year>
          . pp
          <fpage>79</fpage>
          -
          <lpage>84</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <source>ETSI GS NFV-INF 005 V1.1</source>
          .
          <issue>1</issue>
          (
          <issue>2014</issue>
          -12)
          <article-title>- Network Functions Virtualisation (NFV); Infrastructure; Network Domain &lt;http://www</article-title>
          .etsi.org/deliver/etsi_gs/NFV-INF/001_099/010/01.01.01_60/gs_NFV-INF010v010101p.pdf&gt;.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>NFV</given-names>
            <surname>Management and Orchestration - An Overview</surname>
          </string-name>
          ,
          <source>GS NFV-MAN 001 V1</source>
          .1.1,
          <string-name>
            <given-names>European</given-names>
            <surname>Telecommunications</surname>
          </string-name>
          Standards Institute (ETSI),
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pedreno-Manresa</surname>
          </string-name>
          , Jose-Juan &amp; Sayyad
          <string-name>
            <surname>Khodashenas</surname>
            , Pouria &amp; Siddiqui,
            <given-names>Muhammad</given-names>
          </string-name>
          <string-name>
            <surname>Shuaib</surname>
          </string-name>
          &amp;
          <string-name>
            <surname>Pavon-Marino</surname>
            ,
            <given-names>Pablo.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Dynamic QoS/QoE assurance in realistic NFV-enabled 5G Access Networks</article-title>
          .
          <volume>10</volume>
          .1109/ICTON.
          <year>2017</year>
          .
          <volume>8025149</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>H.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Feamster</surname>
          </string-name>
          ,
          <article-title>Improving network management with software defined networking</article-title>
          ,
          <source>Communications Magazine, IEEE</source>
          <volume>51</volume>
          (
          <issue>2</issue>
          ) (
          <year>2013</year>
          )
          <fpage>114</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <article-title>OF-CONFIG 1.2 OpenFlow Management and</article-title>
          -Configuration Protocol https://www.opennetworking.org/images/stories/downloads/ sdn-resources/onf-specifications/openflow-config
          <source>/ofconfig-1</source>
          .2.pdf
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Perspective:
          <article-title>Controller-based vs Controllerless-based SDN Solutions https://www.pluribusnetworks.com/blog/ perspective-controller-based-vs-controllerless-based-sdn-solutions/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. SDN:
          <article-title>Where is it now and what is the future? https://www.computerweekly.com/feature/SDN-Where-is-it-now-andwhat-is-the-future</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hakiri</surname>
            , Akram &amp; Gokhale, Aniruddha &amp; Berthou, Pascal &amp; Schmidt, Douglas &amp; Gayraud,
            <given-names>Thierry.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>SoftwareDefined Networking: Challenges and research opportunities for Future Internet</article-title>
          .
          <source>Computer Networks</source>
          .
          <volume>75</volume>
          . 10.1016/j.comnet.
          <year>2014</year>
          .
          <volume>10</volume>
          .015.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. 10
          <string-name>
            <given-names>BEST</given-names>
            <surname>Software Configuration Management Tools (SCM Tools</surname>
          </string-name>
          in
          <year>2019</year>
          ) https://www.softwaretestinghelp.com/ top-5
          <article-title>-software-configuration-management-tools/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kundrát</surname>
            , Jan &amp; Vojtech, Josef &amp; Skoda, Pavel &amp; Vohnout, Rudolf &amp; Radil, Jan &amp; Havlis,
            <given-names>Ondrej.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>YANG/NETCONF ROADM: Evolving Open DWDM towards SDN Applications</article-title>
          .
          <source>Journal of Lightwave Technology. PP. 1-1</source>
          .
          <fpage>10</fpage>
          .1109/JLT.
          <year>2018</year>
          .
          <volume>2822268</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <article-title>Chef vs Puppet vs Ansible vs Saltstack: Which Works Best For You? https://www.edureka.co/blog/chef-vs-puppetvs-ansible-vs-saltstack/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. NCCLIENT:
          <article-title>Python library for NETCONF clients https://github</article-title>
          .com/ncclient/ncclient
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Filimonov</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Medvedev</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klimova</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muraviev</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Application of virtual infrastructure components in construction of a laboratory complex in an educational institution</article-title>
          .// Journal of Instrument Engineering (
          <article-title>Izvestiya vysshikh uchebnykh zavedeniy</article-title>
          .
          <source>Priborostroenie)</source>
          vol.
          <volume>61</volume>
          ,
          <year>December 2018</year>
          , p.
          <fpage>1092</fpage>
          -
          <lpage>1099</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>ITU-T Rec</surname>
          </string-name>
          .G.
          <volume>704</volume>
          (
          <issue>10</issue>
          /98) Synchronous frame structures used at
          <volume>1544</volume>
          , 6312,
          <year>2048</year>
          ,
          <volume>8448</volume>
          and 44 736 kbit/s hierarchical levels &lt;https://www.itu.int/rec/T-REC-G.
          <fpage>704</fpage>
          -199810-I/en&gt;/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. IEEE Std
          <volume>802</volume>
          .1Q (
          <year>2012</year>
          ):
          <article-title>"IEEE Standard for Local and metropolitan area networks Media Access Control (MAC) Bridges and Virtual Bridges"</article-title>
          &lt;https://ieeexplore.ieee.org/document/6606799/&gt;.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>J.Sonderegger</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Blomberg</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Milne</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Palislamovic</surname>
          </string-name>
          , “
          <article-title>Virtualization for high availability,” in Junos High Availability: Best Practices for High Network Uptime (Animal Guide)ch</article-title>
          . 5, p.
          <fpage>119</fpage>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Reilly Media</surname>
          </string-name>
          ,1 ed.,
          <year>August 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>ITU-T Rec</surname>
          </string-name>
          .H.264
          <article-title>Advanced video coding for generic audiovisual services https://www</article-title>
          .itu.int/rec/T-REC-H.
          <fpage>264</fpage>
          - 201906-I/en
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <article-title>Chef vs Puppet vs Ansible vs Saltstack: Which Works Best For You? https://www.edureka.co/blog/chef-vs-puppetvs-ansible-vs-saltstack/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>21. ANSIBLE ESSENTIALS. https://www.ansible.com/webinars-training/introduction-to-ansible</mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Sawtell</surname>
            <given-names>S. DAY ONE</given-names>
          </string-name>
          :
          <article-title>Automating JUNOS with Ansible</article-title>
          ,
          <source>2nd Edition</source>
          . - Juniper Networks Books,
          <year>2018</year>
          . - 398 p.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>IETF RFC6421 Network Configuration</surname>
          </string-name>
          <article-title>Protocol (NETCONF) https</article-title>
          ://tools.ietf.org/html/rfc6241
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>