<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1427581755;
        mso-list-type:hybrid;
        mso-list-template-ids:-1501790734 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span style='mso-fareast-language:EN-US'>I’ve been using network simulation well before GNS3 was around using dynamips - and even when GNS3 came along it was still not good -since it just couldn’t handle the scale (~40nodes) (not on my compute resources at that time anyways).<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>And similarly nowadays in the era of proper HW simulation through VMs (though I miss the idle-pc), I really like virsh/libvirt along with OVS as it allows me to programmatically generate the VM files (xmls, images, etc..) and define the topology in OVS (talking hundreds of links) which would be otherwise really tedious to draw by hand. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Also spinning up a big virtual lab from scratch takes several hours (of pure compute time) so it’s better to have some meshing in between the nodes and just spin up arbitrary L1 topologies on demand rather than spinning up the VMs every time one needs to load a different topology.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Said that I haven’t played with GNS3, EVE-NG, VIRL,… recently so I don’t know if any of these would allow me to create these massive “spreadsheets” for programmatic generation of labs. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Best approach is to have at least two virtual environments<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>1) closely resembling production environment -this is where designers and Ops people can test day to day operational changes etc..<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>2) environment where architects can test strategic/evolution changes to the network infrastructure, new concepts and big migration/integration projects, etc…   <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>What is it good for:<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Testing design concepts<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'> -this is one of the biggest advantages of virtual testing<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Physical labs as we all know cost a small fortune and you can simulate just a small cross-sections of your overall topology at a time  -but in virtual lab depending on your computing resources and depending on what you need to test you can either simulate very large sections or complete network (at lower resolution) or smaller sections with very high resolution or combination of both.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>This allows you to really see what happens to your traffic patterns and assess the impact of your design changes from small to large scales.  <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>What is it not good for:<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>A) Scale testing <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>i.e. how many bgp/bfd/vrrp/etc.. sessions how many routes/VRFs/etc… - you need the actual HW resources to carry out these tests<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>B) Performance testing<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>How much pps I can drive through NPU with these features (QOS,filters,etc…) what are the failover times, (fast reroute, fabric fail,RE fail, etc…) -again you need the actual HW that will be used in production to measure these<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>But as you can see A) and B) can easily be tested with a single DUT (or some small topology around it) using actual HW plugged in a loop with IXIA/Spirent testers. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>adam<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span lang=EN-US>From:</span></b><span lang=EN-US> NANOG <nanog-bounces@nanog.org> <b>On Behalf Of </b>Ryland Kremeier<br><b>Sent:</b> Wednesday, October 16, 2019 4:31 PM<br><b>To:</b> <nanog@nanog.org> <nanog@nanog.org><br><b>Subject:</b> Viability of GNS3 network simulation for testing features/configurations.<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US>Hello,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I’m currently in the process of setting up a near identical network to our own in GNS3 for testing purposes. Has anyone here tried this before to any success? We need to buy the Cisco IOSv image to continue with the sim so I figured I would inquire here first before diving in.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>All info is appreciated,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>-- <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Ryland Kremeier<o:p></o:p></span></p></div></div></body></html>