Wednesday, May 31, 2017

IoT




IoT (Internet of Things) and M2M (Machine to Machine) primarily focus on embedded systems. That is computing and communication facilities integrated on a device, example a household appliance, heating or aircon system etc. This allows for automation, as when all household devices,appliances are connected to the internet there functions could be auto controlled from another device connected to the internet. Example a refrigerator could inventory the status of the groceries (in the refrigerator) and auto order to the local grocery store or send you a list of the required items, also you could verify the status of the groceries in the refrigerator at any time.


IoT is gaining popularity in the Smart Grid, Online Security Services and Retail domains, the embedded systems communicate directly with the computers and thus do not require humans to initiate or control any communications.



Energy Harvesting

Any embedded system requires some amount to power to function and if not directly connected to electricity grid, will run out of battery power in sometime. The embedded device can be designed to extract energy from the surrounding environment, any action which generates power (even minuscule amount)  the embedded system should be able to harness and store. If such a system becomes available than the embedded system could function w/o any requirement of battery or any external power.



Low Power Wireless Communication


ZigBee Alliance


contd..

Tuesday, May 30, 2017

Software Defined Networking - SDN - Part III



More on  Classification...


Classification can be used to handle L2 forwarding, L2 VLAN's, and conventional IP forwarding, as well as more complex forwarding. All the below is possible:

-Send all VOIP traffic out a specified port on the switch independent of the IP destination address.

-Forward all packets from specific IP source addresses to an MPLS tunnel

-Use the IP source address when choosing a path, this allows IP datagrams from source A to be sent along a different path and from source B along a different path, this is when both source A and source B datagrams are going to the same destination !

-Create classification rule based on the content of the datagram


TCAM Size and the need for multiple patterns




End-To-End Path With MPLS Using Layer2


Software Defined Networking - SDN - Part II


In the last article I mentioned that each network element has an external controller, now using a dedicated controller for each network element would be impractical. 

The network elements are grouped in multiple domains and each domain is managed  by a controller assigned for that domain.

Example if you have 20 domains, than there would be 20 controllers managing these domains and also communicating with each other. Since all controllers are in a sync, a policy pushed to one controller will auto update to all other controllers.

Also one should note that the management application running on the controller does not require microsecond processing, the management applications only run occasionally, example the routing protocols only send updates periodically.


SDN Communication

Controller-to-element communication (OpenFlow)

The OpenFlow protocol is the most popular and widely accepted,  the protocol specifies the controller to element communication method, Item definition,classification and the message format.



Controller-to-Controller communication



Classification Engine in Switches

The data plane in a high-end switch consists of a piece of hardware known as classification engine, A network admin never encounters the classification engine directly, as the classification is hidden in the data plane hardware, eg: when a network admin configures a switch, a software module in the control plane changes the classification rules accordingly.

Now what OpenFlow does is to expose the classification to the network management software, which allows the external SDN controller to change the classification rules directly.



Hardware or Software based classification ?


TCAM (Ternary Content Addressable Memory) And High Speed Classification


If a classification is implemented in software, only one pattern can be checked at a time, i.e if there are N patterns than a software based classification will need to iterate each of the N patterns one-by-one.  A hardware based classifier can perform the comparison of these N patterns in a single step!!


A hardware based classifier implements something called TCAM. A TCAM memory cell
contains logic that can perform a bit-wise comparison and all cells work in parallel to perform a pattern match.

Once a packet is received and is placed in the TCAM hardware, all the pattern matchers receive a copy of the bits in the packet, and they all act at the same time. If a match occurs the pattern matcher  selects the associated action (an integer value), and the classifier returns the integer as the result of the lookup 


Classification Across Multiple Layers

As we can now see that the pattern matching can cross multiple layers of the protocol stack !

Example if you want to send all voice (port 50000) traffic from switch port 25. The pattern will have three components (IP, TCP, Dest Port 50000) in a single pattern.

Now this ability of the classifier to span multiple protocol layers with a single pattern makes SDN more powerful than any conventional packet forward mechanisms..