Friday, August 15, 2014

Wireless Networking challenges

I must say Data (Voice+packet) that can be carried per Hz (Unit for Frequency) rapidly gone up in this decade. Thanks to intelligent brains in finding better results in Signal processing and Mobile communication. I am sure we will witness much faster mobile communication and intelligent nodes (Your AC, Smoke detectors, Window, lighting etc) in coming days. Wireless networking is definitely a happening field in networking sector. Wireless radios have matured from  proprietary technologies to heavily into standard based solution in a very short span of time.

Primary challenges in front of wireless networking startups,

Improve SNR - Signal to Noise ration

  1. Increase Signal penetration (Gigantic Base Station to Pico cells). LOS (Line of Sight) performance in Non-LOS conditions is the goal.
  2. Intelligence to Antenna (Reducing transmission loss, noise cancellation and coverage improvement)
  3. Beat Shannon's law

From service providers point of view:

  1. Mobility - Signal handoff, LTE advanced and WiMax advanced made a breakthrough here.
  2. Wireless device management - Software Defined radio
  3. Monitoring - Intelligent Load sharing
There may be numerous other challenges but above list offers a simple baseline.

Interesting part of this post is to cover wireless networking startups but wait for my next post to know about Kum networks, DIDO

Debugging with GDB - Lets decypher Segmentation Fault

I want to be a philanthropist. Hold on!  Are you looking for any link to get money? Get out of my website if you have wrongly landed here in search of money. I am sure Google (Search engine is not the key word any more) does a good job in listing search results. 

I only offer information in netglutton, after all information is wealth. I recently gathered more information about a tool i use almost every day in my Software Engineer role. a magic three letter tool "GDB - GNU Debugging".

Process crash or Core singles out as "Critical" defect among tons of defects in any software system. It is so severe that both test engineer and developer have hard time in resolving process crash. As a software test engineer i have encountered 100s of Process Crash scenarios. 

Why it happens?
Simply, unhandled exception. Yes, Process crash happens due to unhandled exceptions like Null Pointer, Memory error, EOF etc in code. As a test engineer i have not only seen simple way to trigger a crash but also a most difficult ones. 

If you have root access, find a non-restartable process (ps -ef) and do "kill -9 or -11".

"Breaking Point" is very critical issues in code. I really dont want to get into the reason for Crash/Cores. A C/C++ developer must know about GNU Debugging (GDB). Software test engineer should also know about collecting core file, attaching to GDB and finding BT (BackTrace short form).

Unhandled exception OR Null pointer OR Segmentation Fault in process leads to process restart. Process failure leads to core file. Back trace using GDB helps to find breaking function call /memory location/ value. 

With above contextual information, go through following help links for more information about How to GDB?

Sunday, July 27, 2014

Midonet - Network Virtualization Solution from Midokura:

SDN is not a story anymore, Several players have solutions to try. With this blog post i am going to share my read/research about Midonet -  A Network Vitalization Solution from a start-up "Midokura". Unlike other leading SDN providers, Midokura prime focus is fixed at Decentralization.

Instead of a designated controller based approach, Midonet has taken a Distributed controller approach. Every Hypervisor will act as a virtual Router hence highly Distributed. Distributed routing intelligence combined with Border Gateway (Physical Router) controls network traffic to/from datacenter from/to Internet.

Midonet operation explained in few words,

Central flow DB either gives information about destination node and flow or finds a path to destination. Source establishes a GRE tunnel to destination. Destination could be another Hypervisor or Gateway connected to Internet. Packet intercepted in Hypervisor at kernel space, encapsulated inside a GRE.

Key Elements involved in Midonet solution:

Hypervisor interconnect: Midonet simply expects a ip switching/routing reachability between all hypervisors and Gateway. No vendor dependency.

Agent: Every Hypervisor needs Midonet Agent installation. Agent derives flow information from central DB for 1st packet, rest of the packets to same destination will directly go through established tunnel to destination Hypervisor.

Gateway: x86 server with Midonet Agent. Talks to external network in E-BGP.

Central Network flow DataBase: All Midonet agents subscribe to this DB. DB contains every information about every VM.

Midonet API, GUI, Orchestration: API offers programmable interface to View/control Agents. GUI does the same to graphical user. Easy to integrate with cloud orchestration tools like OpenStack and CloudStack.

Now, please read Midonet operation explanation once again with Midonet elements in mind.

A VirtualMachine wants to reach a destination, of course VM is inside a hypervisor. Hypervisor gets the packet to send. Midonet Agent intercepts the packet, finds tunnel information from Network DB. Establishes a tunnel to destination. Tunnel destination could be another Hypervisor or Gateway (for external traffic).

Hope  you have fill picture of Midonet's SDN offering.

Sunday, July 13, 2014

First Thoughts on OpenContrail

Thanks to Juniper Networks and Bay Area Network Virtualization Meet-up group for a wonderful OpenContrail hands on session. Juniper product marketing folks created an awesome environment to play and learn their solution. I appreciate their openness, indeed a rare quality among big companies. Especially from the one, Juniper, which is under lot of pressure to perform in changing DataCenter networking field.

What does OpenContrail Do?

Open, standard based  solution to do Network virtualization and service automation for cloud network.
It has 3 important stakeholders,
1. Controller (configuration, control and Analytics
2. VRouter (Every compute element has VRouter)
3. Gateway (Exit point to external network) - any MPLS-VPN OR VxLAN and Tunneling supported Router

Solution expects IP reachability between all nodes very simple flat network is sufficient.
You can create a IP Pool, Create VM and set its NIC. Whole set becomes a VPC (Virtual Private Cloud).

Now, Define Network Functions .i.e policies from GUI like access to external IP, IP NAT, Firewall and LB (Load balancing) policies. Without contrail imagine provisioning public/private cloud in DC and making any small changes. If you have ever dealt with network provisioning team you know the pain and delay. Software Defined DataCenter aimed to remove those provisioning and monitoring hurdles, contrail is moving ahead with its solution.

OpenContrail is bringing so much value to SDN echo system. Solution is completely open. Network provisioning, management and analytics comes easy to scale your DC without much hurdle.

OpenContrail has so many things to talk about. I would like to talk more in newer posts. For now i would like to complete this post with few question.

Flat IP connectivity is a big piece to manage. How network bottle neck can be solved?
How I/O can be managed? Storage is a critical piece in VM provisioning
How deep analytics can penetrate? How Infrastructure can be handled better with application intelligence?

Monday, July 7, 2014

A special case in IPV4 subnetting /31 prefixes

Lack of IPV4 addresses pushed think-tanks to come-up with various optimization techniques. /31-bit prefixes for IPV4 point-point link is one such optimization. This is a special case in IPV4 sub-netting.

A basic thumb-rule in subnet masking is,

  1. 1st address to network
  2. last address to Broadcast
  3. IP address in between are usable IPs for hosts

For Example: prefix: Network:, Broadcast: Hosts:

Hence for any IP subnet 2 IP addresses used to make the subnet work. 

When i started my carrier as old timer in IP networking, i used to use only /30 for P2P links. I have generously wasted 2 ips per PTP link. Internet consortium came up with a special case to mitigate this IP address wastage. RFC3021 has more information about /31-but prefix

Latest Routers accept /31 as valid subnet. In a PTP network Broadcast and network IP has less value. Router will forward to peer if it identifies dst.ip belongs to his subnet but not belong to him. 

All VLSM (Variable Length Subnet Masking) supported routing protocols understands /31. 

Hope you learned something new. Happy Networking!

Other articles related to /31 ip prefix,

Sunday, July 6, 2014

Init - Hello packet

Welcome to "NetGlutton"! - A weblog to share my thoughts and learning around Internet working Technologies.
The Internet is the unprecedented gateway to any information you seek. I intend to make my contribution through this blog. You will not only find my take on a topic but also various other collected references.

I yet to make my mark with contributions, hence holding this post with INIT state, I cannot recognize peer Hello packet (Reader interest), I yet to start my Hellos too :-)

I will cover following topic in this web blog,
  1. Data Center Networking Trends - SDN, NFV, Open Flow, Overlay Technologies, Chef, Puppet, vSwitch/vRouter, ACI
  2. Mobile communication Trends - WiFi (802.11 a/b/c/n), WiMAX (802.16 d/e), LTE, LTE Advanced, Wireless Spectrum
  3. Internet of Things - Home Automation, Home Security, Video Surveillance,  Intelligent devices
  4. Internet technologies trends - Internet Usage, Storage, optimization
  5. Mobile Applications

Information is wealth, Shared information is wise. I chose to be a wise man than wealthier.

Closing my Init post with a quote,

  Taking information from Internet is like taking a drink from fire hydrant.
        - Mitchell kapor