Categories
Technology Web

Switchover

My DNS change to the new server switched over in mid-post, and that created some interesting results. I’m still recovering from them. Note to self: take a break from weblogging next time you switch servers.

Once this all stabilizes I’ll move any outstanding comments and trackbacks from the old server to the new one so they aren’t lost.

I’m also waiting for wildcard DNS to propagate for burningbird.net so that I can turn on the co-op weblogs. I originally looked for them before the propagation made it all the way through and now I have to wait for the cache on my ISP DNS to expire before I’ll be able to access them. You can access, I can’t.

I screwed up the yasd.com zone file by forgetting the period at the end of one of the name server names, resulting in:

ns1.burningbird.net.yasd.com

Since it was the secondary name server, things seem to be working out.

Kaf wrote in the comments (which I have to move over, unless they’re here already, but where’s here?) – this week is the 20 year anniversary of DNS. It was purely a coincidence that I wrote the Internet for Poets essay.

Question on this essay: did you find the writing fit the general concept of “Internet for Poet”? Was it helpful? Interesting? Should I do more of the same?

Categories
Technology Weblogging

Kicking the baby squirrels, again

Recovered from the Wayback machine.

I received an email from Kevin Marks, one of the new members of the Wayward Weblogger Co-op this morning about a posting Steven Den Beste wrote. It would seem that a person running a small hosting service is in violation of MT’s license. According to den Beste:

A couple of days later I posted that Kathy Kinsley, she of the Third Hand, was going to start a small hosting service whereby people could pay a small fee per month for a site which would have Movable Type on it.

Even in the most optimistic of predictions, Kathy isn’t going to become wealthy doing this. Likely about the best she’ll do is break even or make a bit of pocket-change out of it, running a system with a few dozen users. And it appears she’s still going to offer this service, but it isn’t going to be based on Movable Type. Kathy received a nasty letter from the folks behind MT telling her she was violating their license agreement, and demanding either that she cease forthwith or that she fork over a big fee for a professional license.

Den Beste also points to a comment thread related to this letter, with entries ranging from the reasonable to the rant.

Kevin sent this link to me because of concern about the use of Movable Type on the new co-op, particularly since I’m helping many of the webloggers install this software. He wondered if we would need to get a commercial license. Good question – and stripping aside some of the hyperbolic (nasty letter? How can Den Beste know if the letter was nasty if he hadn’t read it?), my take on this situation and how this impacts the co-op:

First, there was no indication from Kathy, the recipient of the letter that it was “nasty”, but I imagine that it did ask her to cease using a non-commercial license of MT on a commercial site. Kathy’s site is commercial, she is charging folks for hosting, and she does hope to make a profit – that’s commercial. So her use of the non-commercial licensed product for her new service’s main pages was in violation of the license agreement.

I have a clue for Mr. Clueless on this one: Kathy’s use of MySQL for this same purpose, if that’s what she uses as the backend, is also in violation of the MySQL non-commercial license agreement. And it’s in violation of most software of this nature, as the creator of pMachine wrote in the comments.

Additionally, bundling MT in with site installations on a commercial site is also a violation of MT’s license, and this, again, isn’t unusual for software of this nature – if you want to bundle MT in with your hosting service, you must do with a commercial license. Same with MySQL. Same with most software that is freely available for non-commercial use. This is the policy I’ve adapted for all my software, and used this policy to push back at several commercial porn sites who wanted to use a scripting-based game software I created – though NOAA and several non-commercial web sites are using it with my blessing.

Using MT for commercial purposes or bundling pre-installed MT at a commercial hosting service doesn’t seem to be the question – hiring a software developer to install MT for you is, and that’s one that I completely disagree with the MT folks on. If I read the license correctly, that is.

According to the Personal Use license:

Prohibited uses include, without limitation, using the Software on commercial websites; providing, or offering to provide, any service using the Software; using the Software to provide web design or other services to commercial and non-commercial websites; receiving compensation from others for copies or modified copies of the Software; hosting, or offering to host, the Software, on any basis; receiving compensation for any service that uses the Software, including support services. (Emphasis added.)

As some of the more reasonable comments in the thread noted, how do you distinguish between providing support for MT and providing support for a web server when users install MT on a commercial hosting service? After all, providing a T1 connection, or maintaining the hardware is considered ’support’ for a MT weblog.

