This video is one of the best I've seen on the subject. You seem to have scripted the narrative so it does not ramble, is precise and to the point which I really like. It delivers both detail and clarity which is typically difficult to achieve simultaneously. From your Linkedin your time as a trainer helps to explain the above. I really hope you'll do more videos on SDN.
Your tutorials are nice, it has balanced switching of slides and hands-on screen, you have great voice, diagrams are helping to identify the things easily.
Openflow concept well explained. It is about controlling the switches by utilizing flow tables and their entries. If no entry is matched in the switch, controller is then utilized to make new entry. Also, some wireshark example how to understand the openflow 'packets'
Hi David, Thanks for these videos on open flow and intro to SDN. I am really excited about this new era of networking. Your videos are very well understood.
Sanjeev Shrivastava I think good sources of information are www.coursera.org/course/sdn (great online SDN course) the links from there: An attempt to motivate and clarify Software-Defined Networking (SDN) , and How SDN will Shape Networking - Nick McKeown Also lot's of more detail on the ONS (Open Networking Summit) RU-vid page: ru-vid.com/show-UCHo2uqQqpmE_Cg5b4qiUpUg
this video is without any subtitles, it's little difficult to understand, may i know if u have the video with subtitiles? my E-mail address is 1557862201@qq.com, many thanks!
FYI on my last video "Introduction to Git" I added subtitles, I will be doing that from now on, thanks for the feedback - I made a process change to incorporate going forward.
Hi David, Thanks for this and other great videos. Do you have any video on using the ODL APIs to re-actively modify the routes? I am interested in service chaining using SDN and looking for a tutorial or video that explains how an application on top of SDN controller can manipulate routes on the fly.
I know this was 6 years ago, but something doesn't make sense. Back in the early days of networking, we had bridges which performed frame switching via software. This was a bit slow so frame switching was performed via the ASIC (ASIC - application-specific intergraded circuit). This allows frames to be processed at wire speed. Now we're back to a software implementation of switching. Don't get me wrong I fully understand the benefits, but how has switching via software improved with respect to speed vs switching via ASIC
Emphasis on the 6 years ago, I'm not working with OpenFlow anymore - but programable ASICs - e.g. sites.google.com/view/iu-whitebox-project/home/programmable-asics-and-p4
could you please make a tutorial about interacting with ovs without the command line?(I mean like adding and removing flow entries without using ovs-ofctl)
Great video and very helpful - I am taking the SDN class on Coursera and thought this was a good video to help get a head start. One question - do you know of any other good technical videos that might give a good/quick overview of network basics (without being overly simple)?
Hello Brian, I haven't looked at more than a few of the videos from them but the course at Stanford online looks like it might be really good. f12.class2go.stanford.edu/networking/Fall2012 You have to register for the links to work.... Thanks for the comments! Dave
Hi... Its very simple to understand.. Thank you... I have a small clarification... Please clarify... How the controller know that a particular host is connected to this specific port in the open flow switch?-- inorder to push the flow with action.. Thanks in advance...
Hi Andrew - well the first packet from a host is sent to the controller in a packet-in message from the ingress switch, so it is then 'aware' of the host
Andrew Niteesh Ah - up to the implementation of the different controllers and how they are programmed. But for example they can do flooding unknown unicast destination and learning the same way a traditional switch does (learn from source MAC/Port of a frame) or say if there is an orchestration platform involved that already knows where VMs are (because it put them there) stuff can be pre-populated.... Hope that helps....
Rich and to the point! thanx! one question: would you recommend the approach to implement link aggregation on the packet level with multiple links of different characteristics (latency, badwitdh, loss) using openflow with openv-switch?
Hey David , great videos. Im wondering as I saw your linkedIn profile and the great amount of experience you have in networking especially on Cisco. I just started working at the IT department of a company and we are currently building the network infrastructure for two buildings that are going to be interconnected (24 story building-79 condos, 33 story-130 condos). This infrastructure should support video, voice, data, BAS, etc. We are trying to decide what vendor product should purchase, we have proposals for Alcaltel Lucent, Cisco and Avaya. What input can you give me on this? Thanks in advance.
Hi Gabriel. I know there are different Vendors with solutions. For example : h17007.www1.hp.com/us/en/networking/products/network-management/Network_Protector_SDN_Application_Series/index.aspx and www.inmon.com/products/sFlow-RT.php and www.radware.com/Solutions/SDN/ There are some in startup/stealth mode focused on this as well. I don't know what's out there for Open Source specific to integrating say an SDN controller application for IDS. Hope that's at least some good jumping off points.
I m undergraduate student and new to sdn. I hav a question How to do port mirroring functionality in openflow? As you said about group table.Will it be helpful in doing port mirroring?
Try docs.openvswitch.org/en/latest/faq/configuration/ there is a section "How do I configure a port as a SPAN port, that is, enable mirroring of all traffic to that port?"
Right the video is about the TCP SYN and TCP SYN ACK. This was a question about the functionality of Openflow mod packets and ARP. ARP was not shown in the video but I replicated it in my lab and just wanted to understand how Openflow handles ARP broadcasts.
Well it's not how "OpenFlow" handles broadcasts, it's what a controller decides to do with them and pushes down in the form of flow entries. For example, in OpenStack you can enable a feature so that broadcasts only go to where they are needed instead of flooding the whole l2 domain. On the switch itself this is seen as flow entries directing broadcasts only out via certain tunnels. I did this video a while ago but I assume a flow modification is pushed down here just to treat it like a normal l2 switch broadcast (everywhere out but the input port). The default on OVS is just to act like a normal switch which would mean normal broadcast (if there are no specific OpenFlow entries to override that behavior that came from a controller, etc.) Hope that helps?
I think I understand now, the default OVSSwitch doesn't need a flow entry from the controller on to handle broadcast traffic, that behavior is already built in the switch by default?
Hello David Mahler Thanks alot for this video which clearly explains the basics. But my doubt is- Open Flow sits on top of TCP and controller listens on tcp port 6653 for switches which would like to connect. Now here how the switch to controller channel is established??? Controller listens on port 6653 but switch doesn't have any port ( L2 or L3 ). How is this network channel established then??? Is it like any other switch to host connection using the MAC address, in that case why would a controller listen to switch on the specified port??? Please David help me as soon as possible. I just cant go forward without this basic clarity. Thanks in advance
This post by Ivan Peplnjak will probably help: blog.ipspace.net/2013/12/control-plane-in-openflow-networks.html Easiest way is that the control network is 'out of band' and doesn't intermingle with the network it is controlling...the link has more detail and other links to dive into
David Mahler Thanks for a quick response. I checked the blog and went through all the related posts, but my main doubt is how a switch connects to a controller???? Switch doesn't have transport layer in it, so how a normal tcp connection is established between a switch and a controller?? Any kind of help will be appreciated, thank you
David Mahler It seems to me that the openflow switch is a multi layer switch, for the proper connection establishment between switch and the controller. Is that so???
Guduri Prathyusha OK - I THINK you may be getting hung up on the data plane versus the control plane and management plane. I'd suggest reading more about that concept. You are focusing on the data plane - how network nodes handle packets passing through them. However this packet handling behavior originates in the control plane using protocols like BGP, OSPF, MPLS and now OpenFlow. It's the control plane that handles a connection to a controller this is a separate 'plane' or construct from the data plane that I think you are focusing on. Also when you said there is no "transport layer" in a switch - how do you SSH into one - that uses TCP - when you do that you are connecting into the "management plane" I have a intro to SDN video coming up that may enlighten on this concept.
Great video for understanding fundamental principle , i want to ask one thing , i am doing mini project in my college in domain of computer networks , i want to implement open flow network simulation using ns3.Can you advice me how to start or anything worth knowing related to this or which sites to refer , please help
I tried capturing the packets with wireshark. i am using two VMs one with cbench and other with the controller. It captures all the packets but doesnt mark anything as OFP wireshark v1.8.10 in use. can anyone help
You have to use: 1. RawCap.exe -f dump.pcap to create pcap file 2. the Wireshark development release 1.13.x, available at: www.wireshark.org/download/automated Make the catpure with RawCap and then load the pcap by Wireshark. Then enable openflow protocol by Wireshark menu: "Analyze - Decode As", scroll down right listbox to select openflow, then click on Apply and you will see openflow protocol be highlighted in the capture window. If your capture stores openfow packet, then you should have TCP packets using srcport 6633.
CG: David, One irksome question. Sorry! I tried to set up the environment on Windows 7 PC Using Virtual Box and the Mininet VM supplied at mininet.org. I ran the same commands as in the video and noticed one difference in the output of the dump command. See below.... Interestingly, on a seprate Ubuntu 14.10 machine with mininet packages installed directly from Ubuntu Software Centre, running the same topology produced the same "OVSController" identifier as in your video, for the dump command... Why am I getting Controller as opposed to the expected OVSController ON WIDOWS 7 PC Virtual Box - Mininet VM : ===================================== sudo mn --topo=single,4 : The usual output etc... : mininet> dump sh sudo service --status-all [ + ] apparmor [ ? ] console-setup [ + ] cron [ - ] dbus [ ? ] dns-clean [ + ] friendly-recovery [ - ] grub-common [ ? ] irqbalance [ ? ] killprocs [ ? ] kmod [ ? ] networking [ + ] ntp [ ? ] ondemand [ - ] openvswitch-controller
hi, I want to know if the buffer ID in the video has a value, but when OVS creates the bridge, n_buffer=0, which means the buffer is turned off. I would like to ask how it is turned on here.
It's been a little since I set this up - but IIRC, its from the ARP request and reply which came before the TCP 3 way handshake. Those are punted to the controller which records (learns) IP, MAC and port mappings that way.
Ratna teja I guess because the SDN Controller differinciates between Protocols. You can see in this example, that even for a new HTTP session the SDN Controller would have given out a new rule. But I think you could generalize those rules. (I am still new to SDN)
Hi David, I am working on an SDN project in which I use a physical router Linksys WRT54gl and burned an openWRT OS with openFlow 1.0 from the pantou project. I tried to connect two routers to some controller (openmul, floodlight) as following: r1->r2->c1 . I am having a problem in configuring the ports to allow traffic from hosts connected to r1 to hosts connected to r2. I'm having some issues when trying capture traffic on wireshark, so I was wondering if you could supply me some information about my problem. I was wondering if when r1 gets a tcp packet and encapsulate it with openFlow, and forward it to r2, does r2 encapsulate it as well or does it recognizes that it is an openFlow packet and just forward it as is to the controller? would appreciate any help on the matter, Thanks
Thanks for these videos. But can u please explain how to understand the packet flow path followed like h1->S1->S2->h2 in a tree topology without s3 used up to send packets. How to understand the dump-flows result if using controller.java to set switch flows.
Excellent video David! Cleared up a lot of my doubts. Just one question at 3:20 When the initial SYN packet arrives at the switch, how does the switch know which controller to send it to. As OpenFlow controllers could be implemented by different people, how does an intermediary switch identify which controller to talk to for a particular packet?
Can i create a sdn topology without using mininet (i have a reason for that) ? Perhaps there is a way to add openflow protocol to a switch or a linux machine? Can you help?
@@DavidMahler I asked the same question on /r/networking www.reddit.com/r/networking/comments/ibb0kd/is_openflow_worth_learning_in_2020/ 4 months ago. I got some replies saying that it's quite used by service providers. Is that something you notice as well? I would like to do some work at the ISP once I'm out of college.