Categories
Cloud Computing

Learn and Try Satellite Tree Protocol Hands-On with Mininet Yourself!

As SynchroKnot technology has gained the attention of technical peers and businesses across the globe, the team at Spatial Systems Engineering at SynchroKnot has decided to make the Satellite Tree Protocol software [similar to what is seen in the demonstration videos, but not the bleeding edge] free and available to everyone providing you understand & keep in mind that the enhancements to the IEEE standards 802.1D (1998|2004) and 802.1W as seen in the Linux version and other operating systems versions of the Satellite Tree Protocol Software are the Intellectual Property of its creator and owner Mehul Sharma.

Feel free to use, distribute, hack, re-engineer and have fun!

Keep in mind this software is provided to you “as is” for the purposes of fun without any support or warranty of any kind. One of the considerate ideas behind this decision is to help warm up the end users to get acquainted with the actual SynchroKnot Cloud Computing Decentralization Software.

The Satellite Tree Protocol software provided here is the Linux version, which will work on Linux kernel version 4.9, as seen in Debian and Debian derivatives.

If you have recompiled the kernel or are using a derivative with CONFIG_MODULE_SIG [Module signature verification], then the kernel module will fail to load.

It is recommended that you download and install Debian 9 [Stretch] or Devuan [ASCII] from their official website. Below is a short list of known-to-be-working kernels:

GRML:
SMP Debian 4.9.29-1+grml-1

Kali:
SMP Debian 4.9.30-2kali1

Debian:
SMP Debian 4.9.65-3

Devuan:
SMP Debian 4.9.88-1+deb9u1

Though we understand the actual, real-world use requires understanding of various interconnect topologies, troubleshooting of various aspects depending on your setup, understanding the core work-ability before you can even attempt to troubleshoot, gaining of professional support to help you engineer and help you solve problems, and so on, we believe this will help you get started and see the potential and power of this small part of the complete SynchroKnot software and solution.

For those who are unaware of what Satellite Tree Protocol is, a full description can be found in one of our other articles or on our official website.

What is Mininet?

Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine in seconds, with a single command.

Please visit Mininet website to learn more:

Mininet

Install Mininet:

Please visit the Download/Get Started With Mininet page for necessary steps to get Mininet installed:

Important: Please consider installing Mininet on a physical machine with ample resources and not a virtual machine to get good performance when using it with Satellite Tree Protocol.

Steps to Get Started:

1] Important: Make sure you remove the standard Linux Bridge.

rmmod bridge

Please make sure it has been successfully removed.

2] Insert the 8021q module

modprobe 8021q

Please make sure it has successfully loaded.

3] Insert the Satellite Tree Protocol-enabled Bridge:

Please make sure you are loading only the Satellite Tree Protocol-enabled Bridge. To confirm do the following:
modinfo sstp-bridge.ko

The value of alias: should look similar to below:
alias: rtnl-link-SynchroKnot-Satellite-Tree-Protocol-bridge

Now insert the module:
insmod -f [path]/sstp-bridge.ko

example:
insmod -f sstp-bridge.ko

Please make sure it has successfully loaded. The command lsmod should show “bridge”.

4] Create a pair of veth devices to complete the loop of the ring topology:

ip link add loop0 type veth peer name loop1

ifconfig loop0 up
ifconfig loop1 up

5] Start Mininet without a controller [--controller none] and with Linux bridge which is now Satellite Tree Protocol enabled.

mn --controller none --switch lxbr,stp=1 --topo linear,8,1

The topology above [--topo linear,8,1] refers to 8 switches [nodes] in a linear topology. Start with 8 or less switches [nodes] and then increase it when you get acquainted with the workabilities and observations.

You can also add the option below to mn to experiment:

--link=tc,bw=1000

6] Connect the ends of the topology to form one large loop or ring:

brctl addif s1 loop0
brctl addif s8 loop1

[The veth loop devices must be up for the ring to form. We have already brought up the loop0 and loop1 devices in step 3]

Note: As soon as the loop devices are connected you can see topology change and related activity.

