The First 10 Years of Software Defined Networking



  • software defined networking

    Wendy Cartee, Nick McKeown, Guru Parulkar, and Chris Wright discuss the first 10 years of software defined networking at Open Networking Summit North America.

    In 2008, if you wanted to build a network, you had to build it from the same switch and router equipment that everyone else had, according to Nick McKeown, co-founder of Barefoot Networks, speaking as part of a panel of networking experts at Open Networking Summit North America.

    Equipment was closed, proprietary, and vertically integrated with features already baked in, McKeown noted. And, “network management was a dirty word. If you wanted to manage a network of switches, you had to write your own scripts over a lousy, cruddy CLI, and everybody had their own way of doing it in order to try to make their network different from everybody else’s.”

    All this changed when Stanford University Ph.D. student Martin Casado had the bold idea to rebuild the Stanford network out of custom-built switches and access points, he said.

    Separate Planes

    “Martin just simply showed that if you lift the control up and out of the switches, up into servers, you could replace the 2,000 CPUs with one CPU centrally managed and it would perform exactly how you wanted, could administered by about 10 people instead of 200. And you could implement the policies of a large institution directly in one place, centrally administered,” said McKeown.

    That led to the birth of The Clean Slate program and, shortly afterward, Kate Green from MIT Technology Review coined the term Software Defined Networking (SDN), he said.

    “What seemed like a very simple idea, to just separate the control plane from the forwarding plane, define a protocol that is OpenFlow, and enable the research community to build new capabilities and functionality on top of that control plane … caught the attention of the research community and made it very, very easy for them to innovate,’’ said Guru Parulkar, executive director of the Open Networking Foundation.

    On the heels of that came the idea of slicing a production network using OpenFlow and a simple piece of software, he said. In one slice you could run a production network, and in another slice you could run an experimental network and show the new capabilities.

    The notion of the segregating of the control plane and the data plane brought about a whole new way of doing networking as it became open, along with the intersection of open source and SDN, noted moderator Wendy Cartee, senior director of marketing, Cloud Native Applications, at VMware.

    “Building all of this new virtualization technology and bringing it into enterprises and to the world at large, created a need for a type of network programmability” that was happening as the same time as the research, noted Chris Wright, vice president and CTO, at Red Hat. That brought about open source tools like Open vSwitch, “so we could build a type of network topology that we needed in virtualization.”

    Confluence of Events

    In the beginning, there was much hype about SDN and desegregation and OpenFlow, Wright said. But, he continued, it’s not about a particular tool or a protocol, “it’s about a concept, and the concept is about programmability of the network, and open source is a great way to help develop skills and advance the industry with a lot of collaborative effort.”

    There was a confluence of events: taking some core tenets from research, creating open source projects for people to collaborate around and solve real engineering problems for themselves, Wright said. “To me it’s a little bit of the virtualization, a little bit of academic research coming together at just the right time and then accelerated with open source code that we can collaborate on.”

    Today, many service providers are deploying CORD (Central Office Re-architected as a Datacenter) because operators want to rebuild the network edge because 5G is coming, Parulkar observed.

    “Many operators want to [offer] gigabit-plus broadband access to their residential customers,” he said. “The central offices are very old and so building the new network edge is almost mandatory.” Ideally, they want to do it with new software defined networking, open source, desegregation and white boxes, he added.

    The Next 10 Years

    Looking ahead, the networking community “risks a bit of fragmentation as we will go off in different directions,’’ said McKeown. So he said it’s important to find a balance, and the common interest is in creating production quality software from ODL, ONS, CORD, and P4.

    The overall picture is that “we’re trying to build next-generation networks,’’ said Wright. “What’s challenging for us as a broad industry is finding the best-of-breed ways to do that … so that we don’t create fragmentation. Part of that fragmentation is a lack of interoperability, but part of that fragmentation is just focus.”

    There is still a way to go to realize the full potential of SDN, said Parulkar. But in 10 years’ time, predicted Wright, “SDN20 will be really an open source movement. I think SDN is about unlocking the potential of the network in the context of applications and users, not just the operators trying to connect … two different, separate end points.”

    Wright suggested that audience members change their mindset and grow their skills, “because many of the operational practices that we see today in networks don’t translate into a software world where things move rapidly. We [need to] look at being able to make small, consistent, incremental changes rather than big bang, roll out changes. Getting involved and really being open to new techniques, new tools and new technologies … is how, together we can create the next generation. The new Internet.”

    The post The First 10 Years of Software Defined Networking appeared first on The Linux Foundation.

    https://www.linuxfoundation.org/blog/the-first-10-years-of-software-defined-networking/





Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
screen
re-attach a detached session tmux attach OR
tmux attach-session
screen-r
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]
  • FYI for FreeBSD the driver only supports block size chunks, therefore:

    dd if=/dev/cd0 of=/name-the.iso bs=2048

    read more
  • sort -g /var/log/nginx/access.log | awk '{print $1}' | uniq

    read more
});