The ambiguity of the license wasn’t as much of an issue until now; before now, this was software provided by Ben and Mena Trott – just plain folks like you and me, and we all donated to help support their efforts. Now when the newly venture capital funded Six Apart is about to start their own commercial hosting service, this license has more than a little potential for being a problem. What about companies such as Hosting Matters and others, who are used by a great many Movable Type webloggers? What about design folks who help design weblogs, which just happen to use Movable Type? What about the software developers just trying to survive, who charges 10.00 to help someone install the MT software, after the client downloads it?

Six Apart did respond with a clarification on this issue at the MT web site:

Currently, if you’re a web developer or designer, and you want to offer Movable Type to your clients so they can update their own site, or you want to use it to perform updates on their site, one License Fee must be paid per server installation, either by you or your client.

So what can’t you do? You can’t sell the software yourself, or redistribute it with changes, or offer it installed as part of a hosting service, either bundled or as a pay option.

According to this, if I read it correctly, if you get the software and hire me to install it, this should not be in violation of the license – because I’m not bundling this with a hosting service, or providing a copy. I’m just helping you install some Perl code on your machine.

Still, this is then confused with the further statement:

Based on the comments and questions raised about offering support services, we’ll be working on creating a Movable Type Developer/Service Provider Network that will rely more on a software/service-provider relationship rather than that of licensor/licensee. We’d love to hear what you think about this sort of a program and if you have any ideas or suggestions of how it would work best for you as a service-provider or developer.

This concept of developer network is supported by what you find in the FAQ:

Q: I want to charge for installations. Is this allowed?
A: No. Movable Type’s development is supported from user donations, commercial License Fee payments, and our own pay installation service, and further development depends on our ability to provide related services to Movable Type users. Therefore, offering pay installation is prohibited. If, however, you represent a client and you or the client purchase a commercial license, you may charge for support services for that one client, as described in the Limited Commercial Use License.

Yet this is somewhat contradicted by:

Q: I run a business, and I am interested in additional services relating to Movable Type: initial setup of Movable Type, system and template customization, and/or additional design work.
A: Six Apart does not currently perform customization or design work around Movable Type, but we are in the process of developing a referral network for those seeking and providing services around the Movable Type platform. If your organization has a need for such services, please feel free to contact us and we will try to find an appropriate consultant for your needs.

These comments, rather than clarify leaves the issue confused. Very confused. The first QA does imply that you can’t charge someone to install MT for them, and does leave open issues about even using MT in a commercially hosted site, such as Hosting Matters. The second QA contradicts this.

And this issue is further complicated because of a statement in the original comment thread on this issue:

It is *not* true that you can not offer for pay Movable Type support services. The payment of the $150 commercial license (by either the client or the contractor) entitles you to charge for support (installation, customization, design work). When we came up with that number, we figured that most contracts would far exceed the $150 amount and for most contractors, the fee would be nominal. We *never* imagined that a market of providing services for personal users would have flourished. We assumed that businesses (that could easily pay the $150 fee) would be contracting support services. We underestimated the personal user as client demand.

If I read this correctly, if I help someone install Movable Type and charge a fee, I or my customer must pay a 150.00 license fee, even though I may have only charged 10.00 to help the person. Additionally, if a client uses Movable Type on my commercial hosting site, and I answer a question about this for them, and perhaps charge a fee for this, I have to then pay the fee.

Just having MT on a commercially hosted site such as Hosting Matters, with no direct intervention on the part of HM in regards to MT could infringe on this one, as ambiguous as the licence is.

Sorry – this bird won’t fly. The license agreement is between the person who downloads and uses the software and the developers of the software. What other arrangements the person makes to ensure that the software runs is incidental to the issue. If it wasn’t, you might as well close the Internet down, right now, because we’ve been doing all of this wrong.

Point blank, without having to resort to the blawgers in the audience, I cannot see how Six Apart can restrict anyone from hiring a developer to install software for them – the license is between the person who downloads the software, and the company. The license can, in no way, prohibit anyone from helping that person, even at a profit. Not bundling MT with hosting services, sure. Not using MT on a commercial site, okay. Not providing a copy of MT as part of commercial services, fine. These are very reasonable, and clearly understood restrictions.

But trying to insert your software license between a professional helping to install software, manage, modify, or maintain that same softare for their customer? No.

Not a chance, babies.

I’ll even be a test case on this – someone out there who isn’t using Movable Type, but wants to: download a copy for personal use, and hire me for 10.00US to install it.

I’ve never begrudged Six Apart making money, and have donated for the use of MT for my weblogs. If I even dig out of my current financial hole, I had planned on donating more. And I wish Six Apart the best in their new commercial venture, Typepad. But I think it’s time that they get a lawyer to define for them what they can or cannot restrict, because this is not just Ben and Mena Trott writing free software any more.

