cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2298
Views
25
Helpful
8
Replies

SDN -Software Define Networking : - Questions

ITexpert
Level 3
Level 3

Hello Guys,

@Richard Burts @Joseph W. Doherty  @Julio E. Moisa @Francesco Molino @Georg Pauwen @paul driver @chrihussey  @Leo Laohoo @Reza Sharifi

 

I am working in Network Management from last 3 years and hearing the term that SDN is the future from first day.  But for me Networking is almost same from day 1.

According to my Knowledge, I just use SDN in Vmware where i can create vlans , standard or distributed switches etc internal without connecting to switches.

What else include in SDN and how it will be future ? 

Please explain examples where you are using SDN these days and how it comes into existence ?

 

Why people co-relate automation with SDN , what type of automation we need in networking ?  Why Python is required for most Network Engineer/Architect Positions ?

 

Thanks

 

 

1 Accepted Solution

Accepted Solutions

I know juniper devices can be accessed using api and i believe Aruba as well but not sure which model.

You can start using gns3 or cisco virl to test a virtual lab and use python to configure it.
Also you have some courses on gns3 for python:
https://academy.gns3.com/p/python-programming-for-network-engineers

Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question

View solution in original post

8 Replies 8

Francesco Molino
VIP Alumni
VIP Alumni
Hi

This is a huge topic and going deep into it will take some writing :-)
The goal of SDN is to split the data plane and control plane. Control plane will consists in 1 or more controller, which is the intelligence and data plane your network devices.
The goal is to "program" your network over the intelligent piece "controller". At High level, it would consists into pushing a config through a webUI/scripts from the controller(s) to your network devices; this describes what we call Software Defined Network (SDN).
The master goal of SDxx is the way to facilitate the management and have more and more scalable and flexible infrastructure.

Now, python is the most common language we use today (at least I use since years and before perl). I mean yes this is the future because more and more devices (Cisco and non Cisco) are coming with API (or not) and you need to push lot of configs across all devices without losing time (in a time effective manner) and from a central point.
My personal point of view is that I ever use scripting (perl, bash, python) because I'm kind of lazy and don't want to repeat the same task over and over. Today it's a trend and everyone is pushing and you need to get there but behind the scene, even if the config is pushed and centralized from a controller, every network protocols you know will still works the same way.
In addition to python, you have some framework which can help you to serialize the pushing of scripts/configs like ansible. You will still need to develop your own python libraries for specifics but for all standard and basics, ansible has everything built-in.

Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question

For pushing configs, what is the benefit of Python over say Cattools? 

Not only for pushing, you can get some info, parse these infos, send to another device,....
More flexibility than Cattools.
Then python is free and cattools not.
Also, now you can talk with all devices using RESTCONF/NETCONF for example (and others), leverage API to get some info and push them out to a database for example to do other stuffs... Cattools can't do that (If I mistake, i'm sorry, not expert in cattools).
You can also personalize what you want to do and the way you want to do whereas a commercial tool you can't.

Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question

Hello @Francesco Molino 

 

Thanks for reply,  Can you explain these terms ?

 

Ansible ? 

Cattools ? which cattools are in use these days ?

 

API ?

 

Thanks

Ansible is an automation tool running playbooks in which you define actions you want to run. Take a look on their website:
https://www.ansible.com/
Cattools is a tool from Solarwinds to automate stuffs and manage configurations. I know some people are using it, but not very familiar myself as I use my own scripts.
API means Application Program Interface. It says the way you need to interact from your own script/program with another application, os,....
API includes some routines , communication protocols... It delivers some definition on how to interact with the program.

Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question

Hello @Francesco Molino ,

 

Does all Cisco juniper and Aruba Switches Support API ?  If not how should i know that which models support that ?

 

Also I want to start my lab after learning python, please suggest me a path to test these things in lab before implementing in production environment ?

 

Thanks

I know juniper devices can be accessed using api and i believe Aruba as well but not sure which model.

You can start using gns3 or cisco virl to test a virtual lab and use python to configure it.
Also you have some courses on gns3 for python:
https://academy.gns3.com/p/python-programming-for-network-engineers

Thanks
Francesco
PS: Please don't forget to rate and select as validated answer if this answered your question

Joseph W. Doherty
Hall of Fame
Hall of Fame
Ah, yours are "crystal ball" questions, and often what happens several years out doesn't conform with expectations.

Will SDN really take off? Well, many have made predictions for what IT related technologies will become dominant, and more often than not, they are wrong.

One of the motivations of SDN, in the "real world", is to allow usage of "white box" network platforms, to reduce costs. This, though, isn't really in the interest of major vendors, so likely you'll have some basic SDN that works across and between different vendor platforms, but I would expect the major vendors will have "enhancements" to make their equipment more attractive while preventing interaction with other vendor equipment.

Due to the foregoing, I expect SDN like features to grow, but whether SDN takes over the way SDN proponents expect, personally I think the odds are less than 50/50.

"Why people co-relate automation with SDN , what type of automation we need in networking ? Why Python is required for most Network Engineer/Architect Positions ?"

Well that's just a current du jour expectation, as I assumes it allows you to do more as a network engineer, and you can, if you're actually capable. However, in my experience most network engineers are not programmers, and most network (people) management doesn't fully understand software development (especially long term maintenance), so it's not as effective as it might be.