One simple way to capture topology change-related activity is to use the Tcpdump utility:

tcpdump -vvv -p -n -i any stp | grep -ie topology

Refer to the tcpdump manual page for more information related to the options:
man tcpdump

For an in-depth investigation you can look at syslog or dmesg. Below is an example to get information in real-time from syslog:

tail -f /var/log/syslog | grep --color -ie sstp

Now, you can start to experiment with bringing down a switch and observing what happens and then bringing it up again and then observing the change.

Example:
echo "Bringing Down s8" && ifconfig s8 down
echo "-- waiting for 10 seconds --" && sleep 10
echo "Bringing Up s8" && ifconfig s8 up

Similarly, you can start pings from one switch [node] to another and make observations. Of course you won’t get a ping response from the switch[es] that you might be bringing down, so make sure you are only pinging the switches that are not being brought down and up.

Also, experiment with moving or bouncing the root bridge over to another switch and then moving it back with and without the pings, and make observations in tcpdump. Obviously, you are not going to move/bounce the root bridge to the switch that you might be bringing up and down.

Example:

Check which switch is the root bridge and then set a lower bridge priority to another switch and you will notice that the bridge with the lower priority becomes the root bridge.

Here we are giving s4 as a priority of 50:

brctl setbridgeprio s4 50

How to check which switch is the root bridge:

In the tcpdump results, see what is next to “root-id” and then find that id after executing brctl show

To move the root bridge back to the previous switch that was the root bridge or to another switch, set a lower priority than 50:

brctl setbridgeprio [name of the switch] 25

To make things easier we have depicted the steps and different experiments in our video demonstrations. Please refer to our website for the details of the demonstrations under the demo section. The links below are directly of the demonstration videos:

Spatial Satellite Tree Protocol

Satellite Tree Protocol showing Root Bridge failure, failover, failback

Satellite Tree Protocol showing Root Bridge failure, failover, failback with Flood Ping from multiple directions

After you have had an opportunity to experiment with the ring topology, you can start Mininet with the Torus topology!

Please keep in mind that at the moment only the binary version of this software is available (similar to many binaries made available by companies such as Nvidia and others). If this conflicts with your belief, please decide against trying or using it.

Considering their active, busy schedule, the team at Spatial Systems Engineering is in the very early stages of gathering requirements and necessary details for the possible open-sourcing of the code of this software.

Also keep in mind that it is not a requirement to use the Satellite Tree Protocol with the SynchroKnot software and solutions. You can use regular switches with STP and RSTP, etc. as well. Many have shown preference for the Satellite Tree Protocol, due to the logical, underlying benefits.

Below are the links to download sstp-bridge.ko and checksum [sha512sum] of sstp-bridge.ko

█ DOWNLOAD SATELLITE TREE PROTOCOL – sstp-bridge.ko 

█ SHA512SUM [in a file] 

SHA512SUM:
13335bcb0c5ce6ba2a497a01ab5e2944f032a7f08a694887d8b17b2bc6160d4532cc231afd5c1b625f23b4e81856d011bacdbee29aaf4b316b77d3633f1d6f7c

Categories
Cloud Computing

The Internet of Spatial Defined Systems with SynchroKnot

What is the Internet of Spatial Defined Systems? and Where does fit in with IoT?

We have heard of Cloud Computing, Data Centers, Edge computing and their numerous expansions and variations. However for the most part the architectures used underneath these Infrastructures and the technologies governing them remain centralized in terms of location and disparate in terms of hardware + software used at that central location.

For example, you may have your cloud computing infrastructure located at a centralized data center. This cloud computing infrastructure is made of up disparate hardware, namely servers, redundant switches & routers, storage [SAN/NAS] and load balancers etc., and run the standard virtualization software like OpenStack, VMware, Hyper-V and so on.

So, in a sense, this standard and expensive business model has locked itself into a myriad of traps. Some of the most important traps are scalability, complexity, security, manageability, maintenance, vendor lock-ins, maintaining of multi-tiered separate teams, time-consuming fixes to problems, and much more.