However, back to Kevin’s original concern, this issue won’t apply to the co-op, in any way. Reasons:

1. The co-op is non-profit, every penny goes back into funding the machines on which the co-op is running.

2. Commercial sites are not allowed on the co-op machine.

3. I don’t charge to install MT for any co-op member. Hopefully the co-op members will help each other with installs in the future.

4. I ask that the members download MT on their own before I install, unless I’m helping to port a weblog that was already running in Movable Type. This way the direct relationship between MT user and Six Apart is established, and my butt is protected if the person decides to go commercial – which they can’t do on the co-op, anyway. Additionally, my hope is that the person will also donate for the use of the software, if there is a relationship established directly between the company and the person. And it doesn’t hurt for Six Apart to keep a count on downloads.

Categories
Photography Weblogging

Pics, stuff

I spent most of the weekend on the server, but also some time on the essay “Internet for Poets: DNS – what’s in a name”. I must finish this tomorrow because the thing is beginning to look like a book. It’s been fun, though. And far less challenging then configuring sendmail on the new server.

I’ve had little time for reading other weblogs this weekend, much less to respond to any in this weblog or in comments. Liz wrote an essay on Women’s Voices, related to women and technology, and women speaking out. Though I winced when I read her description of me as being prickly and difficult at times, I do think the conversation she wanted to start became derailed along the way, and that’s unfortunate. As for me joining me in? Nah, I have little to say.

A healthier focus for me, right now, is on something I can control, something that’s very positive, such as the co-op server (which I have to get finished quickly, my current hosting arrangement ends in a week), the “__for poets” essays, and my photography and other personal rather than social writing.

No battles this week. Next week. Maybe.

I did go for a walk late yesterday afternoon, and found a couple of photos to post. If I’m not entertaining you with my antics and wars, at least I can take all your bandwidth with my pics.

I took my roommate to see the Busch wildlife refuge yesterday and we spent a quiet time with the turtles, bullfrogs, watching the sunset and getting bitten by mosquitoes. Both of my arms are covered in bites, and one elbow is swollen twice its size from the bites.

But oh, it was worth it.

lillpads.jpg

Lilly Pads and the sound of bullfrogs

turtles.jpg

Curious turtles who followed us as we walked the wooden bridges over the water, lifting their heads out of the water to see what we were about. Sometimes accompanied by fish.

sunset2.jpg

Sunset. Nuff said.

blind2.jpg

Refuge observation blind as dusk settles into night

Categories
Burningbird Technology Web

Server status

I have hit a roadblock in the server setup, specifically wildcard DNS entries (to allow things such as weblog.burningbird.net, coop.burningbird.net, and so on), as well as sendmail issues and external email.

Everything else seems to be set but that sendmail is a showstopper. My hope is to get help from my readership, but barring that, I’m going to have to fork over the money to the ISP to get their help. And I can’t afford this.

So server move is delayed until I can get this working.

Update: The fees the ISP is charging are too high. I’ll continue to try and work this through on my own, with help from other webloggers.

Second Update: A little digging into sendmail and SMTP in Google, and a copy of another web server’s sendmail.mc file (the sendmail configuration file) sent by Sam Ruby, and we’ve found the problem.

The sendmail program listens in only on the localhost port, not the SMTP port, for security reasons. Makes sense if you’re not accepted external email. Commenting this out solved the trick! Of course, there’s a sign saying “Fresh Meat!” on the server for every spam emailer.

Still – – I was never happier to see junk mail in my life. And my yasd.com address gets way too much junk email.

Onwards.

Categories
Weblogging

DNS: What’s in a name?

Recovered from the Wayback Machine.

“What do you call yourself?” the Fawn said at last. Such a soft sweet voice it had!

“I wish I knew!” thought poor Alice. She answered, rather sadly, “Nothing, just now.”

“Think again,” it said: “that won’t do.”

Alice thought, but nothing came of it. “Please, would you tell me what you call yourself?” she said timidly. “I think that might help a little.”

“I’ll tell you, if you come a little further on,” the Fawn said. “I can’t remember here.”

There is something of Alice’s adventures in the Looking Glass about the Internet. In their book, “DNS and Bind, 4th Edition”, Paul Albitz and Cricket Liu used excerpts from “Through the Looking Glass and What Alice Found There” to preface all the chapters of their book; appropriate because their book is about the greatest mystery of the Internet: DNS, or the Domain Name System. The system that connects the address you type into a browser to the actual pages that load.

