Interesting paper for those unfamiliar......

Governing the Internet

The IP address is the building block of the Internet. Everyone who's anyone online has one, if not several. Most network technicians understand the concept of this 32-bit address, what it's used for, and how it changes. But where do these numbers come from? Your ISP, of course. Great. Where did your ISP get it? And while we're at it, why do you have to pay for a domain name? What exactly is it that you're buying? And who decided HTTP would run on port 80 while FTP gets 21? There is a surprisingly large amount of behind-the-scenes work that goes on to preserve the functionality and integrity of our Internet.

Internet Protocol Addressing

Before reading further, please note that basic knowledge of IP networking is required to understand how the address space is managed.

Internet Protocol has been around for decades. It first gained popularity in the early 80's, after being defined in RFC 791 for use on ARPANET, the predecessor to today's Internet. Back then, one could accurately count - not estimate, but count the number of hosts attached to the network at any given time, which averaged in the low thousands. The 32-bit address length of IPv4 accommodates for a total of 4,294,967,296 (or 232) addresses, which was clearly more than the engineers at that time could ever imagine being used.

Unfortunately, IP fell victim to its own success. Now, over twenty years later, the Internet still relies on the same address structure, albeit with some modifications to ease growing pains. As you've probably heard, we're running out of network addresses, and fast. The solution to this predicament is of course implementing the newer IPv6, however it will be several years until it is adopted universally. In the meantime, it is vital that we conserve what addresses remain available.

The Internet Assigned Numbers Authority (IANA) has been created for this purpose. Originally, the Internet (or ARPANET) was federally-funded and government operated, open only to government agencies and educational institutions. When the network was opened to commercial entities, DARPA and the US National Science Foundation created IANA and charged this organization with governing the IP address space and other regulated numbers, such as autonomous systems and protocol assignments.

IANA does not directly coordinate IP network assignments, but delegates its authority to Internet Registries throughout the world. There are currently five Regional Internet Registries (RIRs), with AfriNIC being due full recognition in mid-2005:


- ARIN - American Registry for Internet Numbers (North America)

- RIPE - Réseaux IP Européens (Europe)

- APNIC - Asia Pacific Network Information Center (Asia)

- LACNIC - Latin American and Caribbean NIC (South America)

- AfriNIC - Arican Network Information Center (AFrica)

Each registry governs their assigned geographic area. In addition, some countries have assigned Local Internet Registries. LIRs operate like a RIR serving a smaller area, usually bound to a particular country or political state. One such LIR is Korea's KRNIC. As an aside, registries can often be useful in network reconnaissance. For further insight on this, check out an earlier work of mine entitled The Hunt Is On. </shameless plug>

So, let's say Joe's ISP is a new business and Joe wants to provide Internet connectivity to his broadband customers. To do this, he needs the capability to assign IP addresses to those customers and route traffic accordingly. To receive a sequential block of IPs (otherwise known as an address block), Joe needs to submit a request to his governing Internet Registry, detailing why he needs these addresses and what he plans to use them for. He may also need to obtain an Autonomous System (AS) number for his routing infrastructure, which he can also obtain from IANA.

One important fact that many people never consider is that just having an IP address does not mean it will function. The Internet is a routed network, and it has all been very carefully planned out so that only certain addresses will be present at any given point on any public network. For an IP to be routable, it must be recognized by its upstream provider. For example, assume Joe assigns customers their IPs from the address block 123.45.67.0/24. Now one of Joe's customers is a complete n00b and changes his IP to 98.76.54.32, which clearly doesn't fall inside the assigned address range. Since the ISP router does not have an entry for the 98.76.54.0/24 network in its routing table, it doesn't know how to route traffic to the IP.

This, of course, is all way oversimplified, but it serves to illustrate a point. You cannot just randomly assign yourself an IP, even if you were to somehow bypass the security restrictions put in place by your service provider. It also brings up another point of discussion: most end network providers (such as a local company, organization, or government) will lease IP addresses from their ISP. In most cases, they don't really have a choice. No matter what addresses you're using, they must be compatible with your ISP's network to be of any value.

ISP's generally handle IP assignment in two ways. First, you've no doubt noticed your IP may change from time to time. This is due to IP pooling, better known as dynamic addressing. Assume Joe's ISP has a block of 254 usable addresses to assign, but Joe has grown to over 300 customers. Problem, right? Not necessarily, as most users aren't actually online 24/7. This means Joe can assign users an unused address as they sign on, then return it to the pool when the user signs off. This technique is used by most end-user service providers. However, it has become less advantageous given the relatively recent debut of home broadband service, which generally provides for constant connectivity. Incidentally, this is also why ISPs charge additional fees if you want a static IP; it costs them, so it costs you.

The other method used to help conserve address space is called Network Address and Port Translation (NAPT), which relies on upper layer protocols (namely TCP and UDP) to perform a one-to-many address mapping for separate networks. Hosts on a small, internal network are assigned private network addresses (generally 192.168.X.X), which are defined in RFC 1918. The NAPT router maps all private addresses to one or several public addresses by tracking upper-layer TCP and UDP connections based on which ports are used.

The Domain Name System

Today we take for granted the ability to reference online resources by human-friendly canonical addresses, otherwise known as domain names like www.l0gic.net. We rely on the host computer to automatically query the local name server and resolve the domain to its numerical equivalent, the IP address. This wasn't always the case, however. In the early days of the Internet, a central HOSTS.TXT file was distributed amongst all Internet nodes, which contained the address mapping necessary for all hosts. Naturally, this became a burden quite fast as the Internet rapidly grew. The solution was a new hierarchical address scheme known as the Domain Name System (DNS).