One method out of this architectural quicksand is to look at the novel approach of the wonderful research done within the IoT industry and adapt it to the systems architecture in a way such that you should be able to use all kinds of systems from embedded devices to desktops, workstations and servers across both wired and wireless networks transparently.

In other words, building a decentralized, automatic cloud and data center which can be rapidly scaled globally within the budget and performance requirements of the end users. Plus, it must have the ability to be kept at locations other than just a data center. Some of the examples of locations are offices, cubicles, basements, apartments, closets, fiber optic hubs, 5G base stations, shops and much more.

This is where SynchroKnot software does it all and takes care of everything. SynchroKnot has made it easy with its software. It installs in minutes and does much more than what the centralized cloud computing technologies and data center put together can do today and what they aspire to be able to do in the future. You can transform any server, workstation, desktop or embedded device into a decentralized cloud or data center [We call it a data decenter].

Apart from just merely de-centralizing, with SynchroKnot, anyone can sell their full or under-utilized hardware resources using Bitcoin, and without involving centralized financial institutions/payment processors.

To alleviate the concerns and criticisms directed towards IoT, SynchroKnot has multifarious real-world security measures built into the software, which are aimed at substantially improving the overall security of decentralized systems.

For SynchroKnot end users, its unique Satellite Tree Protocol allows the inter-connectivity of heterogeneous devices over wired and wireless networks, all automated and fault-tolerant without the need to manage any aspect. This unique network component eliminates the need for physical switches and routers.

There are a multitude of components that you can choose from to build and enhance your Internet of Spatial Defined Systems!

For more information, please visit synchroknot.com

Categories
Cloud Computing

Transparent Auto Network Address Translation

SynchroKnot Automatic Network Address Translation [NAT] Enablement allows for transparent access to Infrastructure Engine and Virtual Machine Consoles [HTML5/Java], Log Panorama and more from behind NAT [Network Address Translation] without having to configure anything on the client-side or server-side.

This feature allows for secure and easy setup & access from behind standard NATs so that tenants can have direct access, or access from their VPNs without accessing the actual provider network. This feature brings about flexibility and simplicity, while at the same time allows the service providers to securely keep the tenants separated.

Excerpt from the SynchroKnot Manual: The Infrastructure Engine can be accessed by all tenants in the 10.xxx.xxx.xxx range corresponding to the 28.xxx.xxx.xxx range IP address given to the Spatial Fabric Satellite. Eg. https://10.9.0.1/SynchroKnot.sknt

To access the SynchroKnot Infrastructure Engine on a Spatial Fabric Satellite from the above description, the IP address of the machine used to access the Infrastructure Engine from the web browser must be in the 10.x.x.x range for security reasons.

If you have a tenant behind a transparent NAT in the 172.x.x.x range for example, and it is pointed to the 10.x.x.x range to access the Infrastructure Engine, then the access is possible but with certain limitations.

The Infrastructure Engine will not know about the 172.x.x.x range from where the request is coming in as it is on the other side of NAT. Therefore, the response[s] given would still be pointing to the 10.x.x.x range.

This would cause the http and other requests & redirects such as Cross Domain Ajax, the opening of new tabs for websocket based HTML5 console access, Java based console access, Log Panorama …. and much more to NOT work.

Example scenarios without the use of SynchroKnot Auto NAT Enablement:

■ Scenario A Works:

[ web browser in 10.x.x.x range ] –> [ Infrastructure Engine in 10.x.x.x range ]

Different types of redirects sent from the Infrastructure Engine work transparently.

■ Scenario B Does Not Work:

[ web browser in 172.x.x.x range ] –> [ NAT ] –> [ Infrastructure Engine in 10.x.x.x range ]

[ web browser in 192.x.x.x range ] –> [ NAT ] –> [ NAT ] –> [ Infrastructure Engine in 10.x.x.x range ]

Different types of redirects sent from the Infrastructure Engine are pointing in the 10.x.x.x. The web browsers in 172 & 192 ranges behind single and double NATs will trigger the redirect in the 10.x.x.x range but will not be able reach the destination in the 10.x.x.x range.

