2012 Dec 07 - Fri

A brief note on the rules for originating a default route into BGP (copied from a posting
made by Mohammed Mahmoud):

default-information originate + redistribute static (or any dynamic routing protocol having the default route - you may filter only the default route)

network command but must make sure the default route is present in the routing table

issuing the neighbor default-originate command. This method does not require the presence of the 0.0.0.0/0 network in the routing table of the advertising router

Additional notes: The configuration of the default-information originate command in
BGP is similar to the configuration of the network (BGP) command.
The default-information originate command, however, requires explicit
redistribution of the route 0.0.0.0. The network command requires only
that the route 0.0.0.0 is present in the Interior Gateway Protocol (IGP)
routing table. For this reason, the network command is preferred.

2009 May 03 - Sun

Routing Within An ISP

Many ISP's I've seen have had two routing protocols implemented: BGP to talk to the
'internet' with the external /24 and shorter prefixes, and an internal routing protocol such
as EIGRP or OSPF to handle the internal /24 and longer prefixes. The internal protocol
would be running on all ISP devices and would handle all infrastructure devices and customer
links. For a multi-homed ISP, BGP would need to be running on all internal devices that
form internal paths from one external link to another. This provides an ability to choose
an appropriate exit point for any traffic generated from within an ISP destined for the
external network. Some ISP's 'cheat' by generating default routes to the nearest
exit and having BGP reside only on edge devices. Some optimum paths will be missed using
this simplified arrangement, particularily if an ISP is connected to non-transit neighbors.

Current best practices make expanded use of BGP. BGP, known as IBGP, is used
extensively within the ISP to carry customer prefixes. The internal routing protocol such
as OSPF or EIGRP is used simply for carrying infrastructure routes such as loopback
addresses and link addresses.

With this arrangement, it is then easy to make use of MP-BGP (Multi-Protocol BGP) to
handle the various requirements for carrying MPLS links.

2008 Nov 24 - Mon

TTCP: Test TCP

A quick and simple tool for link bandwidth testing (aka Throughput Testing) is included in many flavours of
Cisco's IOS.
Although it is hidden and officially unsupported, it is documented and functional.

By running 'ttcp' from the command line in privileged mode on two different routers, one
can test links between the routers.

A couple of other non-Cisco tools are available and maintain compatibility in order to
perform link testing between most combinations of routers, Unix, Linux, and Windows
platforms.

Netcordia has a
Java based client, while Unix and Windows based client can be found at
ttcp. The source compiled on
Linux with no problem.

In
The Story of the TTCP Program, Mike Muuss
discusses some of the history of ttcp. It seems that he is the original author of the venerable ping program. In
the same article, Mike illustrates a clever file transfer capability of ttcp, if effect being a UNIX "pipe"
between two machines across a network. On the destination machine:

ttcp -r | tar xvpf -

and on the source machine:

tar cf - directory | ttcp -t dest_machine

and on possible intermediate machines:

ttcp -r | ttcp -t next_machine

A discussion of additional variants of ttcp can be found at
ttcp/nttcp/nuttcp/iperf versions. It looks
as though the version used by Cisco is a renamed nttcp. A version called
nuttcp will echo traffic back.

iperf uses the same concept but uses a
different name and includes different functionality for network perforamance analysis. I'm not sure if it is
compatible with ttcp.

When using iperf, the -P option will run multiple tcp tests simultaneously.
A document called Guide to Bulk Data Transfer over a WAN describes the use
of iperf to determine data transfer rates under various scenarios.

2007 Oct 20 - Sat

Quality of Service Options on GRE Tunnel Interfaces

Note to self, according to Cisco's document 10106,
Quality of Service Options on GRE Tunnel Interfaces: when applying queuing to a tunnel
interface, shaping must also be applied. The top level policy of a recommended hierarchical policy
should be a shaping command, while the lower-level policies configure the queueing mechanisms.

Oreka: Oreka is a
modular and cross-platform system for recording and retrieval of audio streams. The project
currently supports VoIP and sound device based capture. Recordings metadata can be stored in
any mainstream database. Retrieval of captured sessions is web based.

2007 Jul 29 - Sun

