Archive for May 30th, 2018

Google joins AWS and Azure as leader in Gartner’s 2018 IaaS Magic Quadrant

After intensive investing in Cloud Computing, particularly geared towards enterprises, Google has finally joined Amazon (Amazon Web Services) and Microsoft (Azure) as a leader in Infrastrucutre as a service (Iaas) in Gartner’s Magic Quadran for 2018. GCP – Google Cloud Platform – is very intuitive to use and particular popular among data scientists.

“Google has clambered into the leaders’ section of Gartner’s latest infrastructure as a service (IaaS) Magic Quadrant, while the wheat has been separated from the chaff.

The annual report concluded that the cloud IaaS market is now a three-horse race in the top right box, with the leaders’ zone not being an Amazon Web Services (AWS) and Microsoft-only area for the first time since 2013.  …

“We’re pleased to announce that Gartner recently named Google as a Leader in the 2018 Gartner Infrastructure as a Service Magic Quadrant.
With an increasing number of enterprises turning to the cloud to build and scale their businesses, research from organizations like Gartner can help you evaluate and compare cloud providers.



Visit for links to get started with GCP.

IP subnet calculator

Linux – IP subnet calculation with ipcalc

ipcalc is a program to perform simple manipulation of IP addresses and is useful for calculating various network masks given an IP address. Some of the uses of ipcalc are –

  • Validate IP address
  • Display calculated broadcast address
  • Show hostname determined via DNS
  • Display default mask for IP
  • Display network address or prefix

Before using ipcalc, make sure you have the binary installed in your Operating system, if not install it by following below instructions –

1. Installation instructions for various Operating Systems

a. Fedora/Red Hat/CentOS

yum install initscripts

b. Debian/Ubuntu

apt-get install ipcalc

c. MacOS

brew install ipcalc

Install ipcalc on Mac OSX

d. Windows


2. How to use ipcalc

Note below examples were tested in CentOS 6.8, it might not work for other distros or Operating systems. Check the ipcalc documentation for your OS.

a. Check if IP address is valid for IPv4 or IPv6 ( it defaults to IPv4)

[daniel@kauai ~]$ ipcalc -c
[daniel@kauai ~]$ ipcalc -c
[daniel@kauai ~]$ ipcalc -c
ipcalc: bad IPv4 address:

It will exit with a non-zero status code if the IP address is not valid, with zero if valid. For scripting, use ‘-s’ option for silent, that way it doesn’t display error messages.

[daniel@kauai ~]$ ipcalc -s -c
[daniel@kauai ~]$ echo $?

[daniel@kauai ~]$ ipcalc -s -c
[daniel@kauai ~]$ echo $?

b. Show boradcast address 

[daniel@kauai ~]$ ipcalc -b
[daniel@kauai ~]$ ipcalc -b
[daniel@kauai ~]$ ipcalc -b

c. Reverse dns

[daniel@kauai ~]$ ipcalc -h

$ ipcalc -h

d.  Display default netmask for IP (class A, B, or C)

[daniel@kauai ~]$ ipcalc -m
[daniel@kauai ~]$ ipcalc -m
[daniel@kauai ~]$ ipcalc -m


e. Show network address

[daniel@kauai ~]$ ipcalc -n
[daniel@kauai ~]$ ipcalc -n
[daniel@kauai ~]$ ipcalc -n


Split a subnet – this feature might not be supported in all ipcalc versions, check for your OS.

This is the best feature of ipcalc in my opinions, you dont’ have to do the subnet and bits calculation by hand. This feature was available in my Ubuntu 16 VM but not RedHat.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial

$ ipcalc -v

For instance to split a /20 subnet into two subnets of size 1024 each –

ipcalc --s 1024 1024
Address: 00001010.00001010.0000 0000.00000000
Netmask: = 20 11111111.11111111.1111 0000.00000000
Wildcard: 00000000.00000000.0000 1111.11111111
Network: 00001010.00001010.0000 0000.00000000
HostMin: 00001010.00001010.0000 0000.00000001
HostMax: 00001010.00001010.0000 1111.11111110
Broadcast: 00001010.00001010.0000 1111.11111111
Hosts/Net: 4094 Class A, Private Internet

1. Requested size: 1024 hosts
Netmask: = 21 11111111.11111111.11111 000.00000000
Network: 00001010.00001010.00000 000.00000000
HostMin: 00001010.00001010.00000 000.00000001
HostMax: 00001010.00001010.00000 111.11111110
Broadcast: 00001010.00001010.00000 111.11111111
Hosts/Net: 2046 Class A, Private Internet

2. Requested size: 1024 hosts
Netmask: = 21 11111111.11111111.11111 000.00000000
Network: 00001010.00001010.00001 000.00000000
HostMin: 00001010.00001010.00001 000.00000001
HostMax: 00001010.00001010.00001 111.11111110
Broadcast: 00001010.00001010.00001 111.11111111
Hosts/Net: 2046 Class A, Private Internet

Needed size: 4096 addresses.
Used network:


Let us split it into 3 subnets of sizes 512, 512 and 1024



Useful links –