SONET Payload Overhead Sheet

When working with SONET you must always remember that the bandwidth you think you will receive (Line Rate) is actually not the bandwidth you will be able to push through (Payload Bandwidth) due to overhead in the signaling protocol. Below is a table I made that describes throughput rates:

SONET/SDH Designations and bandwidths

SONET Optical Carrier level SONET frame format SDH level and frame format Line Rate Overhead Payload Bandwidth
OC-1 STS-1 STM-0

51.840 Mbps

1.728 Mbps

50.112 Mbps

OC-3 STS-3 STM-1

155.520 Mbps

6.912 Mbps

148.608 Mbps

OC-12 STS-12 STM-4

622.080 Mbps

20.736 Mbps

601.344 Mbps

OC-24 STS-24

1.244160 Gbps

41.472 Mbps

1.202208 Gbps

OC-48 STS-48 STM-16

2.488320 Gbps

82.944 Mbps

2.405376 Gbps

OC-192 STS-192 STM-64

9.953280 Gbps

442.368 Mbps

9.510912 Gbps

OC-768 STS-768 STM-256

39.813120 Gbps

1.327104 Gbps

38.486016 Gbps



Installing Smokeping On CentOS 5.x and 6.x


Prep your server

  • Step 1: Disable SELinux 

shell> setenforce 0

  • Step 2: Install rpmforge

shell> yum install

  • Step 3: Install Required Packages

shell> yum install mod_fcgid httpd httpd-devel rrdtool fping wget curl bind-utils gcc make gcc-c++

  • Step 4: Install Perl based packages

shell> yum install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-RRD-Simple perl-CGI-SpeedCGI perl-ExtUtils-MakeMaker


Install Apache

  • Step 1: Install Apache and ensure it runs on startup
shell> yum install httpd
shell> chkconfig httpd on
shell> /etc/init.d/httpd start

Install Smokeping

  • Step 1: Download latest version of smokeping on website at

shell> wget

  • Step 2: Extract and install smokeping

shell> tar -zxvf smokeping-2.6.9.tar.gz -C /opt/
shell> mkdir /opt/smokeping
shell> cd /opt/smokeping-2.6.9/setup
shell> ./
shell> cp -r ../thirdparty /opt/smokeping/
shell>  cd ..
shell> ./configure –prefix=/opt/smokeping
shell>  make install

  • Step 3: Create missing folders needed
shell> cd /opt/smokeping
shell> mkdir data
shell> mkdir var
  • Step 4: Add Smokeping Start/Stop Script
shell> wget
shell> mv smokeping /etc/init.d/smokeping
shell> chmod 755 /etc/init.d/smokeping

Configure Smokeping Application

  • Step 1: Rename Config Files and set file permissions

shell> cd /opt/smokeping/etc/
shell> for foo in *.dist; do cp $foo `basename $foo .dist`; done
shell> chmod 600 /opt/smokeping/etc/smokeping_secrets.dist

  • Step 2: Change Default Config

shell> cd /opt/smokeping/etc/
 vim config

Change the values in bold to something that fit your needs
owner    = Peter Random
contact  = some@address.nowhere
mailhost =
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed … this is not
# good for images.
imgcache = /opt/smokeping/cache
imgurl   = cache
datadir  = /opt/smokeping/data
piddir  = /opt/smokeping/var
cgiurl   = http://some.url/smokeping.cgi
smokemail = /opt/smokeping/etc/smokemail.dist
tmail = /opt/smokeping/etc/tmail.dist
Here is an example change in bold
owner    =
contact  =
mailhost =

sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache  below cgi-bin
# since all files under cgi-bin will be executed … this is not
# good for images.
imgcache = /opt/smokeping/cache
imgurl   = /cache
datadir  = /opt/smokeping/data
piddir  = /opt/smokeping/var
cgiurl   = http://(IP  or Hostname)/cgi-bin/smokeping.fcgi
smokemail = /opt/smokeping/etc/smokemail.dist
tmail = /opt/smokeping/etc/tmail.dist
  • Step 3: Copy Smokeping files into web server
shell> cp -r /opt/smokeping/htdocs/cropper /var/www/cgi-bin/
shell> cp /opt/smokeping/htdocs/smokeping.fcgi.dist /var/www/cgi-bin/smokeping.fcgi
shell> cd /var/www/html/
shell> mkdir cache
shell> chown apache cache
shell> ln -s /var/www/html/cache /opt/smokeping/cache
  • Step 4: Start Smokeping
shell> /etc/init.d/httpd start
shell> /etc/init.d/smokeping start
  • Step 5: Test Smokeping Link for errors
    • Visit the cgi-url you configured above. IE: cgiurl   = http://(IP  or Hostname)/cgi-bin/smokeping.fcgi
  • Step6: Clean Up Smokeping Installation Files

shell> rm -rf /opt/smokeping-2.6.9

  • Enable smokeping to start during boot
shell> chkconfig –add  smokeping
shell> chkconfig httpd on
shell> chkconfig smokeping on

Install TCPPing and Change TCPPing/FPing Intervals – Recommended

  • Install TCPTraceroute

shell> yum install tcptraceroute

  • Install TCPPing

shell> cd /usr/bin/
shell> wget
shell> chmod 755 tcpping

  • Configure Probe into Smokeping

shell> vim /opt/smokeping/etc/config

Add Below under *** Probes *** (note: I prefer setting it up to ping every 60 second interval in this example…FPING will already be there just add the step = 60 configlet)

+ FPing
binary = /usr/sbin/fping
step = 60

+ TCPPing
binary = /usr/bin/tcpping
step = 60

  • Restart smkeping to use new config

shell> /etc/init.d/smokeping restart

Configure Smokeping to monitoring your targets

  • Step 1: Add your own hosts in the config file
shell> vim /opt/smokeping/etc/config
Example  config file below in bold
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of PingPros. \
         Here you will learn all about the latency of our network.
+ Targets
menu = Network
title = Ping Network Equipment
++ rchicago1
menu = ChicagoR1
title =Chicago Router 1
host =
++ schicago1
menu = ChicagoS1
title = Chicago Switch 1
probe = TCPPing
port = 80
host =
  • Restart smkeping to use new config

shell> /etc/init.d/smokeping restart

NOTE ABOVE: rchicago1 is using FPing by default as is configured to be the default, schicago1 is using TCPPING because we specified it. It is recommended to utilize TCPPING whenever possible! It is also best practice to put in the probe parameters for each host!




Smokeping –



Network Tools To Use

Network guys need tools to help them out during the hectic days….I’ve compiled a list of good tools that a network engineer should have to make the job easier.

Mac Tools

  • HomeBrew
    • brew cask install <see below>
      • pycharm-ce
      • sublime-text
      • iterm2
      • wireshark
      • wireshark-chmodbpf
    • brew install <see below>
      • ansible
      • cdpr
      • git
      • hashcat
      • iperf
      • lldpd
      • nmap
      • python
      • python3
      • subnetcalc
      • tcptraceroute
      • telnet
      • wireshark
      • wget
  • tcpping (see blog for file and installation instructions)
  • OmniGraffle Pro (for creating Visio Diagrams)
  • Virtualization (Choose one below)

Windows Tools

Linux Tools

Mac / Linux / Windows Tools

Open EIGRP…Why Bother?

So Cisco apparently is releasing Open Standards based EIGRP.

Of course there is a catch…if you want certain functions (stub, areas, etc…) you have to go Cisco for said enhancements.

Anyways would love to hear what people think here.

Is another routing protocol worth it? How much effort do you think the industry will put into place to have things just work nicely?

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmailby feather