Currently there are thirteen root DNS servers, eight of which reside exclusively in the United States. These servers hold the root of all DNS entries in the world for every network. Of course, not every user on the Internet queries these same servers. Most ISPs run their own DNS servers that provide cached DNS requests and the appropriate response. You're likely not the first customer of your ISP to look for, say, cnn.com. Only if your local name servers don't have the answer is your request relayed to a root server. The root server then responds the address of the appropriate TLD registry to query. For more on how the root servers work, see http://www.isoc.org/briefings/019/.

The DNS root relies on a series of Top Level Domains (TLDs) to create a hierarchy. These are the well known extensions like .com, .net, .org, and so forth. Each generic TLD is administered by a separate commercial registry. Recently the list of TLDs has grown to include several new extensions, some of which have strict registration requirements. For example, only certifies businesses may apply for a .biz domain. For a full list of generic TLDs and who manages them see http://www.iana.org/gtld/gtld.htm. There is another type of TLD known as the country code TLD, which pertains to a certain country. Each TLD is operated by a separate parent registry.

This is all well and good, but who controls these registries? In 1998, the National Telecommunications and Information Administration (NTIA), a division of the US Department of Commerce, created the Internet Corporation for Assigned Names and Numbers (ICANN) to ease control of the Internet from US government regulation to the international public. Up until around that time, all domains were registered through Network Solutions Inc., a private business. ICANN was was charged with the task of accrediting new domain registrars to stimulate growth and encourage competition. Network Solutions originally charged around $35.00 per domain; today, you can register a domain for under $10.00 from many registrars.

ICANN is also responsible for ensuring uniqueness and global availability in the DNS. They ensure that there is, for example, only one l0gic.net and that everyone knows how to reach it. ICANN also administers assignment of TLDs to registries. Lately ICANN has grown to encompass actions previously performed by IANA.

One common question concerning domain registration is why it costs money. Well, most obviously, if it were free, some jackass would have come along and registered every domain name, making the entire system worthless. More to the point, let's examine how the registration process works. Referring back to our earlier example of Joe's ISP, Joe wants to register joesisp.net. (Notice that a domain name does not include the 'www.' This is a subdomain that traditionally points a web server residing within the domain.) Joe finds an accredited domain registrar on the list maintained by InterNIC to accommodate his request. The registrar charges a modest fee (usually around $10 - 15 per year per domain) for this service to pay for accreditation costs it must pay to ICANN. When you purchase a domain name, you're vicariously helping to fund the operation of the DNS.

Registrar accreditation is a lengthy and expensive process, at least helpful in deterring would-be scammers. For starters, it costs a whopping $2,500 (non-refundable) just to submit an application for accreditation. ICANN provides a registration template. Then, if your application is accepted, it will cost $4,000 annually to receive rights to particular gTLD, and additional $500 for each additional gTLD. ICANN only considers serious businesses with the intent and capability to serve the public for accreditation anyway. This is why you cannot simply choose to register a domain yourself. Registrars submit registrations that have been paid for to ICANN, who in turn distributes the new domain information to the appropriate TLD registry.

Port Assignments
Most network technicians have a decent grasp of "port numbers." HTTP is 80, FTP is 21, TFTP is 69, and so on. But few understand the concept of a port. Transport layer protocols (reference the OSI model if you're unfamiliar with protocol layering) TCP and UDP utilize arbitrary 16-bit values stored in the IP header to hint at which higher layer protocol is being carried in the packet's payload. These port numbers are used to designate received network traffic to specific daemons (services running on a particular port or ports). This way, traffic bound for TCP port 80 is recognized only by your web server, while UDP/69 goes to your TFTP server.

The first 1024 port numbers (0 through 1023) are considered to be well known and globally standardized. These include popular generic network services like the ones mentioned above. On some systems the use of these ports may be restricted to administrators or root. IANA controls official designation of these ports, as well as maintaining the list of registered ports (1024 and up). Registered ports are generally reserved for specific applications; for example, Symantec's pcAnywhere service runs on ports 5631 and 5632 by default.

IANA maintains a listing of port numbers at http://www.iana.org/assignments/port-numbers. Of course, just because a port is generally used for one service doesn't necessarily mean it can't be used for another. You can run a web server on port 21, for example, with no problem, except that no one will know how to get to it.

Requests For Comment

You've no doubt noticed my common references to RFCs by now. A Request For Comment is an officially published numbered paper detailing a new idea or improvement upon an established standard. RFCs start as Internet drafts submitted by individuals or working groups, and many go on to become published standards. The entire process is documented appropriately enough in RFC 2026. RFCs contain the nuts and bolts of a specification, however some details may not be specified, and are often left to interpretation by the programmer or technician applying the standard.

Web Languages

HyperText Markup Language (HTML), eXtensible Markup Language (XML), Cascading Style Sheets (CSS), and many other languages interpreted by web browsers are developed and standardized by the World Wide Web Consortium, or W3C. The W3C provides for constant development and review of web languages to ensure greater interoperability between competing browsers and stability of the world wide web. The W3C houses all current standards and even provides a convenient validation tool to review your own code at http://validator.w3.org/.

Hopefully this paper has cleared some of the fog surrounding Internet legislation. Of course I've only scratched the surface; there are hundreds of organizations and agencies around the globe that govern the stability and growth of the Internet and the protocols that power it. Many of these groups, like the Internet Society, encourage public enrollment and participation. If you have expertise in the field, consider getting involved with the regulatory process. The Internet is constantly changing, and its maintainers of the past are beginning to fade from the scene. It is up to the newer generations of hackers to step forward and take charge where they leave off, to preserve the network that powers the planet.
http://neworder.box.sk/newsread.php?newsid=13345