Cable Modem Troubleshooting Tips


 

Domain Name System (DNS)


What is DNS?

DNS stands for Domain Name System.

Every computer on the internet has a unique Internet Protocol (IP) address, such as 62.253.162.30. But it is difficult for humans to relate to such numeric addresses. We prefer to use names which embody some meaning, such as www.ntlworld.com. These names are referred to as DNS names.

The DNS provides a translation service from user-friendly DNS names to IP addresses, and vice-versa. Data routing on the internet uses IP addresses, and knows nothing of DNS names. Human users mainly use the DNS names, and only occasionally come across IP addresses. The first phase of setting up an internet connection is therefore a DNS lookup to translate the DNS name given by the human user to an IP address that the internet can use.

This translation service is provided by special computers on the internet called DNS Servers. Each ISP usually provides its own DNS Servers for its customers. Because you can't use DNS names until you have a working DNS service, the DNS servers have to be identified by their IP addresses. Because the DNS service is so crucial, it is normal for ISPs to provide more than one DNS server, so that the DNS service can continue even if one DNS server fails. So the network configuration of a PC usually includes two or three IP addresses of DNS servers.

To save customers the burden of having to configure these DNS server addresses themselves, the DNS configuration is normally automatically distributed to PCs as part of the DHCP process.

It might seem at first that there ought to be a one-to-one correspondence between IP addresses and DNS names. But in fact, one DNS name can translate to multiple IP addresses, and multiple DNS names can translate to the same IP address. For instance, to assist in load-balancing, the DNS name news.cable.ntlworld.com translates to a list of many IP addresses, each one of which can supply the same news service. And often hundreds of vanity web sites have DNS names which all translate to the same IP address, so that all the web sites can be hosted on the same web server.


Which are my DNS servers?

See Finding the DNS server address(es).


DNS Lookups

When you give a DNS name to any application, it is automatically looked up in the DNS and converted to an IP address. For instance, if you send your web browser to http://www.ntlworld.com/ the host name www.ntlworld.com is automatically translated to 62.253.162.30 inside the web browser: you don't have to do anything special to make this happen, and you never find out what the IP address is.

Sometimes, you just want to look up a DNS name and find its IP address, or vice-versa. Most versions of Unix, Linux, Mac OS X, and Windows NT/2000/XP support the nslookup command. Open a command window and type the command nslookup followed by the DNS name or IP address that you want looked up. For instance:

C:\>nslookup www.ntlworld.com
Server:  cache1.ntli.net
Address:  194.168.4.100
 
Non-authoritative answer:
Name:    www.ntlworld.com
Address:  62.253.162.30

The first two lines of output tell you which DNS server is providing the answers; the last two lines give the DNS name and IP address being sought. You would get the same output from nslookup 62.253.162.30, which would find the DNS name for that IP address. If you type nslookup without any parameters, you get into an interactive version: you can escape from it by typing exit. For full information on the nslookup command see http://support.microsoft.com/default.aspx?scid=KB;EN-US;q200525.

In Windows 95/98/ME, the command tracert has the useful side-effect of always doing a DNS lookup on the given parameter, and displaying both the original and the lookup in the first line of output. You can cancel the rest of the output by typing Ctrl-C. For instance:

C:\>tracert www.ntlworld.com
 
Tracing route to www.ntlworld.com [62.253.162.30]

You would get the same output from tracert 62.253.162.30, so you can use tracert to do lookups in both directions.

Apple Mac OS 8.x/9.x users can perform DNS lookups with utilities such as Interarchy or IPNetMonitor.


DNS troubleshooting

Sometimes, getting a DNS lookup error is the first symptom of having lost your broadband connection, so check that you still have a connection before delving any further. A simple test is to attempt a traceroute or ping to the DNS server(s) themselves; see Finding the DNS server address(es).

If, while browsing the web, you receive a web page which says simply DNS error, then this is most likely a fault with a web proxy cache (transparent or explicit), and not a DNS error at all. You might be able to work around this problem by configuring an explicit web proxy.

You can check whether a DNS error is real, or the invention of a web proxy, by looking up the sought host name in the DNS system yourself. For instance, if you were having difficulty browsing the URL http://www.fredbloggs.com/somepage.html, you would try looking up www.fredbloggs.com in the DNS system; see DNS Lookups above. If you get a reply, there is not a problem with the DNS system. The reply will tell you whether the DNS name exists or not.

In Internet Explorer for Windows, a genuine DNS lookup error yields a dummy page which starts The page cannot be displayed, and finishes with the lines:

Cannot find server or DNS Error
Internet Explorer

Other browsers produce a popup error dialog. The most common cause of such a DNS error is typing a mis-spelt URL, or following a link to a site which no longer exists.

An ISP's DNS servers can cache lookups from DNS names to IP addresses, and vice-versa, for as long as specified by the owner of the DNS name. If the association between names and addresses changes, and the original owner did not reduce the allowed cache time in advance, then it can take a day or more for an ISP's DNS server to catch up with external changes. There is nothing that you can easily do to work around this. Experts can use the advanced interactive facilities of nslookup to force the lookup to be done by the Authoritative server, thus bypassing the ISP's DNS caches. However, in the case of web sites which are virtual hosts on shared web servers, sending a web browser to the IP address of the site will not work, as the web server requires the name of the site in the request in order to know which virtual site to serve in reply.


DNS and firewalls