The SynchroKnot Auto NAT Enablement feature transparently addresses this issue and allows full access just as if you were accessing the Infrastructure Engine from the 10.x.x.x network.

The above Scenario A and B would work with SynchroKnot Auto NAT Enablement. This should work with any transparent NAT [eg. with IPtables etc].

This unique solution was possible with the combination of partly server-side + partly server-side-embedded-client-side functionality [which is unique to SynchroKnot].

One does not have to touch the transparent firewall!

Eg. If you were using IPtables to DNAT and SNAT/Masquerade on a transparent NAT box in between, then simply set the 172.x.x.x range to point to 10.x.x.x. range. That’s it. No need for further reconfiguration, updating the rules for mapping/unmapping/remapping ports, IP addresses etc.

Categories
Cloud Computing

Flood Ping Fun with 24 Switches in a Ring Topology!

This demonstration video shows a total of 24 Ethernet switches in one large loop [ Ring Topology ] with Satellite Tree Protocol enabled and multiple switches being brought down and up every 10 seconds while Flood Pings are underway from multiple directions!

The SynchroKnot Satellite Tree Protocol an enhancement to the IEEE standard [ 802.1D (1998|2004), 802.1W ] while keeping the core semantics in place, and is a part of SynchroKnot Spatial Defined Networking.

Satellite Tree Protocol is the core networking component of the SynchroKnot Cloud Computing and Data Center Decentralization software which transforms any server, workstation, desktop or embedded device into a decentralized cloud or data center [data decenter].

The object is to ascertain the automatic and fast network resilience [root bridge failure, failover and failback], fault tolerance and intelligent path selection capabilities amidst very low hardware resources.

This demonstration setup has been purposefully done with an illogical setting so as to test how it can perform in extreme circumstances.

Mininet is used for actual network emulation.

You may also notice results of prior flood ping tests in the demonstration video before the current one gets underway.

We would like to assume that the outcome result with 0% [zero percent] packet loss with 24 switches is a bit much for our logical mind to digest and would love to blame the ping utility with a faulty flood ping option 🙂 ….. of course upon deeper contemplation you may develop an insight that differs.

■ In actual use case scenarios, with our unique cabling technique in a 5 X 5 2-D Torus topology, one may generally not have more than one or two hops! 24 nodes are used for purposes of extreme testing in difficult case scenarios.

■ Simple machine with 2 cores [4 threads] Intel Core i7-6500U Processor with 8 GB RAM. Alongside, a few running virtual machines not a part of this demo were used in the background to consume CPU and memory resources, leaving fewer CPU cycles and memory for Satellite Tree Protocol and the 24 nodes with Mininet. [This demonstration video was also recorded on the same machine and thus used additional CPU cycles and memory.]

■ Side Note : Spanning Tree Protocol and Rapid Spanning Tree Protocol generally respond to failures by recovering in about 40 to 300 seconds or more depending upon the timers and topology [ RSTP may recover faster in some scenarios ]. This is with the regular vendor / standards suggested timers found in most switches in standard setups today. One can increase the network diameter [ i.e number of switches between two endpoints ] to a maximum of about 18. This however will substantially increase the recovery time, alongside most likely put the timers of switches out of sync. Your mileage may vary. Please do your own research.

■ Caution : If you try a similar setup with standard physical Ethernet switches [Cisco, Juniper etc] then you are solely responsible if you brick your appliance(es). We cannot help you recover them.

In brief, the SynchroKnot software transforms any server, workstation, desktop or embedded device into a decentralized cloud or data center [data decenter]. You can use any commodity X86_64 Desktop/Workstation/Server/Embedded device and connect them to eachother. There is no need to purchase physical or virtual switches and routers or any of their licenses [Eg. Cisco, Juniper etc].

This demonstration video is available at the link below and also on synchroknot.com under the the demo section:

■ Spatial Satellite Tree Protocol showing Root Bridge failure, failover, failback with Flood Ping from multiple directions

More information is available at:
■ synchroknot.com