If you think on it, it’s pretty amazing to be able to go into a browser, type an address, and the same page shows up regardless of where you are in the world, and how you’re connecting to the Internet. More so when you consider that the page itself may move between different servers, and even different parts of the world. Consider your reading this page. Most likely you typed in the address for this weblog, weblog.burningbird.net in your browser address field, or you clicked on a link embedded in another page or in your own blogroll. Hopefully in a short period of time after you hit the Enter button, or clicked the link, this page showed up. You don’t have to know the physical location of the machine.

(Heck, I don’t have to know the physical location of the machine. Come to think on it, at this very moment I don’t know the exact physical location of this weblog.)

You probably do this type of activity every day — clicking a link or typing in the address of a weblog or other web page — and you’ve come to take it for granted that the web site loads, the page opens.

Problems happen of course. Perhaps you’ll get a server error saying that the server is down, or you might get an 404 error saying that the page can’t be found. The page might load slowly and even be garbled, or the styles look off. If you get this when trying to access my weblog, you’ll probably assume that something’s wrong with my server, or my pages, or maybe I’m playing around. Such things happen and you go on to other things.

What’s not as common, though, is that you might get a message from your browser saying it can’t identify the address you requested; depending on your browser, you might also be re-directed to a search page to try and locate this weblog.

If you typed in the address in your browser, you might check it for typos, carefully typing and re-typing the address again and again. If, instead, you clicked on a link embedded in a page, you might send a note to the page owner telling them the link is incorrect. Accessing the page through a known static link, such as in a blogroll, you might get even more frustrated, because how can a link work one moment, and not the next?

At this point, you might check to see if other addresses are having problems, and if all of them return the same error message, then you know something is wrong with the connection — something is wrong with the ‘DNS server’, is usually what people will say.

However, if all the other addresses load okay but mine, and the problem continues, you might get concerned and send me an email. But there’s a problem: my email address is the same as my weblog address, and your email server returns the email with a variation on the complaint your browser gave you — the address does not exist.

Like the Cheshire Cat in Alice, I and my pages will have effectively disappeared from the Internet; only the Google cache, like the Cat’s smile, remaining to once mark that I ever existed. Such is the fragile bubble on which a virtual community is based. Such is the dependency on the DNS.

DNS: The Story

For the Impatient: Show me what I need now!

 

Uniquely Me

 

Every location on the Internet is accessible through a specific network address called the IP address, IP standing in for Internet Protocol. For instance, the Burningbird Network Co-op has two unique IP addresses that map to a specific location (machine) on a specific network:

69.10.138.64
69.10.138.65

How these IP address break down and the future of IP we’ll leave for another “Internet for Poets’ essay, but for now know that if you type http://69.10.138.64 into a browser, at the time this was written, you’ll get to the Co-op’s dedicated server — even though I create the contents in St. Louis, the pages are on a server in Canada, and you are whereever you are.

Without having to go through the hassle and expense of registering a domain and mapping a domain address such as burningbird.net, you and I can agree that you typing in 69.10.138.64 will bring up my weblog pages. We can effectively bypass the DNS, go our own rebel ways. Unless the infrastructure of the Internet suddenly breaks down just as you click the link, the IP address to the physical location mapping is guaranteed.

Guaranteed…except…

Except if the ISP that manages the co-op’s dedicated server decides to do some network infrastructure changes and gives me two different IP addresses, something that can happen as network folks work to ensure even load balances on networks. Or the Co-op moves to a new ISP — perhaps in Australia because we’ve heard that the laws governing Internet content are quite liberal in Australia, and we’ve all decided to become Bloggers in the Buff.

If this occurs, when next you access 69.10.138.64, instead of getting Burningbird you get something like “Sharon’s House of Delights”, and though it might take you awhile to notice the difference, eventually you’ll realize that the IP address no longer maps to the physical location of this weblog. What’s worse is you have no way finding my current IP address to change your link. I am, to all intents and purposes, lost.

Of course you might try finding me in Google, typing Burningbird into the search field, and my weblog will show up in the list — at the old IP address. So you wait and wait and wait until you think my new address should show and try again, but I’m still at the old IP address because there are no links to my new location for Google to follow because no one knows where I am.

It’s not until some webbot comes along searching for content by random IP address rather than link, or I send out notices of the IP address change, do you have a chance to discover my new location. You then have to change all of your links, and if you’re a thoughtful — or obsessive/compulsive — weblogger, you have to change the links in all your pages whereby you’ve referenced posts in my weblog.

