Dynamic Host Configuration Protocol – DHCP

There are several popular mechanisms which can allocate an IP address to a computer or network device, however DHCP is probably the most advanced method in common use.    It’s a robust and efficient protocol which uses UDP as it’s transport mechanism.   It exists largely as a result of the shortcomings of it’s predecessor BOOTP to which DHCP offers a host of enhancements.

One of the biggest improvements was that a DHCP allows the inclusion of a client’s subnet mask, which allows clients to be configured much easily particularly on large networks with many subnets.  The other addition was regarding the ability to lease IP addresses for a specified period.  In large networks this is crucial because of several reasons but primarily it made managing IP addresses much simpler and ensured that IP addresses weren’t locked into computers which weren’t even switched on.   It enabled a network administrator to work with a much smaller pool of usable IP addresses than the number of ‘potential’ network enabled clients.

Although DHCP is a huge improvement on the IP addressing allocations systems that preceded it, there is still some situations which can cause problems.  It’s worth considering issues with DHCP if there are network connectivity problems with your clients.

Typically DHCP related problems are to do with configuration or connectivity.  One of the simplest issues is that DHCP hasn’t actually been configured on a client, although most later versions of Windows attempt to use DHCP by default some older versions need the IP address mechanism configured first.

A DHCP server will often be on a different network segment that the client it is attempting to update, any issues of connectivity between the two segments will be made worse if IP addresses are not allocated by the DHCP server.   Remember the protocol uses UDP as it’s transport mechanism which does not have any delivery checking.   A client will also broadcast attempting to find the nearest connectible DHCP server, this can cause issues if these broadcasts are not repeated by some network hardware.

If you do have problems on larger networks with DHCP broadcasts not being repeated then you should configure IP helper addresses on routers within the network to solve this.  Sometimes it can get confusing with multiple DHCP servers on different networks, it’s important you have a good VPN service in order to connect to the various devices to ensure connectivity across segments.

If  you’ve ruled out connectivity problems make sure the DHCP server is configured properly and has plenty of available IP addresses to allocate.  Sometimes problems are not that the DHCP can’t be contacted but has simply run out of addresses to allocate to clients.

With Thanks

Raphael Silvano – Italian Networks, Rai Streaming Estero, 2017 Haver Press

WAN Connectivity Issues

Troubleshooting applications which operate across WAN (wide area networks) can be especially difficult.  When a PC has the potential to both communicate with servers and other workstations across different IP networks and subnets there will almost always be complications.  The PC could be using various methods and protocols to communicate and there’s inevitably the difficulty of identifying if your network hardware or the end network is causing the problems.

It’s important before looking for complex solutions is to start with the basics.  A computer that needs to communicate across a wide area network will normally be configured to route it’s traffic through a default gateway.    Although it sounds unlikely, misconfiguration of this very basic setting is quite often the root cause of any network connectivity issue.  Basic IP configuration on the workstation will break most connectivity, remember it may be some external change that has caused this problem too.  If a router or gateway is removed or updated, then any static configurations must be updated.

The error could be a simple incorrect IP address of the default gateway, or more commonly something like a incorrect subnet mask.   Always remember that many operating systems require a reboot to enforce changes in IP configuration, another simple mistake to make especially if diagnosing remotely.  If you can talk to a user or have command access on the workstation, the first checks should be basic connectivity ones.  If a workstation can ping hosts on the same subnet but not on other subnets, your next step should be to check connectivity to the default gateway.

Other errors can be simply down to incorrect name resolution.  If all network configuration and operation is ok, then it may simply be that the machine is being directed to the wrong address.  Static information for name resolution can unfortunately be stored in all sorts of places, some difficult to locate.  There are files on the host PC which should be checked both hosts and lmhosts can cause connectivity issues if there’s an incorrect address.  Also many devices cache addresses to help with speed and network connectivity.

Checking IP connectivity might not tell the whole story though particularly if you’re trying to troubleshoot an application.  Many have their own connectivity and configuration information pre-installed, a configuration files with incorrect connectivity information.  These could potentially overwrite things like a default gateway and cause issues.   Many applications work through web browsers and can also pick up connection details from these, users will offer specify a proxy in their browsers settings for various reasons, perhaps for accessing a popular web site like BBC iPlayer from abroad  – such as this http://bbciplayerabroad.co.uk/which would also cause the application to be routed through the proxy too.  It may work ok depending on the configuration of the proxy server (many just pass through data like this) however it will have an extra step added to the route.

Further Information on BBC News

Troubleshooting the Border Gateway Protocol (BGP)

It’s often the more complex IP routing protocols which are the most difficult to diagnose and troubleshoot and BGP (Border Gaetway Protocol) is no exception.  Like many such protocol, BGP has a fairly specialised application in that it is used specifically for routing between different routing domains and autonomous systems.    You’ll normally find BGP being used in advanced or specialised network environments like Internet Service Providers (ISP) or global corporate networks with advanced routing requirements.

Another situation where you may encounter BGP is when companies have merged, it is ideally suited to bring disparate computer networks together without starting from scratch.    During the end of the last century there was a huge amount of these sort of corporate mergers and huge networks needed to be joined together – BGP provided the optimum solution for many of these situations and indeed is still commonly used today. Many a network administrator will have spent hours analysing at the end of residential VPN trying to determine the complexities behind a long established BGP routing tables.

When troubleshooting issues that may be related to BGP it’s important to understand the fundamental characteristics of the protocol.  Without knowing these core concepts it can be very difficult to analyse a complex and specialised protocol like BGP:

Neighbour Formation : Like many routing protocols, BGP creates neighbour adjacency between routers before it starts exchanging information.  These neighbours though are almost always defined statically rather than dynamically by the protocol.  Their formation is normally determined by the setting up of a simple TCP connection, the command for determining a list and status of BGP neighbours is as follows:

show ip bgp neighbor

Most of the important data is found in the first few lines of the output of this show command. The most useful parameter for troubleshooting is the BGP state which will switch from Idle-Active-Open-Established as the formation of the neighbour state takes place. Remember this process can take a little time to complete, especially compared to some modern day routing protocols, so give it time, however if the state ends up as anything other than Established then the formation has not completed successfully.

Other relevant information that is important are the BGP version. There are quite a few different versions of BGP being used in the wild and they will always establish on the lowest common version when establishing a connection. If you see these version constantly changing and switching it is usually indicative of some fundamental network configuration problem.

External BGP : This is usually run between two different but autonomous systems which are defined on networks which must be directly connected. The neighbors are established by specifying the address of the link, for example you could configure by naming the address of a serial links between two routers on the two networks. You may have to use the ebgp-multihop parameter in these situations as often interfaces are not directly connected as specified by the loopback address. In order to ensure that there is a loop-free topology, BGP will ignore any BGP routes which has originated in any autonomous systems (AS).

Further Reading: