Sunday, April 5, 2015

Software Defined Networking - Part I.

Overview


Ok - so you're probably heard of Software Defined Networking or "SDN".

But what does it all mean?

Well - in a nutshell - it means instead of the server guys having to ask the network guys to stretch a new VLAN between datacentres or add / move / change VLANs on a switch port that a server connects to (be it a physical or virtual switch), some middleware (usually referred to as an SDN controller) will work with the hypervisor to change the configuration automatically.

On top of this, a pipe dream of SDN is that event driven (i.e. a threshold is met on CPU usage or NIC bandwidth usage) VM and network route path changes will occur to ensure a high level of performance.

There's really only two use cases in which I see SDN coming to fruition.

1) Managed Service Providers

MSP's are the primary target for SDN.

Providers running the likes of openstack stand to benefit primarily from SDN through automation of configuration.

Furthermore, if setup correctly, you can essentially allow customers to manage their own network provisioning (whether you'd want to or not...).

2) Non-Cloud Enterprise Data Centres (i.e. All On-Prem in Data Centres)

Are you a large enterprise with hundreds of servers and due to poor housekeeping a mess of a network core with a sea of unmappable fibre and copper patching?

If so, SDN probably isn't for you.

SDN isn't a "magic fix" technology that just makes all your existing problems go away.

If your company is in this situation, you obviously have bigger problems including discipline and governance, and that's not likely to change.

In this situation, SDN could actually be a VERY bad thing for you as you'd then have automated insanity and dig yourself into a hole you may never come out of.

In other words, SDN is NOT a solution to a problem that shouldn't exist.

On the other hand, if you're a large enterprise maybe looking at spinning up a new data centre to migrate to, than yes - SDN would definitely be worth looking at.

Done right (with discipline, design and control), you could design and implement an efficient, predictable and autonomous network core and realise all that SDN has to offer.

Having said that, the same thing can be achieved through good network design without SDN.

Now - one thing to bear in mind - the "crazy filter" that you often get from your network engineers in data centre rollout is essentially removed with SDN.

Just because you're running an SDN environment, doesn't mean you can skip vetting of the requirements by the network engineers. 

The way I see SDN is that it's a tool that should still be managed by network engineers and provided to them to make their lives easier.

Handing over this level of access to server engineers is scary.

3) Majority Cloud / Minority On-Prem - Maybe 

Is it a case of too little too late though for on-prem servers?

As the trend is to currently stick your servers up a remote hosting service like AWS or Azure, for the small amount of remaining on-prem servers that honestly aren't going to be moving around or changing that much, is it worth deploying a whole new architecture when simple good VLAN design and deployment would work fine?

Even if you do a network refresh and purchase all new datacentre switching, would you bother using this technology for a small-scale deployment?


For me, there's two big issues here:

1. Trust

This technology is very new and no one is using it yet.

Think about what it's doing - changing your NETWORK infrastructure configuration automatically.

What if there's a bug in the SDN controller software or in the implementation of the command interpreter or API instructions?

How will you EVER find the fault and what do you do in the mean time?


2. Control

How dynamic is your network REALLY?

Do you honestly have changes occurring THAT regularly that good network design shouldn't just provide your server guys with a network environment that doesn't require reconfiguration regularly anyway?

It comes down to "how big is your environment"?

If you're a mid-level cloud provider running an open-stack platform for your customers, than sure, this will be of interest to you.

Technology Overview (What it SHOULD look like).

Hypervisor Manager
---------------------------
Hypervisor
---------------------------
SDN Controller
---------------------------
SDN Infrastructure


The Technologies

That's the problem - a standard does exist, but everyone seems to be going in a different direction.

Let's deal with the most established components first.

1. Controller or Custom Vendor Middleware

Most companies generally run one or two brands of switch and route infrastructure in their organisation.

At present, you've most likely got one or a few management platforms used to control the configuration, monitor the health and performance and detect faults across this infrastructure.

This is where there is where the first problem of "the new world" of SDN creeps in.

The original idea with SDN was that there was a common language (with OpenFlow being the leader) that a controller would support.

The controller sits between the hyper visor and infrastructure and talks a common language between both to change network infrastructure dynamically as driven by the hyper visor.

All manufacturers should support this language and away you go.