There’s got to be a better way, and there is: DNS.

 

DNS: An Early History

 

The earliest users of the Internet, back when it was part of a small experiment among researchers called the ARPANet, realized that using machine addresses to access each other’s work, and each other, wasn’t going to be effective and started keeping name-to-address mappings in a file called the hosts file. Every machine had a copy of this file and most still do — the co-op’s current hosts file contains the following in addition to other mappings:

127.0.0.1 localhost.localdomain localhost
69.10.138.64 burningbird.net
69.10.138.64 yasd.com

(The unique address of 127.0.0.1 is known as the loopback address, and it’s always defined to be the local machine. It’s through the localhost address [http://localhost] that you can access pages on your own computer if it’s running a web server. If you’re using Mac OS X, or Windows 2000, or Linux to access this page, chances are the computer you’re using is also running a web server.)

The entries in the hosts file for burningbird.net and yasd.com map the domains with the same IP address — 69.10.138.64. Typing in yasd.com will bring up the pages for this domain on the new server. Yet if you were to type in the burningbird.net domain name into your browser, at the type this was written, it would still show up on the old not the new Co-op server. The reason why is that the hosts file on the new server is local to that machine — the information contained in it has not been distributed, or propagated to the broader Internet community.

Again, back in the days of ARPANet, the community was so small that they would keep each other apprised of name-address mapping changes by uploading their local hosts file to a centralized HOSTS.TXT location, which contained a merged copy of all the data. The members would then download this file to their machines, usually on an average of twice a week.

As you can imagine, as the Internet grew, this situation became unworkable, for both performance and political reasons.

One potential problem with the old hosts system was name collision — for something like a name-address mapping to work, you needed some form of unique name as well as IP address. Something like burningbird.net. Or microsoft.com. Who’s going to decide the owner of one name or another? And how would the collision be resolved with the hosts information now dispersed across thousands of systems?

In addition, the centralization of one HOSTS.TXT to manage name/address mapping across the entire network placed a great burden on the centralized authority, the Standford Research Institute’s Network Information Center (known as the NIC). As the size of the Internet grew, trying to maintain consistency also became an issue. From DNS and BIND:

 

Maintaining consistency of the file across an expanding network became harder and harder. By the time a new HOSTS.TXT reached the farthest shores of the enlarged ARPAnet, a host across the network had changed addresses, or a new host had sprung up that users wanted to reach.

 

A solution was sought for these growing problems, and in the 1980’s a series of changes occurred that started to define the Internet we know today. A new communication protocol was invented called TCP/IP, making it even easier to get connected to the Internet; the infrastructure management of the Internet was taken over by NSF (National Science Foundation), and the beginnings of the InterNIC — an Internet authority — was born; and the old HOSTS.TXT system of propagating changes was replaced by the DNS.

 

How the DNS works

 

The newer system is based on the same concept of name-address mapping as the hosts file system, but with two major differences.

First, a name, or domain as they are called, had to be registered under a specific owner with the InterNIC before the owner could use the name. This prevented name collision, and also solved the political issue of who owned a name: he or she who got their first got the name. (This started its own problems as we were to learn at a later time.)

Secondly, the centralized hosts file access was replaced by an ingenuous distributed database of names, the DNS.

How this distributed system would work is that there are authorities who are given name/address mapping, or name server, authority over specific high-level domains known as the dot level domains — ones such as .net, .com, .org and so on. For burningbird.net, there is a central authority that has authority to manage all .net domains, including my own. However, rather than the one organization trying to manage the .net domain for all subdomains, it delegates to others the authority to act as subdomain name server authorities — people or organizations who provide name servers that handle all name/server mappings for all domains they manage.

Each name server authority provides all the address/IP mapping for specific subdomains, such as the name server that provides this for burningbird.net. As with the old system, this information is also maintained in a file, but in this case the file is called a zone file; and rather than all of these files be merged into a centralized location, the individual name servers provide the address/name mappings on demand, using specialized software.

Because of the added complexity of the system, with name/address mappings being polled rather than pushed to a central authority, there had to be additional information to make this more efficient, and today’s zone file is a bit more complex than the old hosts file. But not that complex if you just break it down into its components parts.

Time to Bust a myth:

Contrary to common expectation, a domain really isn’t a specific name such as burningbird.net. A domain is nothing more than an autonomously administered area of the overall domain space that is the Internet. For most people, this would be a specific name such as burningbird.net. However, in larger organizations, such as Stanford University, one domain could be the primary authority — standford.edu — with additional domains given separate authority: gsb.stanford.edu, csu.stanford.edu, and so on. It’s the administration authority, not that the name, that forms a unique domain.

 

 

The Zone File

 

I debated whether to include a breakdown of a zone file within this discussion. After all, you don’t have to know about the internals of zone files in order to have a good understanding of the workings of DNS. Additionally, when you start listing out the contents of machine generated and consumed files, the conversation changes — moving from understanding to implementation.

What decided me to include this section is because the the terminology of zone files is introduced by web hosts and ISPs, usually as a means of charging people more money for hosting services. I’ve frequently seen the case where hosting providers will tack on another charge for name server management for a domain, and if you question this, they’ll come back with an explanation that they have to manage the zone file. As you’ll see in this section, managing the zone file itself isn’t an onerous task, and for the most part is handled automatically with various tools. (Maintaining a name server can take resources, as we’ll see later in this essay.)

Each domain has a specific zone file, and the first line in it is what is known as the TTL — the Time-to-Live of the zone file, which will discuss late. Following, the first record of the file provides what is known as the Start of Authority (SOA) record for the domain — providing information such as the length of time before the name server information is refreshed, who the contact for the zone is, and a unique serial number that is used to determine if the zone file has been updated. An example of a SOA from my new server is:

 

yasd.com. IN SOA ns1.burningbird.net. shelleyp.burningbird.net. (
1056080183
10800
3600
604800
38400 )

 

This reads as:

domain name: yasd.com
host name of primary name server: ns1.burningbird.net
contact person: shelleyp@burningbird.net
serial: 1056080183
refresh: 10800
retry:3600
expire:605800
minimum time to live:38400

The domain name and contact email are self-explanatory, and the serial number doesn’t have meaning by itself — it’s changed when the zone file is modified to signify that a change has occurred. The host name of the primary name server is just the host name of the primary name server. The last value in this case means how long this name server record should live in a remote cache.

The zone file also includes other records such as a mapping to a mailserver, and the name/address pair, such as:

yasd.com. IN A 69.10.138.64
mail.yasd.com. IN A 69.10.138.64
www.yasd.com. IN CNAME yasd.com.
yasd.com. IN MX 10 mail.yasd.com.
69.10.138.64.yasd.com. IN PTR

The syntax of these records is mainly important to those folks who have to maintain zone files, but in order what they’re saying is:

The address yasd.com maps to a specific IP network address, 69.10.138.64
The address mail.yasd.com maps to this same IP
The address www.yasd.com is an alias for yasd.com
The address yasd.com is served by a email server, with address of mail.yasd.com

The last record is a reverse lookup pointer for yasd.com — it gives you the ability to find the IP address of a domain given a domain name. You can try this yourself by accessing this site, selecting Lookup from the left, typing yasd.com in the box underneath the tools, and clicking Submit. My IP address should be among the data returned.

There are shortcuts and other things you can add to a zone file, and you have to be careful with the syntax, but for all intents and purposes — this is a zone file; it’s only modified when you change the IP or add new aliases or other records.

Maintenance of a zone file is not a heartbreaker. However, providing name server services for a domain does take resources.

 

Getting there from here

 

Okay, so we have a zone file — a text file that provides information about the IP addresses for a specific zone. Now, how does this information get out into the Internet? More importantly, what’s to stop someone else from creating a zone file and hijacking our domain?

When you register a domain with a registrar such as dotster.com or Network Solutions, in addition to providing other information about who owns the domain, you also have to provide at a minimum two name servers — one to act as primary name server, the other the secondary name server.

By specifying a specific name server to act as authority for your zone file, anyone else could create a zone file and say they were the authority — but your domain registrar file says otherwise. You would have to change the name servers at the registrar file to change this, but someone can’t create a stealth zone file and try and steal you, or more accurately your domain, away.

So now there is a direct relationship between the name servers that are maintaining your domain’s zone file, and your registered domain. But that still doesn’t propagate the change throughout the Internet.

That’s where you and your loyal readers come in.

When you connect to the internet, through a dial-up, cable modem, DSL, or whatever, there’s a name server associated with the ISP, known as the ISP’s DNS server. Earlier I mentioned that sometimes you may not be able to resolve any domain name, not just one specifically.Whenever you can’t resolve any address from your PC, the problem is most likely because there’s something wrong with your ISP’s DNS.

If your ISP DNS Server is working, when you type a domain such as burningbird.net into your browser, the DNS Server looks in its own name server cache to see if it can find this domain. If it can’t, it then looks within the zone files it maintains, to see if it’s there. If it still can’t find the domain, the DNS server looks to one of the master DNS servers, known as the root DNS servers.

When you associated the two name servers with your domain, these are stored with the domain at these root servers. Additionally, the root server also knows the IP address of the name servers. When the ISP DNS makes a request on the domain of the root server, these name server addresses are returned to the ISP DNS, which then sends a request to the primary/master name server for the IP address of the domain.

If the primary name server is working, it returns the IP; if not, the ISP DNS server queries the secondary name server, and when the IP address is returned, it caches the domain name and IP within its own cache, in order to make access quicker in the future.

Now, if your ISP DNS server is what is known as a forwarder DNS Server, rather than go directly to the root DNS Server to get the name servers for the domain, it asks the next DNS Server in a list for the address/name mappings for the domain. The forwarded server does the same process — look locally, then ask a root DNS server for the name servers and so on. When it gets the IP/address it caches this information locally and returns it to your ISP’s DNS, which caches it locally — increasing the speed of propagation of the name/address mapping.

Now, if for some reason both of your name servers are down, or the name can’t be found in the root servers, then the person who typed the name into a browser will get the name not found error. In fact the reason for insisting on two different name servers was to prevent this problem — the assumption was that the two name servers would be on separate machines, physically separated. What’s happened more and more though is that most name servers from hosting companies, and the Co-op, are really two different IP addresses for the same machine. Acceptable, barely, for the Co-op (until we can find a secondary) — not acceptable for a commercial hosting service.

You can see how the data becomes propagated throughout the Internet. You can also see that your name server does use resources in order to serve the name/pair requests — a valid expense to pass on, but one that should be commiserate with how often your page is accessed, and from how many different ISPs.

Of course, one the data is propagated, how do you go about getting it changed?

 

Time to Live

 

 

To every thing
turn, turn, turn
There is a season
turn, turn, turn
And a time
to every purpose under heaven
A time to be born
A time to die
A time to plant
A time to reap

A time to kill
A time to heal
A time to laugh
A time to weep

To every thing
turn, turn, turn
There is a season
turn, turn, turn
And a time
to every purpose under heaven

From the Byrds, based on Ecclesiastics 3

 

Associated with every name/address mapping is a value known as TTL, or Time To Live. This value tells every ISP DNS that caches the name/address mapping to maintain that cache for only the specified time — such as 3 hours, a day, or even several days. When the time expires and the name/address pair is again requested, the lookup procedure should begin all over again.

The TTL keeps the data from becoming too out of date, and allows for changes in the system, such as a move to a new IP, a new alias, and even moving authority for a domain to a new server. Unfortunately, not all ISP DNS honor the TTL.

Some ISP DNS have their own schedule of expired name/address mappings, and will continue to return you the older data until their schedule expiration time rather than the one associated with the zone file. Becaues of this, rather than the data being updated in three hours, if this is the value set in the zone file, it may take a day or even several before you see the updated DNS information. Still, except for extreme circumstances, new DNS changes usually make it from the zone file to your browser within a couple of days.

Here’s a Fanciful Thought:

Weblogging may or may not be revolutionizing the Internet, but in my opinion, it is increasing the efficiency of the DNS. How come, you ask? Well, glad you asked.

There is a geographical distribution associated with weblogging that tends to send people out to sites that not only are not within their local network, but not even within the network served by whatever backbone (major internet architectural component) provides their area service. For each weblog reader from a new region, using a different ISP to connect to my weblog, that’s one more patch of the overall Internet that my particular domain/address mapping is occurring in.

Moreover, there is a frequency of access within weblogging, such as the hourly pings sent from RSS aggregators that are continously asking our ISPs’ DNS to check for the address/name mapping within it’s cache. Because of this, a request for the new name/address mapping is likely to occur soon after it expires within the DNS ISP’s cache, kicking off the propagation process that much more quickly.

If the Internet can survive the weight of all our cat photos, in a decade or so as more webloggers from far corners of the globe join the fray, we could see DNS propagation rates double.

If the Internet can be viewed as plumbing, then Webloggers can be seen as the handle that once pushed, flushes the pipes.

 

In case you’re curious as to how Burningbird became a name server, this is detailed in the next section. If you’re not, you can skip to the last section in the essay: DNS: A Scenario.

 

Becoming a Name Server

 

How does one become a name server authority? In my case, it was getting a server that had Internet access and static IPs, in which I could run the appropriate name server software, called BIND. You need the static IP addresses because your server’s will be queried for name/address resolution, and this IP address must remain constant; and you need specific software to manage the resolution — returning an IP address when queried by name, or a name when queried by IP address.

Once BIND was installed and configured, it was then a simple matter for me to go to my official InterNIC registrar, Dotster, and register the two new name servers: ns1.burningbird.net and ns2.burningbird.net, one for each of my unique IP addresses. Though name servers are usually on different machines, there is no requirement that they be on different machines.

Now my being a name server authority only applies to US-based domains: .com, .net, .info, .org and the like. I’m not a name server authority for any of the country domains such as .uk and .au and would have to ask for this authority from the domain holding organizations there — something not likely to happen.

 

DNS: A Scenario

 

Consider a hypothetical Burninbird Network Co-op member called Sally.

When Sally moves her weblog from Blogspot to the Co-op, she wants her own domain. What are the steps she’ll need to take to register the domain, and ensure that the name maps to the co-op, and ultimately to her weblog?

1. Sally thinks of a couple of good domain names and the first thing she’ll have to do is check to make sure that no one has them. She’ll use what is known as the whois database to check to see if anyone has the domain.

The whois database is a database of all domain names managed by Network Solutions, in its role as business proxy for the InterNIC–the domain name central authority. You can query the whois database from Network Solutions, but you can also use whois from hundreds of other sites, just by looking up ‘whois’ from Google. As an example, this is the whois record for one of my domains, yasd.com.

2. Once Sally has found a domain that isn’t used, she has to register it. The registration process does change from country to country, but for the most part she’ll pick whichever one is recommended by another person or by other method of discovery, as long as it’s an accredited registrar. I myself use Dotster, though there are other very good registrars. Most will charge a few though there are some free DNS registrars out in the world.

3. When registering her domain, Sally will have to provide contacts to fill specific roles: Owner, Administrative contact, Billing contact, and Technical contact. If she’s registering with a hosting company, chances are the host will put themselves in as Technical contact and Sally as Owner, Billing, and Administrative Contact. This is something I do not agree with.

To maintain independence from a hosting company, to be able to move your domain easily and quickly, I believe it’s important for the person registering the domain to put themselves in as all four contacts.

Originally, the company that provided the name servers was the one you would put in as technical contact, so that if there was a problem with DNS, or the site, they could be contacted. This isn’t a bad idea — a secondary contact just as there is a secondary name server.

However, rarely is the secondary contact used. What happens is that you, the domain owner, is contacted for most activity. But what happens when you want to move your domain to a new hosting service? Your domain can’t move until the existing name server domain zone files are changed, or until you change the name servers that are authority for your domain. If you have a difficult hosting company, or an unresponsive one, they can literally control your name server entries because of that technical contact and the authority it gives them.

Redundant contacts might be nice, but not worth the hassle.

No, my recommendations is to pick a reputable registrar, register your domain and yourself or your organization as all four contacts, and then you change the name server entries as needed. It’s easy to do.

4. Sally registers her new domain, sallysnewdomain.com, and asks the Co-op admin — that’s me — for the two name servers to use. I provide her with:

ns1.burningbird.net
ns2.burningbird.net

She types these into the appropriate spot in the registration form.

(Sally could also use a commercial name server or some other set of name servers — name server entries don’t have to be maintained by the weblog or web site host. In this case, then, she’ll ask me what the IP address of her site is, and I’ll tell her. And I’ll have to also let her know if this changes.)

5. Once I, as the name server admin, is notified of the new domain, I’ll create a zone file for her domain that maps the domain name with the correct IP address. This will be a shared IP address, shared with all the other co-op members, as most hosting is managed. Settings in Apache and the other services is what allows many domains to run off the same IP, but a different physical address — another topic for a future Internet for Poets essay.

6. If the domain is new, Sally’s own access of the domain triggers the process of propagating the address/name mapping. Once she goes live, then other new readers take over this effort — each person triggering the events at their own ISPs DNS to go out and get the new name/address mapping.

7. Once the domain name propagates, and Sally has set up her site, she’s in business. At that point, the only time the zone file should change is if an IP change occurs — something transparent to the weblog readers. Eventually if Sally wants to move on, then another name server manages her domain from that point on, and Sally updates her registrar record to point to these new servers.

And you, the weblog reader: your role in all of this, should you choose to accept it, is to read Sally’s weblog. I know, it’s tough, but someone has to do it.