Welcome to beszeljukmac.com
Web Hosting - DNS, How The Internet Keeps Track of Names
The way computers communicate is, in a way, very similar to something very familiar: the postal system that delivers letters and packages. Here's how...
The Internet is just what the name suggests, a large inter-connected set of networks. But those networks are pointless without the one part that forms what is called their 'end-nodes', otherwise known as computers. Those computers often need to share information because the people who use them want to share information.
But, in a system where there are millions of separate computers, how can you enable them all to communicate? One very important feature of that solution is performed by something called DNS, the Domain Name System.
Every part of a network that is going to send or receive information is assigned an IP address. That's a numeric identifier that uniquely specifies a particular 'node', such as a computer, a router that directs traffic or other component. They look like this: 209.131.36.158
But those numbers are more difficult for people to remember and work with. They also aren't very attractive from a marketing perspective. So, a naming system was layered on top of some of them, mostly the computers involved, though routers have names, too.
But once you have a system that associates a unique IP address to a given name, you need some way of keeping track of all of them. That's carried out by several different pieces of the system: Name Registrars, DNS Servers and other components.
The Name Registrars, overseen by IANA (Internet Assigned Numbers Authority) and other international bodies, provide and keep track of domain names. When you register with GoDaddy or any of a hundred other intermediate companies, ultimately that information makes its way into a number of specialized databases stored inside DNS Servers.
A DNS Server is the hardware and/or software that tracks and forwards the IP Address/Domain Name pair from one place to the next. In many cases, there are a number of them between your browser and the remote computer you want to share information with.
Suppose you request information from, say, Yahoo's site by clicking on a link on their site. DNS resolves (translates) the name of WHO IS making the request and OF WHOM, to addresses, then passes the request through the network to the requested IP address. The requested data is then passed back through the mesh of network components to your computer and displayed in your browser.
Whether the communication is between a desktop computer and a server somewhere, or between one server and another, the process is essentially the same. DNS servers translate names into IP addresses and the requests for data are forwarded on.
In some cases those DNS servers are part of a specialized network computer whose sole job is to do the translation and forwarding. In other cases the DNS software may reside on a server that also houses a database of general data, or stores email, or performs other functions.
But however complicated the chain or the parts, the basic process is simple. Translate the name to an address, just as the postal system does. Whether international or local, your name is associated with an address, and the deliveries are made to the address, then forwarded to a particular name.
Web Hosting - The Internet and How It Works In one sense, detailing the statement in the title would require at least a book. In another sense, it can't be fully explained at all, since there's no central authority that designs or implements the highly distributed entity called The Internet. But the basics can certainly be outlined, simply and briefly. And it's in the interest of any novice web site owner to have some idea of how their tree fits into that gigantic forest, full of complex paths, that is called the Internet. The analogy to a forest is not far off. Every computer is a single plant, sometimes a little bush sometimes a mighty tree. A percentage, to be sure, are weeds we could do without. In networking terminology, the individual plants are called 'nodes' and each one has a domain name and IP address. Connecting those nodes are paths. The Internet, taken in total, is just the collection of all those plants and the pieces that allow for their interconnections - all the nodes and the paths between them. Servers and clients (desktop computers, laptops, PDAs, cell phones and more) make up the most visible parts of the Internet. They store information and programs that make the data accessible. But behind the scenes there are vitally important components - both hardware and software - that make the entire mesh possible and useful. Though there's no single central authority, database, or computer that creates the World Wide Web, it's nonetheless true that not all computers are equal. There is a hierarchy. That hierarchy starts with a tree with many branches: the domain system. Designators like .com, .net, .org, and so forth are familiar to everyone now. Those basic names are stored inside a relatively small number of specialized systems maintained by a few non-profit organizations. They form something called the TLD, the Top Level Domains. From there, company networks and others form what are called the Second Level Domains, such as Microsoft.com. That's further sub-divided into www.Microsoft.com which is, technically, a sub-domain but is sometimes mis-named 'a host' or a domain. A host is the name for one specific computer. That host name may or may not be, for example, 'www' and usually isn't. The domain is the name without the 'www' in front. Finally, at the bottom of the pyramid, are the individual hosts (usually servers) that provide actual information and the means to share it. Those hosts (along with other hardware and software that enable communication, such as routers) form a network. The set of all those networks taken together is the physical aspect of the Internet. There are less obvious aspects, too, that are essential. When you click on a URL (Uniform Resource Locator, such as http://www.microsoft.com) on a web page, your browser sends a request through the Internet to connect and get data. That request, and the data that is returned from the request, is divided up into packets (chunks of data wrapped in routing and control information). That's one of the reasons you will often see your web page getting painted on the screen one section at a time. When the packets take too long to get where they're supposed to go, that's a 'timeout'. Suppose you request a set of names that are stored in a database. Those names, let's suppose get stored in order. But the packets they get shoved into for delivery can arrive at your computer in any order. They're then reassembled and displayed. All those packets can be directed to the proper place because they're associated with a specified IP address, a numeric identifier that designates a host (a computer that 'hosts' data). But those numbers are hard to remember and work with, so names are layered on top, the so-called domain names we started out discussing. Imagine the postal system (the Internet). Each home (domain name) has an address (IP address). Those who live in them (programs) send and receive letters (packets). The letters contain news (database data, email messages, images) that's of interest to the residents. The Internet is very much the same. Web Hosting - FTP and Other File Transfer Tools Anything related to the Internet or computers is bound to introduce technical issues pretty soon. One of the earliest that novice web site owners encounter is FTP, which is an acronym for File Transfer Protocol. Seeing it spelled out, it's easy to see why those in the know quickly move to speaking in short hand. The reason web site owners soon will (or need to) become familiar with FTP is obvious to anyone who has built a site on a remote server. You have to have some way of getting the files to the remote computer and FTP is one of the most common tools. It's also one of the simplest and most efficient. FTP is composed of two parts: the client software and the server software. It's similar, in a way, to talking to someone on the phone who writes down everything you say. You (the client) make a request ('transfer this file to the server') and the listener (the server) takes the request and acts on it. That request to copy a file from a local computer to the remote one is carried out (often 'under the covers') by a PUT command, as in PUT this there. You create the web page (in the form of a file) and then PUT the file on the server. To move a file in the opposite direction, from the remote server to your local computer, your client software issues a GET command. Many FTP clients have graphical interfaces, similar to Windows Explorer, that allow you to drag-and-drop or otherwise copy the file without ever seeing the actual commands that carry it out. But it's helpful sometimes to know what goes on underneath. In tricky cases it can be an advantage to use a command line interface (in Windows, the 'DOS box', with a similar interface familiar to most Linux users). Knowing the commands and being able to use them in the command line form can sometimes help you diagnose what is going on when the graphical tools misbehave. But FTP is not the only way to get a file from here to there. In fact, your browser moves files around from a remote computer to your local one all the time. In most cases, when you type in or click on a URL, what happens under the covers is in essence a file transfer process. The web page is transferred from the web server to your local computer then displayed by the browser. Alternatively, you can sometimes even email a web page/file from your local computer to the remote server, then use an email client on the server itself to get the file and put it in a folder. That requires that you have some form of access to the remote computer. But there are many ways of doing that, such as in-built utilities in the operating system or using commercial remote control programs. Those alternatives can be helpful to know in cases where the FTP file transfer process is misbehaving. Having more than one way to accomplish the task helps you diagnose what might be going wrong. It also helps you get the job done when the usual tools aren't cooperating. The more you learn about these sometimes puzzling acronyms, the easier you can accomplish your own goals. |