Internet Based 911

For those of you setting up IP based telephone solutions and are needing to set up E911
connections, there are a number of ways to do this.

The typical way to do this is to ensure that analog or digital lines are available at
each location being serviced. Then be sure to route all calls originating from those
specific geographical areas are sent out the nearest POTS (Plain Old Telephone Service)
line, ie, analog or digital line.

If this isn't possible, for one reason or another, there is an alternate way of doing
this.
There are internet based E911 services available. According to Robert Kulagows, you "setup
something like a SIP trunk and route e911 calls to them. You'd tell them which DIDs are
located in which city, and allow them to handle the
911 call and send it to the correct PSAP."

One provider who can do this is 9-1-1
Enable. According to their site, they are in the Pulver 100 and the Internet Telephony
2006 Product of the Year.

LocIfInputQueueDrops. The number of packets dropped because the input queue was full.

LocIfOutputQueueDrops. The number of packets dropped because the output queue was full.

LocIfInIgnored. The number of input packets ignored by the interface.

BufferElMiss. The number of buffer element misses. (You can also check misses for small, medium, big, large, and huge buffer pools.)

BufferFail. The number of buffer allocation failures.

I've been doing most of my snmp statistics gathering on 5 minutes intervals. On some
interfaces, it may be of value to step that up to 1 minute intervals. Of course, if my
total collection time is over 1 minute, I may have problems with that.

From the same book, is this interesting statistic about why Window's file transfers over
WAN links can go only 'so fast'. SMB acts like a ping-pong protocol. It can only send up
to 32KB before requiring an acknowledgement. So if the delay is 50 ms end to end, and
ignoring client and server delays, a client can receive at most 32 KB every 100
milliseconds, or 320 KB per second. This means that the maximum throughput is 2.56 Mbps, at
best.

2007 Jun 06 - Wed

Writing Callmanager Call Detail Records to Excel Spreadsheet

In an earlier article, I described how to access the Cisco Callmanager CDR tables
to obtain billing records through the use of the Sybase DBI drivers for Perl. The database needs to be placed into "mixed mode" for this type of
thing to work.

cdr2file.pm takes as input three parameters: an extension, a starting date, and an ending date. It creates an Excel spreadsheet using a
temporary file name, which allows multiple requests to be processed simultaneously. The spreadsheet contains four worksheets: a list of inbound
calls, a list of local calls, a list of long distance calls, and a list of internationally placed calls. The selection is based upon four digit
extensions and the North American Dialling plan. The duration of each call is included. Because both the 'Original Called' and the 'Final Called'
fields are included, one can determine which calls ended up going to voicemail or transferred elsewhere.

The other module, billing2file.pm, takes as input a starting date and an ending date. For all outbound calls placed within that date range, a
summary spreadsheet is created. The first worksheet contains a summary of call duration by user with the following fields: Extension Number, Name
of the Phone, Total Duration in Seconds, Total Duration in Minutes. Each line contains a hyper link to a worksheet containing the actuall call
details for that extension. On the detail worksheet for each user, the following details are provided: Date the call was placed, extension number
originating the call, the original called number, the duration in seconds for the call, the phone identifier, and the phone description. This
spreadsheet makes it convenient to produce monthly billing reports by user. For large companies, this may not be suitable as a spreadsheet may not
be able to handle enough rows or worksheets (a limitation of Excel).

By creating suitable web pages, say through mod_perl or mason, members of the accounting department have direct, easy, live access to the
Callmanager Call Detail Records in a ready to use format.

2007 May 07 - Mon

Security Enhancements for Remote Access at Microsoft

Here is a link to a paper that has a bunch of useful stuff in it regarding Microsoft VPN's, IAS (Internet
Authentication Server), security scripting, and Windows 2003 based Remote Access Infrastructure:

Disclaimer: This site may include market analysis. All ideas, opinions, and/or
forecasts, expressed or implied herein, are for informational purposes only and should not
be construed as a recommendation to invest, trade, and/or speculate in the markets. Any
investments, trades, and/or speculations made in light of the ideas, opinions, and/or
forecasts, expressed or implied herein, are committed at your own risk, financial or
otherwise.