Add to Watchlist

Network visualization and automation


Citation of segment
Embed Code
Granting licences Cite video

Automated Media Analysis

Recognized Entities
Speech transcript
so users a planet very simple i we start research networks is isation and I we and we said that talk the nation but before I start I want to make a short introduction into networking like across causing networking of fossils of positive you wouldn't know well what it means so when I say network what I mean is uh telecommunication it'll it's a net torque which nodes on the talking devices like Lotus switches and on s and a network which links are transmission links usually attended cables and optical fibers and in the network of phone internet service provider we find 3 main types of notes optical switch and on of and as you can see the the devices like with lots of cards and lots of interfaces so this has nothing to do with as a type of device that you would have like at home as the cell cooperate devices is that we would find a network of B company like Facebook of ago on the network of an internet service provider Vodaphone Tiffany and so on
as the same for the for the transmission links uh this out links like those ones uh on the left side and in a table we say 10 g the capacity attend connect all and under on the right and optical fiber so it in the table sigh use used for a short short distance transmission and optical fibers can be used for boasts a short distance transmission and long distance transmissions
and well there are a few approximation since this like because it's like to make it simple for you to understand that if we imagine that you're in remaining and you want to call someone in France like we sum of a phone with a 4 G but what would happen is that like you more they fun we send microwave signal to announce another to be located nearby like as close to this but I cannot and Zen as a signal we struggle through a bunch of content as it will be a microwave signal and this mike with partners and and as we call leads the mike wave by cold but eventually it would reach a rotor a rotor is device that we take so forwarding decisions so what what we can say about them it's like it's like the brain of the roads Jose is a to reach any part of the world and as they will make the forwarding decisions there we know but which passes the traffic has to take In order to do that so roto has what we call a routine table which is a table that associates uh not going interface to an IP address and finally since we want to go to France which is very far we need a signal to go very fast so the rules are we send a signal to what we call an optical switch and this optical switch we perform an electrical-to-optical the convention which means the signal is electrical at 1st and it will become a lenght which is a stream of life a stream of lights and on top of that in a single fiber we can that we can have usually up to 88 wavelengths so 88 stream of lights and this is technology we call uh wavelent division multiplexing which is used to have very high bandwidth capacity when
we buy little devices from a vendor like Cisco Nokia way as they usually provide what we call the network management system it's like a software all the web application is that can be useful in that will vizualization inventory provisioning supervision and sometimes automation as well it's not that has like an overview of the network of all devices if we want
to visualize on a talking that's the input file that we have is usually a network topology it could be like a city 5 6 and 5 the text file basically it's a 5 3 contains as a tree contains a list of all nodes and the use of all links and the position of the nodes as well so if we want to roses network but as you can see if we draw black nodes at random positions is this doesn't yield a very good display so we have to find was a waste but we have basically 2
options the 1st 1 is to use um the 1st 1 is to draw the nodes at z of like uh at the physical location where they're like physically located by using GPS coordinates and to do that we use this type of software that we call GAS of where which stands for geographic information systems and that allows us to CAD is to draw maps and roll on little devices and his mother and the other option is to use a graph drawing algorithms but I will make a demonstration of bus if if it keep talking so what I'm going to show no
he's how we can create a simple but yeah yeah so Python so software tool to draw maps the 1st thing that we need is a degree program you from now we have a lot of such watching but in bite and we have quite to decay by qt wxPython by side but so when I'm going to use is sticking to its Python interface to to kill and it says the only grave from all that is like part of this turned out quite distributions which means you don't have to peeping style thing it's by default it to build model and inside that set framework we we need a widget for drawing all we have 1 in it's called the canvas it's basically a we jets that allows you to draw circles rectangles but most importantly polygons and we we use inside that we jet admitted to draw polygons and the reason for that is that the map is actually just a set of polygons if you look at the Italians slide uh the tallies just like a political it can be considered a polygon so that 2 of roses polygons we need to have coordinates and we will use this this a special type of file which is called uh shape the shape file is a file that contains the shapes and the shape file that I'm going to use contain 2 types of shapes polygons and polygons this shapes are described like um as as a list of coordinates as a list of points of and CEOs and a point on the ROC is defined as the longitude and latitude so the 1st library that we use is called by SHP it's simply a libraries that allows us to to draw uh to extract the shapes from the shape fight it contains a a reader or objects that we can use to redefine and we can draw a polygon Wieczorek crepe eliminated In take but as formative polygons we cannot draws and we can only draw polygons so what we we need to do is to convert all semantic emits a polygon is actually just the set of polygons and we we need to convert an antibody going into uh emitted by political and in order to be able to draw them and to do that we use a nose of library called shape like the shape the when you say Fly and you converts a shape find multiple going into the shape alignment equally going it we actually makes an antibody going you terrible which means it it would have to say that that but just call it a function so that you can group of as a metaphor going to yields a all this and but he glanced it contains and as I said
uh shapefiles contains coordinates defined as the longitude and latitude and if you look on the slide you will see that this is angles but when we draw polygons the you know in a software in a canvas we cannot use angles we we we need pixel coordinates so we would have to make some kind of conversion from angles to excel this is actually a conversion from as treaty to to the because we have a point on C O Zr and we need to have a point on the plan and this is what we call a projection so an there is a mathematical terrain by goes is that basically say that if you make such a prediction like you have a sphere and you want to project a sphere on a map it's called as a remarkable terrain is then you will lose some information in the process as there will be what we call the distortion it could be a distortion of the distance of angles of shapes In his distortion but we will lose some information for instance if we consider the Zden?k adopt addiction it preserves angles but it doesn't preserve and areas In order
to make that prediction due to convert string coordinates to 2 D coordinates we we use another library called by approach uh it's a library where you can choose this type of prediction it could be negative or it could be as simple orthographic like instances like and you we we we convert the longitude and latitude into and into pixel coordinates so if I sum
up we need uh agree programming framework will you stick into inside this framework we need to use a widget to draw polygons sticking vast we need a file that contains the coordinates of the map the shape file we used by SHP to rejustify will use shape light to convert multiple ligands into polygons and reuse by approach to convert geographic coordinates into projected coordinates so
OK OK well I will open
attribute and book to show you a quick looks like so in OK so as well
the this this 1st code that shows you how to initialize thinking they can domain window and how to initialize a can us and finally how to use a crate polygon it in order to create a political and so if I start this discovered I we get z which is like a graphical interface we support even finally I have like has assessed the effect to show you how it's used by approach that we need to initialize a projection is this the PSG code like such street 1995 and that stands falls negative prediction is then I have the longitudinal artist of remaining and I can use the neck prediction to convert longitudinal attitude into the projected coordinates and I can use this In vesicle true to make the reverse operation which is convex projected coordinates into geographic coordinates of the fire runs discovered at printer coordinates we can see is that we have to of EECS y and longitude latitude z and I show you how to use a zoo shape fiery and how to import shape I have this local bus a shape and I we start with a reader objects I we extract all the shapes from the states sigh and the fight when I loop the shapes I we convert all of them into shape lay shapes so that multiple legal and out the terrible uh like this you see that they have this as that shape uh magic there and it returns true so all multiple they were not a terrible the and finally as this is like well as a final cause that show use everything for to start thinking to to i gives a local passes the shape file I have this to projected coordinates function function the uh in order to conduct longitude and latitude into projected coordinates and I we read so as a fire extract all hits shapes I we loop over those of polygons convert them into shape like polygons and finally I we use a crate polygon function if I executors go I get the disease
is very simple but it's walking I can improve in pretty little bits by an I can change the projection here to have an hasn't orthographic projection iwe crater sickle we switch radius is the radius of the US and I We have and use sticking defied defined the anode so that's when he runs the codes taking until we actually ask you to choose a fire and it's really centroids so if I runs is it asked me for a file and if I droits
I get z so this is very
easy to invite as you can see it only takes like so the lines of Python to to get this result so what I want to show known if it
works no doesn't work
and the OK so I we actually use this method in order to Ian Poulter real network I we import projects this network file contains a real network uh it's actually 1 of the main French backbone you will see in a few minutes the the OK
so if I import is fine OK so is this if this is 1 of the main the French that's what it is made of uh about 350 of the course which is Our in case you're interested is optical switches are I get that you send foot exam switch all PSs 30 so basically if your inference and you're trying to to you use Internet which from the by always your computer well there is a chance that the signal you send we actually be transported overseas network and of course if I wanted to do just this realization I could use and frameworks like I could use a Google Map API I could use due Django or I could use and I could use free also if I wanted to the to do using JavaScript but there's a reason why I want to and to use an act of software is that I can select some nodes I can move them I can did the I can create new nodes with the dragon drop system so I can like this actually create a tool and I can look at a property of the nodes so for instance if I could z clitoris here OK well I can say like is this node has to say the address and once this is done I can hopefully start and such
connection to the device like this OK so the device and using you don't see from there but it's actually just here on the ground uh it's a Cisco 1841 it the well the I it's like OK so the that I'm connected to the rotor because there is a few things I want to show you is the name of the it's cold water to it's what you see on the left part right here so this is what we call as the host name if I want to change it I what they need to do is to and a configuration model by writing configure terminal and then type host name and z host name I want for instance remaining and when I do that users that the host names in a pot is changed to remaining so what I'm going to do no well the idea is that if you have like a 5 like 5 thousand devices and you want to change the host name and all 5 thousand devices and you cannot possibly look into all the devices like by hand and change the host in yourself so you need to automate this process and we will we can do it is by using Python so I we come back to my slide the
and it
was we well OK so this is a slide
another view of the network automation landscape which is also meant that you can use in order to uh automated and at all the first one is the ones that network engineers have been using for many years it simply to connect the device we the libraries such as particle particle is default library in by tend to start the SSH connections but the article is very complicated to use so that talk engineers have built Oza libraries on top of particle in order to make it easier for networking genus 2 uh automates is the 2 most famous libraries on mechanical and x finally you have on your of also is a net confining solution and that confusing at all configuration protocol and Yang user modeling language that we use to shape so that that that our sense of when it comes as this is standardized by the IETF and I don't want to spend too much time on this 1 but just so you know there was a talk at the last spike in US in Portland about what to use that class and yanking finally you can use that you can use all splits protocols like at C A 1 and SNP we uh quite a library two-SNP which is called bias in the but as well as in the is usually very complicated to use and you can also use configuration management tools This is tools originate from the devil put DevOps world but they can actually be used and for neutral devices as well so you have a pet chair sold stock age a but you have uh also and signal which is the 1 that gaining momentum at a time and it's it's an open source Python projects and well if it works I will make a demonstration of how to use the net Neco excrete and so in order to what amazes in order to change a host name so I will
come back to the Kurds I We just explain what I would have done and what I wanted to do was to use x creates uh let me equal and and so in order to show you how to do basic intonation uh I'm not sure I can still do it OK I'm still connected to the Cisco device you can see the hosting is Romanian and if if I use excretes so the idea is that I miss creates enactment objects back in order to give the credentials to connect with a device I um create a host object to even is the IP address some of the device and finally I will send all the commands required to to make is that the nation so if I if I say hostname friends and i runs is called in new shell the the you see the most name was changed to friends uh without having to look into the device so if we had like a lot of devices what we would use this to make straddles the SSH connection in order to configure all 0 2 at the same time uh excrete allows you to do this by uh despite a few of those the IP address and you create host for each IP address venue you upends into a host is that we contained all the device that you want to run the script on but then x which we actually use multiple strides so that whole uh sh connections are done in private and you have max for the parameter here when you can say I want I want at most 5 threats now you can do exactly the same thing with the legal you have this connection parameters dictionary that contains 2 credentials like username past world as well as the IP address of the device and you would use disconnect handout you to look into the device and uh you will send all the common unit 2 cents so for instance what I'm doing here is that uh I'm adding a description to the to the interface uh faster attended zeros let's 0 and I'm also storing is a result of shoring coughing which which is a configuration that is a configuration of the water inside a coffee uh viable so the firearms creates to take a few seconds OK if I print of the ice is that configure contains the configuration of the words are and and if I look at the interfaces um the the configuration of interface I see that it has this description was the interface that has that configuration was pushed we Nicole and I can also do the same thing we sensible by we start Cygwin so z idea we sensibility that you have a fight cold uh inventory if I look at this finally you see contains z i the address of the device you want to send a script to and you have what we call playbooks dissatisfied adults way and they'll Yemen files are you can look at 1 example here uh in order to do the same thing which is changing the host name so I will 1st to give the credential to and civil and I resent use as is the IUS config module um and this lines 1st Paris we change the host name to various so I can do that using Cygwin by writing and sensible playbook I collisions at this inventory file inventory and I change the host name the
OK as you can see it walked has inservice reports sent to the device and the host name was changed what I can also do is use the IUS command uh antebellum in order to uh and sends a show running config command and then that we use cooking to stores its configuration unified altered the text uh I We also use Cygwin to send this 1 so change host name save running coffee OK and if I look
that's the folder you can see that I have this new up put the text file and if I look at what's inside it contains the configuration of my device so well I had things to show that I think we can stop here thank you the thank me 1 more and the and what would you want to use commands that we require confirmation in and on this reality that out of the uh actually we sex creates and you should look at the documentation item life haven't in its but if I if you look at expert documentation and you can tell when when I expert should expect a prompt z does not recognize for instance if you connect to a negative the devices sometimes if we ask you for uh yes or no say yes to constant is allowed in part and you can take scripts that could is yes then should understand that this is that is a device is expecting something and that's what's perfectly hi I like your told us when have you got the data for the geographic the presentation well I to position face yeah and the Robert went to and the shape you can find them online I just Googled uh shape 5 countries ball-shaped 5 continents about 2 that I in 12 that's because well I walk at as a company that runs talk so I did that Nixon agreed to the so the some 56 20 which is a software that supervisors network in order to retrieve the topology the and I had to look at this in the school market make a lot of the time the the the and what the the thing and and what and we national or you know and yes well actually a 2 and may I wanted to show it but because of the technical issues I couldn't I can do is without that was my next demonstration if you have like several devices legs what you could do is what I did is like providing a graphical interface to expert so that you don't have to cutting missing it so graphical I can go to scripts crashed script creation and I can change the like make script change host name and then if I write from few terminal and then hostname you would like this is thought to be a valuable right is that a question they yeah so you no yes so using this software what you could do is like doing hosting which means an replace start we say this is a host name value of the property of the device and you can say the script but then if you look at the properties it will look for the husband properties and it's we replace the value and actually is a hosting properties does not exist yet so what I did is a way for talking Genoese too great properties on the flight even if he does not exist so I have this um
I have a file cold uh change host and it contains the value of the host name and if I import fire legacies In bold hostname we can see that is a property of world he doesn't work here but you can see that you have a new host properties I'd actually contains a value that is in the Excel file and then what you would do is select all 3 devices legacies and then you click on the send the script you which was a script and voltage devices the host in part to be replaced with this is the actual value of was named for the nodes in know and this is using Eq scripts as to excrete but I you could do the same using that we go and you could do the same using instability well and if you wanted to do this like in pure Python you would just need to have a dictionary that maps as well this is the IP address of the device was a value of host hostname or whatever you want and that is locked in the graph of the use ball doors successful the sections that show the customer environment of the what I yeah know I don't using is suppressed rage because it was just for a simple demonstration and while it's not like but yeah you would need to encrypt so that I in a real network thanks 1 question good the the truth and will interface for is what can around the world scripts that used them right rough actually I want to add that as a new feature but right now I'm not like and just walking and so trying to make useful and superscripts and then when I get something that that's walking I want to make to make by like as a graphical interface answer those that you don't need to actually write a Yemen fine you can add to be practically as well more questions it the no questions so that may happen again


Formal Metadata

Title Network visualization and automation
Title of Series EuroPython 2017
Author Fourmy, Antoine
License CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
DOI 10.5446/33681
Publisher EuroPython
Release Date 2017
Language English

Content Metadata

Subject Area Information technology
Abstract Network visualization and automation [EuroPython 2017 - Talk - 2017-07-13 - Arengo] [Rimini, Italy] Network automation and orchestration is the latest phase in the evolution of IP and optical networks. Over the last few years, network engineers have created a variety of libraries and softwares to help them with the management, configuration and automation of huge networks made of hundreds of thousands of network devices (e.g. routers, switches, antenna...). In this talk, I will introduce NetDim, a vendor-neutral software for network modeling and automation based on the standard Python library for GUI programming: tkinter. I will start the presentation with an introduction to network visualization, and show how tkinter can be used to implement graph drawing algorithms, as well as a full-on Geographic Information System (GIS), allowing one to place network devices on a world map at their GPS coordinates. I will then discuss the whys and wherefores of network automation, and show how to automatically generate and push scripts to a network device via SSH or Telnet.

Related Material


AV-Portal 3.5.0 (cb7a58240982536f976b3fae0db2d7d34ae7e46b)


  577 ms - page object