But no - of course not.

SOME vendors do but others insist on using their OWN language or even worse, use an API.

In fact, most do the later and take their existing management platforms and just tack on the API functionality on top.

I personally prefer the idea of OpenFlow a lot more as it levels the playing field and makes it very easy for customers to swap notes and establish which vendor has best implemented the protocol.

While vendors are using API driven configuration expect your platform to suffer due to:

  • Slower development
  • Still locked in to one brand of equipment
  • Inevitable bugs or missed elements in API.
  • No guarantee as to release cycles to address bugs etc.


2. Configuration Protocols

The primary language for SDN is OpenFlow.

Think of OpenFlow as SNMP on steroids for data centres.

Using SNMP you can read and write configuration elements across any brand and model of device that supports it using OID values specific to the configuration element you want to change.

It's super light-weight, fast and enables you to perform bulk changes easily and quickly.

OpenFlow is the same thing - a standardised language that it supported (or at least will be) by many vendors and allows a single controller to manage the network infrastructure configuration.

OpenFlow is obviously a different language to SNMP but does a lot of things the same however also has many additions that are data-centre centric such as:


Saturday, February 28, 2015

NetDISCO



Here's another one for you to keep in your armoury.

NetDISCO is an oldie (well, there's actually a revamped new version available) but a 
goodie.

Although the purpose of NetDISCO is somewhat simplistic, it really is a tool you can't afford to be without in todays enterprise networks.

Essentially NetDISCO does exactly that (network discovery).

Once you add devices to it's database, it slurps their MAC and ARP tables and keeps a record of this over time.

Need to find where every device starting with a particular vendor ID component of the MAC address are connected throughout your environment?

Done!

Want to quickly see how many switches ACTUALLY have spare ports on them, and of the spare ports, when (if ever) was the last MAC address seen on that port?

You can grab a virtual appliance from over at http://wokka.org/netdisco/

As per the download site, once you've spun up the VM, config it as per:
https://metacpan.org/pod/App::Netdisco#Configuration

Don't forget - the UI listens on port 5000!



Monday, December 1, 2014

Zorin OS - Heavily Win7 inspired Linux Distro.

This is pretty funny - a Linux OS with a GUI designed to look "heavily inspired" by Windows 7.

Maybe that's what's need to bring Linux to the mainstream?



If you're bored and want to give it a crack:

http://zorin-os.com/

Sunday, November 30, 2014

Cisco 8510, 2702e's and -Z and -A Coded AP's

Well, this was a fun one.

Recently ran up a Cisco 8510 controller running code version 7.6.130 with 70-odd 2702e (can't buy the 2600 and 3600 series any more) APs.

Of the 2702's we ordered, all were AU version stock however 50 were coded as -Z 5GHz radios and 20 as -A.

Just on that - as the 2702's are VERY new, as part of a project I'm working on atm I will be doing pre-go-live testing so will be interesting to see how the new kid on the block performs.

On code version 7.6.130 for the WX, when you set the controller country code to AU they forgot to code support for -A 5GHz radios even though this is a legit Regulatory Domain code for AU.

On that - upgrading a Cisco WX is a bit of a less than amazing experience.

The upgrade process is clunky at best and all you are presented with during the process is what is actually being done in a random area of the screen.

No status bar, no ticks for each step.

Just hang on and hope for the best.

Anyway, as I knew the hoop-jumping of trying to log a TAC case via our Cisco Support reseller would take at least a week, I started looking for an alternative.

Luckily a trick I've used before paid off - Canada has the same regulatory channel and power restrictions as Australia, so setting the WX to support both AU and CA RD's works a treat.

After a WX reboot (which it seems has to be performed for any setting what-so-bloody-ever) all 5GHz radios were ready to go (after enabling and setting correct RD in advanced tab) all was good.

Hopefully version 8 code is a bit more polished.

TP Link T3700G - Don't bother...

 



Ok - well - as a follow up to my post on the T3700G.

Initial pricing is out and no - the T3700G pricing is pretty crap at $2000 US.

This pretty much lines it up for pricing with Cisco and HP except without the track record in enterprise grade gear to back it up.


Friday, October 24, 2014

Infocus M512 Root / SDFix / Link2SD / Launcher Fix / Uninstall Crap Guide

For those who aren't yet aware, they're is an uber-bargain handset called the InFocus M512  (manufactured by Foxconn) that is a whole lot of smartphone for the money (available from DealExtreme).

If you can read Chinese head to www.infocusphone.com or the translated version.

After using the phone for a little while, you quickly realise it has the following weaknesses:

  • Lack of internal storage
  • InFocus ROM is full of crapware
  • The AppControl and TrafficControl apps are particularly annoying (constantly prompting you about every little thing an app wants to do)
  • The stock Launcher is annoying in that it doesn't use an app drawer and rather spreads your app shortcuts across multiple home pages.


This originally started as my *slightly* more verbose version of the post on XDA @ http://forum.xda-developers.com/general/help/infocus-m512-root-discussion-t2893455

In addition, I've added the steps to resolve the annoyances listed above on top of how to root.


So, let's get into it :)

1. Copy ROM to SD Card
Copy MC2-1080-0-15CN-A02-update.zip to SDCard

Grab it from http://www.infocusphone.com/m512updates.html

Note - you have to access the chinese version of the page as when you pump it through the Google Translate engine it breaks the JavaScript behind the security verification code button.

The following screenies show you where to click :)












You can do this through mounting the phone as mass storage or directly connecting the micro SD through an adapter to your PC.

2. Enable USB Debugging on Phone
Settings -> About -> Repeatedly press "Build Number"
Navigate back to Security and select Enable USB Debugging

3. Copy ADB to Machine
Download ADB Fastboot Tools

Extract adb_fastboot_and_other_tools.zip Android folder to C:\


4. Install Universal UDB Driver
Download Universal Android ADB Driver and Install

5. Connect phone and say yes to prompt "enable USB debugging?"
Unplug and re-plug if you don't get the prompt

3. Use ADB to boot phone into recovery mode
Open a command prompt and navigate to the directory you created in step 4.

cd android
adb reboot recovery

4. Flash ROM in Download Mode
From the phone menu:

wipe data/factory reset
wipe cache parition

Apply update from SDCard

5. Reboot
Set to English
Re-enable USB Debugging

6. Install Android SDK

Download the SDK Tools Only from the Android Developers site for your OS:
http://developer.android.com/sdk/index.html

installer_r23.0.2-windows.exe (Recommended)

6. Extract infocus-M512.rar to C:\Program Files (x86)\Android\android-sdk\tools to directory with no sub-folders

Grab yourself the root ROM and script from http://www.needrom.com/download/infocus-m512/
Note - forced registration required.

7. Connect Phone and enable MTP Storage


8. Run InFocus_M512_15CN_1_03Aċ›½é™…版.cmd

You should be running this from the directory:
C:\Program Files (x86)\Android\android-sdk\tools

Let it go (make sure you accept USB debugging prompt on phone) and wait.

9. Phone should now reboot and you have Root!

10. Install SDFix from Play Store

11. Partition MicroSD and Install Link2SD
http://rootmyandroid.org/increase-internal-memory-phone.html

Use the Mini Tool Partition Wizard Home Edition app to do this.
You will need a MicroSD to SD adapter for this step.

Note - when formatting the SDCard:
* Use FAT32 for the Media Partition (Partition #1)
* Use EXT4 for the Apps Partition (Partition #2)

These are the only file system types I could get to work after a bit of trial and error.

The InFocus M512 doesn't like EXT2.


13. For good measure, set your camera and gallery apps to use SDCard storage as well.

14. Remove Bloatware using Titanium Backup Root
Wow - InFocus has bloatware that would make the likes of Apple and Samsung proud!
To remove some of the crap, install Titanium Backup and blow those suckers away.

Specifically, some key apps you will want to kill are:

* AppControl
* TrafficControl
* Extra crap the root version of the ROM installed (Battery Minder, Performance Booster etc.)

* InFocus customer feedback

15. Replace Launcher with Google Launcher
This will give you the same launcher as the Nexus handsets (yay - you get an app drawer again!).

Install Google Search and Google Now from the Play Store and you will also get the Google Launcher.

To set it as default, go to settings, press the home button and you should get a prompt to choose your launcher.

Set Google as Always and then uninstall Launcher+ using Titanium Backup.

Done!

Bit of pain but you've saved a bunch of cash :)