Tuesday, June 15, 2010

Petroleum Engineers Should Learn from Network Engineers

I'm going to go out on a limb and say that an Internet disaster of the same magnitude as the BP oil spill is unlikely. To hedge my bet, I'm also going to say that if it does happen, the Internet will recover quickly, within hours or even minutes. The disaster won't linger for months like it appears posed to do on the Gulf Coast of the U.S.

I'll add one more caveat. The BP disaster is regional, mostly just affecting the Gulf Coast states. The Internet is global. I think a global Internet outage that lasts more than a few hours is unlikely. A regional outage is more likely, but if it happens, it won't affect the entire Southeast U.S., and recovery will be quick, within hours, especially in metropolitan areas.

What do network engineers do differently than petroleum engineers?
  • Provide extensive redundancy, with parallel links between all major components (see the network design from Cisco in the picture as an example)
  • Aim for 99.999% uptime (that's only five minutes of downtime per year)
  • Assume there will be hardware and software failures, and design for sub-second failover to a redundant path when a failure occurs
  • Assume there will be incessant security attacks from malware, viruses, Trojan horses, port scans, etc., and build systems to protect the network from these attacks
  • Build diversity into the system so that a software bug or virus breakout is contained to one vendor's equipment and doesn't affect the entire system
  • Build heterogeneity into the system so that the Internet is not owned or managed by a single company
  • When low cost is more important than redundancy, which is true for some situations, avoid using the network for applications that can fail in such a way that people, birds, and turtles die horrible deaths, and hundreds of workers lose their jobs
  • Design and build disaster recovery systems, and practice using them
  • Continually research better ways to design and build networks for high availability, security, scalability, performance, efficiency, and accuracy, using a top-down approach that puts users before technology
  • Move around bits and packets, not huge volumes of oil under tremendous pressure :-)
I said that an Internet disaster of the same magnitude as the BP oil spill is unlikely, but I also said I was going out on a limb saying this. Am I too optimistic? Do we really have enough redundancy and fail safes? Do we have enough diversity? Do we too often cut corners to save money, as it seems that BP did? If a major Internet outage occurs, will it be caused by a software bug, a hardware failure, or a security breach, and what steps will we take to recover quickly?

What do you think? Please comment. Thank you.

Sunday, June 13, 2010

Using the USB Console Port on Cisco Switches and Routers


Many newer Cisco switches and routers support a USB console port in addition to the old-fashioned RJ-45 serial console port. For example, the Catalyst 2960-S switch has a mini type-B USB console port on its front plate as can be seen in the picture.

Any USB cable that has a standard type-A USB connector on one end and a mini type-B connector on the other end should work. If you wish to purchase a Cisco cable, the part number is CAB-CONSOLE-USB.

Steps for Using the USB Console Port

To use the USB console port from a Windows computer, you need to download and install a driver. Follow these instructions to do so:
  1. Go to the Download Software page for branch routers here: http://tools.cisco.com/support/downloads/go/Redirect.x?mdfid=282770989.
  2. CCO login is required. After logging in, you will be redirected to the Download Software page.
  3. From the Download Software page, go to Cisco 3900 Series Integrated Services Routers.
  4. From there go to Cisco 3945 Integrated Services Router.
  5. Then go to USB Console Software.
  6. Download the zipped file and unzip it.
  7. The zipped file includes a README.pdf file. Follow the instructions in the README to install the driver. For Windows XP use the Windows_32 instructions.
  8. Connect your USB cable from a USB port on your PC to the USB port on your router or switch. Windows automatically looks up the right driver to use.
  9. Launch Putty or HyperTerminal and select the right COM port for the USB port you are using. For example, on some laptops the USB port closest to the front is COM5.
  10. Use 9600 baud, 8 data bits, no parity, 1 stop bit, and no flow control (the usual settings for Cisco devices). NOTE: Some new switches and routers are shipping with 115200 as the default baud rate. If 9600 doesn't work, try 115200.
To use the USB console port from Mac OS X:
  1. Install ZTerm from here http://homepage.mac.com/dalverson/zterm/.
  2. Connect your USB cable from a USB port on your Mac to the USB port on your router or switch.
  3. Launch ZTerm. ZTerm automatically recognizes that it should use the usbmodem1 port.
  4. Use 9600 baud, 8 data bits, no parity, 1 stop bit, and no flow control (the usual settings for Cisco devices). NOTE: Some new switches and routers are shipping with 115200 as the default baud rate. If 9600 doesn't work, try 115200.
Console Input and Output and the Inactivity Timer

Console output appears on devices connected to both the RJ-45 and the USB ports. This can come in handy when two engineers wish to work on a problem together. For example, one engineer can be local with a laptop connected to USB and one engineer can be remote with a laptop coming in via Reverse Telnet through a terminal server to the RJ-45 console port. Only one engineer can input commands, however, the engineer connected via USB.

Console input is active on only one port at a time. If the USB port is in use, it takes input. A problem can occur if a user leaves a computer connected via USB. Input via RJ-45 is disabled in this case. It’s a good idea to configure a USB inactivity timeout to avoid this problem. The timeout causes USB input to be disabled if there’s no activity detected after a configurable timer. When the timer expires, the RJ-45 console becomes active.

To set the USB inactivity timeout to 30 minutes, in configuration mode, type these commands.

line console 0
usb-inactivity-timeout 30


If you need to reactivate USB input after the RJ-45 port takes over, simply disconnect and reconnect the USB cable.

Tuesday, June 1, 2010

On Engineers, Tight Coupling, and Time


Today is our wedding anniversary. Last year I wrote about meeting my engineer hubby. This year, I'd like to say a few words about being married to an engineer. I highly recommend it! There are many advantages:
  • Your anniversary present might be a strange electronic device, such as the Time Machine shown in the picture above. This creation of my husband's even sort of worked! Well at least it flashed the light bulbs.
  • The engineer's motto is, "If it ain't broke, don't fix it." Your engineer spouse will stick around if the marriage is working.
  • The marriage works as long as you let your spouse spend hours tinkering with gadgets and you initiate the occasional physical-layer test to see if all components are still functional.
  • When you're married to an engineer, new toys arrive frequently, including iBooks, iPods, iPhones, iPads, and other iFads.
  • You will have a cool home-entertainment system.
  • Said cool home-entertainment system will even work some of the time and you will get much entertainment from comparing its design to a Rube Goldberg sculpture.
  • Engineers can cook! My husband is a gourmet cook.
  • Dinner is always on time. (Don't expect to get away with saying you are too busy playing with a new iPad to come to dinner.)
  • Dinner-table talk can range from IPv6 to the odds of there being extraterrestrial civilizations to how DNA transcription works.
  • Engineers make lots of money and invest it well, despite many expenditures for gadgets and fixes for the Rube-Goldberg-like home-entertainment system.
  • An engineer will figure out how your body works and enjoy its many features.
  • If you marry an engineer, he or she may really get a time machine working at some point. This is a good thing because you will want to spend lots of time with your engineer spouse.
  • Given time, you will realize you wouldn't wear the jewelry that a non-engineer would give as an anniversary present anyway. It gets in the way of typing on your computer keyboard. :-)