Isolating and rooting out network problems all comes down to having good visibility into the network. Without it, engineers just end up finger pointing and chasing problems around the enterprise.
At this stage of the network game, there are three major methods of getting insight into the network infrastructure and the traffic that traverses it: NetFlow, Metadata, and Packet Capture.
All three have their strengths in providing engineers with the right data in the right place at the right time - however they all have their weaknesses too. As you consider your visibility method in your environment, which one is right for you, and when?
With the security intrusions and pesky performance issues that are clearly here to stay, network engineers should have a solid answer to that question. NetFlow is easy to store, but can be limited in detail. Metadata shows pain points in a mountain of data, but can lead us in the wrong direction at times. Packets are the gold analysis standard on networks, but digging through them can be very confusing.
This whitepaper by ProfiTap discusses the strengths of each of these analysis methods and how and when each should be used.
Command line or batch files are incredibly important to me as an analyst.
I cannot count the number of times creating a simple script has saved me countless hours. Some examples that come mind;
Performing testing when I’m working alone
Running tests unattended
Having other people perform your testing
Running a task as part of a notification system
In this article I use a simple example of recording the start/stop or elapsed time when copying a file. This can be easily modified for a wget, iperf, iperf3 copy, etc.
I would strongly encourage you to get a little familiar with this as a valuable skill and to better understand similar commercial applications that you may have.
I have mentioned in the past that you should really look ‘under the hood’ as far as application communication goes.
I have seen many applications that ‘work’ but not ‘work well’ generate error messages. These errors can be categorized as follows;
Application - Messages are entirely application based and are addressed by the application team or vendor.
Sending commands with no authentication, wait for the error message, then resend the same command but this time with authentication
Using small packet or data payload sizes
Inefficient multi-tiered server architecture
Login processes that download application files without checking if you have the current files
References to servers that are de-commissioned or used for testing/development
Network – Messages generated by the network devices that can affect application performance and are addressed by the networking team
MTU issues caused by different network topologies, firewalls, routers or load balancers
Blocked ICMP error messages that the application needs to make proper adjustments, like MTU and routing
Inefficient routes
Proxies or firewalls that do not allow application access but fails to the default gateway that still works
New equipment with old switch port speed or duplex configurations
Access points with 1 Gb Ethernet ports using the previous 100Mb POE injector
Client/Server- Errors caused at the server or host configurations. These are addressed by the server and desktop team.
Old configurations blindly used on newer operating systems
Using all the default protocols and services when they are not needed
Aggressive antivirus or firewall settings causing disconnections or performance issues
Server with limited resources (RAM or CPU)
In this example, I will focus on HTTP 503 Service Unavailable messages generated from web servers. In many cases, these are generated from a component as a webpage loads and the user has no idea this is happening.
If you’re lucky, the error will cause a noticeable issue, so you can investigate. If you’re not lucky the issue may intermittently resolve itself quickly resulting in performance or ‘random’ problems.
Many protocol analyzers and applications can report or count the number of errors. I suggest you initially concentrate on 4xx or 5xx error codes. If none exist, look for big delta times between the HTTP command responses.
If you are using HTTPS, look into what logs or analysis tools are available. For example most web browsers have a Developer Tools facility that will record all sorts of helpful information. Alternatively there are agents you can load on your clients to record and log performance or errors.
In any case, I suggest you test and get familiar with your chosen tools to ensure they are accurate and that you understand what they are reporting.
The HFS HTTP server link is here https://www.rejetto.com/hfs/
Most of us grasp the meaning of “old” but putting it into words can be challenging. When it comes to people who might be old, there are plenty of euphemisms to choose from. Senior, elderly and senior citizen come to mind, while terms like curmudgeon or geezer are available when appropriate. According to Webster’s, old is something that dates from the distant past, is distinctly different from something similar of an earlier date, has existed for a specified period of time, is advanced in years or shows characteristics of age. Old, it seems, is relative.
Rotary dial telephones are old technology, but at what point will smart phones be consigned to the “old” bin? The same can be said for CRT displays, computer punch cards, vacuum tube radios, phonograph records, Video Cassette Recorders and so on – the replacements for all of these are also living on borrowed time. New will always be fleeting, while old is permanent.
Often associated with older people, AARP (American Association of Retired Persons) doesn’t require members to be retired, nor does it have an age limit. McDonald’s offers “senior coffee” to those 60 and older, but no ID is required. As long as you are willing to self-identity as old, you can save a few cents. There are numerous venues, from public transportation to movie theaters and restaurants, which offer discounts to “seniors” and will also take your word for it. Practically speaking, there are very few concise guidelines for membership in the “old” club.
In deciding when to consider myself old, I turned to the actuarial lifespan tables and determined that my average life expectancy was 84 years. I suddenly felt young again, having put off “old” until my 85th birthday. Then along came Covid-19.
In medicine as in life, the lines for the definition of old are not crisply drawn; factors like pre-existing conditions and general overall health confound the data. Lately when I shop for groceries during the “golden” hour, the younger cashiers act as if they feel sorry for me. Every time I sneeze people look at me like I’m a terrorist. The virus is coercing us into a definition.
Ben Franklin is often quoted on the subject of old, but the text of his most famous saying doesn’t explicitly mention age. Ben’s exact words were
Our new Constitution is now established and has an appearance that promises permanency; but in this world nothing can be said to be certain, except death and taxes.
While hedging a bit on the durability of the Constitution, he did say that death is certain, while offering no further clarification. The permanency of taxes is well established.
It’s difficult to argue with the certainty of death, but not everyone is prepared to just shrug and accept it. Poet Dylan Thomas captured the feeling well when he wrote
Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage against the dying of the light.
Dylan died at a not-so-old 39 years, raging until the very end.
The technology that accompanies us on our life journey is most certainly not ready to stop raging, as demonstrated of late by the Sept/Oct 2019 cover of MIT Technology Review which reads “Old Age is Over!” Much of that proclamation arises from Transhumanism, the idea that humans can utilize science and technology to evolve beyond their current physical and mental limitations. As evidence for their case, Transhumanists often cite the Bristlecone Pine trees of North America, considered by scientists to be essentially immortal (some are as old as 5000 years). They also point to gene editing technology that has successfully altered the DNA of the roundworm, extending its lifespan by up to 500%. Trees and worms notwithstanding, there is much work ahead before we reach “escape velocity”, where technological innovations to prolong life add years faster than they pass.
It is often said of technologists that we eat our young, in reference to the constant struggle to render the newest, sexiest products old by replacing them with newer and sexier ones. An unnamed software developer once remarked that the date for a new program release was determined not by the readiness of a requisite number of features and improvements, but by the company’s need for a boost to cash flow. The well-worn joke that things tend to wear out just after the warranty lapses is not founded on coincidence.
The formal term for this process is “Planned Obsolescence”, whereby products are concocted to require replacement, e.g., incandescent light bulbs, tech products with irreplaceable batteries, cars with yearly design changes or - my own pet peeve – textbooks. Items produced with non-durable materials, or those for which spare parts are not available, are also examples.
Transhumanists take note - perhaps with humans as with our treasured new things, a demotion to “old” was part of the plan from the very beginning.
Author Profile - Paul W. Smith - leader, educator, technologist, writer - has a lifelong interest in the countless ways that technology changes the course of our journey through life. In addition to being a regular contributor to NetworkDataPedia, he maintains the website Technology for the Journey and occasionally writes for Blogcritics. Paul has over 40 years of experience in research and advanced development for companies ranging from small startups to industry leaders. His other passion is teaching - he is a former Adjunct Professor of Mechanical Engineering at the Colorado School of Mines. Paul holds a doctorate in Applied Mechanics from the California Institute of Technology, as well as Bachelor’s and Master’s Degrees in Mechanical Engineering from the University of California, Santa Barbara.