Category Archives: IP Routing

How to Troubleshoot High Latency with Traceroute Command

High latency in the network can appear due to different reasons, for example congestion in the network, device faults, etc.This is usually measured and referred to as the Round-Trip-Time (RTT) or also Round-Trip-Delay (RTD), which is defined as the time it takes for an Echo message (ping) to reach the destination plus the time for its reply to arrive back to the source.

Two main tools are usually used to measure this network delay: ping and traceroute. While ping returns as output whether a destination is reachable along with statistics about packet loss and RTT, traceroute shows all the hops in the routing path from source to destination along with RTT results for each hop. When troubleshooting high latency issues, it is important to keep in mind the geographical distance between the hops, since longer distances mean longer RTT. As soon as you identify the problematic hops, you can try to ping between them directly and check in the routers in order to find the problem.

For instance, a traceroute can show where in the network (which hop in the routing path) the delay exists or starts. Such an example is shown in the traceroute output below:

Continue reading

How a Router Selects the Best Route

A router’s main responsibility is to receive packets and forward them to the right destination. But how does a router think and what is the process of deciding the best route to forward a packet to? This post describes this decision process and preference order based on examples.

1. Longest prefix length – When multiple routes with different prefix length 

A destination IP address can belong to various subnets that exist in the routing table. When there are multiple routes with different prefix lengths to a destination, then the longest match is always preferred regardless of the routing protocol used. For example, if the routing table contains the prefixes: Continue reading

How to Troubleshoot Packet Loss with Ping Command

Packet loss is a common problem in the IP networks. Ping, although simple, is an excellent tool in order to troubleshoot packet loss issues. This post describes how we can detect packet loss in a network using the ping command.

One good way to troubleshoot packet loss issues is to define a large number of ping counts (for example 500) when using the ping command. In this way, it is more possible to catch random packet loss and its pattern will be clearly distinguished by the dots among the exclamation marks. An example of a ping output with packet loss in a Cisco router is shown in the picture below: Continue reading

How to Configure an IBGP Session

Internal BGP (IBGP) is the protocol used for establishing BGP sessions between routers that belong to the same AS. As mentioned in an earlier post, in order to run IBGP within an AS domain, IP connectivity is needed between the routers via an IGP or static routing.

The picture below presents a configuration example of an IBGP session between two Cisco routers in the same AS: Continue reading

Introduction to BGP

The Border Gateway Protocol (BGP) is the main protocol used for inter-domain traffic (inter-AS traffic) and therefore the protocol that Internet is built upon today.

There are two types of the BGP protocol: Internal BGP (IBGP) which is used when two routers are connected within the same AS domain, and External BGP (EBGP) which is used when two routers from different ASs are connected. Any BGP connection between two routers is called a BGP session or BGP peering, whereas the routers themselves are called BGP neighbors or peers. Continue reading

Using the Ping Command

Ping command is the most common method to check the status of a network entity, the IP connectivity between two nodes or the quality of the network (e.g. delay and packet loss). This post provides an introduction to the ping command and some of its parameters.

With the ping command, the source sends an Internet Control Message Protocol (ICMP) Echo Request to a specific destination address and it returns either a successful ICMP Echo Reply or an ICMP error message (when destination is unreachable). The ping command allows you to define several parameters such as ICMP packet size, number of ping counts, source IP address etc. The ping output differs for different systems.  Continue reading

Internet Overview: Tiers and ASs

The Internet is built by many different networks globally connected to each other. But how is Internet organized and technically implemented?

The Internet consists of Autonomous Systems (AS). An AS is a network domain administrated by a single entity, for example an operator, an Internet Service Provider (ISP), etc. Each AS has its own routing policies implemented internally and it operates independently from the other ASs. An AS is identified by an AS number (ASN) that is globally unique.

There are different interconnection agreements between the different ISPs (where each ISP usually is an AS domain). Continue reading

How Traceroute Works

The traceroute is one of the most powerful tools to use when troubleshooting routing issues. But how does a traceroute actually work?

When we perform a traceroute to a certain destination, the source sends initially an ICMP Echo Request with a Time-To-Live (TTL) value 1. This means that when that packet reaches the first hop, the TTL will expire and the router will drop the packet sending back to the source an ICMP Time Exceeded error message (this will be the first hop in the traceroute). Continuously, the source sends a new ICMP Echo Request with TTL value 2 this time.  Continue reading