It is possible for DNS servers to be quite slow to reply to lookup requests. If your operating system abandons the lookup, but the DNS server eventually replies after all, the reply packet can be logged as an unexpected probe by some personal firewall programs. If you discover your firewall is logging apparent probes from addresses which turn out to be DNS servers, do not be alarmed. You can probably configure your firewall not to log such late replies, for instance by configuring the DNS servers as trusted hosts.


Dynamic DNS

Because the IP address of your broadband connection is allocated by DHCP, it is subject to change from time to time without notice. If you leave your PC on continuously, with the object of connecting to it from elsewhere, or offering a public service, you cannot reliably use or advertise its IP address. One solution is to subscribe to a Dynamic DNS service. This service allocates to you a DNS name (different to the one that your ISP allocates). From time to time your PC communicates with the Dynamic DNS server, letting it know the current IP address to associate with your Dynamic DNS name. When your PC's IP address changes, the Dynamic DNS name will be updated to point to the new IP address, and this change should propagate around the world in a few minutes, because the permitted DNS cache time is kept short. By connecting to your PC using its Dynamic DNS name, a caller will always get connected to the current IP address.

There are very many providers of Dynamic DNS services. Here are some lists of providers and sources of information:

Your PC (or NAT router) has to run special software to update the Dynamic DNS servers.


Decoding your DNS name

For every IP address allocated to a cable customer's PC, there is an associated DNS name. With certain ISPs, the DNS name can tell you which core router and UBR your cable is fed from.

First find your WAN IP address: see What's my IP address? Then look up that IP address in the DNS as described in DNS Lookups above, to find the corresponding DNS name.

With NTL, if the returned name includes the string no-dns-yet or not-set-yet this means that NTL have not yet configured custom DNS names in your area. Otherwise, the discovered name can be decoded as follows. Suppose the returned DNS name was:

pc1-papw1-2-cust173.cmbg.cable.ntl.com
Selected area abbreviations known on NTL network
    addl Addlestone
and ando Andover
ash ashf Ashford
bag bagu Baguley
bel blfs Belfast
    bxly Bexleyheath
big      Biggleswade
bir brhm Birmingham
    blbn Blackburn
bre brnt Brentford
    brig Brighton
btn brtn
bri bstl Bristol
bro bmly Bromley
    burn Burnley
cam cmbg Cambridge
cdf cdif Cardiff
che      Cheshunt
col colc Colchester
cos cosh Cosham
cov cove Coventry
dar      Darlington
    drby Derby
dub dbln Dublin
edi edin Edinburgh
eps epso Epsom
gri grim Grimsby
gui glfd Guildford
    hamh Hammersmith
    hava Havant
hem heml Hemel Hempstead
her herm Hersham
    hers
    horn Horndean
hud hudd Huddersfield
    ipsw Ipswich
lng lang Langley
lee leed Leeds
lei leic Leicester
    lwhm Lewisham
lic lich Lichfield
lin      Lincoln
lis      Lisburn
ldr      Londonderry
ltn lutn Luton
man mant Manchester
dal      Mapperley
mid midd Middlesbrough
mnf      Mansfield
nwp      Newport
nth nrth Northampton
nfd      Northfield
    nrwh Norwich
not nott Nottingham
    oldh Oldham
osr      Oswin Road
oxf oxfd Oxford
    papw Papworth Everard
pet pete Peterborough
    pool Poole
pop popl Poplar
por port Portsmouth
rdg rdng Reading
    reig Reigate
ren renf Renfrew
    roch Rochdale
    runc Runcorn
    salf Salford
    seac Seacroft
ssh shep Shepshed
sot sout Southampton
stf      Stafford
    seve Stevenage
stk stok Stockton-on-Tees
    wrsd Sunderland
swa swan Swansea
swi swin Swindon
war warw Warwick
wat wtfd Watford
win winn Winnersh
wod      Woodborough
yrk york York

With blueyonder, a lookup of IP address 62.31.235.113 will yield a DNS name of:

pc-62-31-235-113-se.blueyonder.co.uk

which can be decoded as follows:

Area codes on Blueyonder network
London N
CA  Camden
EN  Enfield
HR  Harringey
HW  Hackney

London W
HY  Hayes 

London S
CR  Croydon
MO  Mortlake
NM  New Malden

London SE
BA  Basildon
CH  Chelmsford
GL  Gillingham
MA  Maidstone
SE  Southend
TL  Tilbury/Grays
Midlands
BR  Bromsgrove
DU  Dudley
SA  Sandwell
TF  Telford
WA  Walsall
WV  Wolverhampton

Birmingham
CW  Chelmsley Wood
HB  Harborne
KI  King's Norton
PB  Perry Barr/Witton
SC  Sutton Coldfield
SM  Small Heath
SO  Solihull

South West
AZ  Aztec West
BT  Bath
HF  Hawkfield
NA  Newton Abbot
NL  Nailsea
SL  Staple Hill (Chapel)
ST  Staverton
TR  Trowbridge
North East
FN  Benwell
GA  Gateshead
JA  Jarrow
NY  New York

North West
BL  Blackpool
KN  Knowsley
LP  Liverpool
PR  Preston
SP  Southport
WI  Wigan

Yorkshire
BF  Bradford
BN  Barnsley
DO  Doncaster
HA  Halifax
RO  Rotherham
SH  Sheffield
WK  Wakefield
Scotland
CC  Castlecary
DB  Dumbarton
DN  Dundee
ED  Edinburgh
GR  Glenrothes
LL  Linlithgow
LV  Livingston
PE  Perth
UD  Uddington

Return to Index.