Thursday, March 9, 2017

Mysteries of the Internet: IP Addresses – Where Do They Come From, and Why Should You Care?


William Sundwick


TCP/IP

When the Department of Defense first developed DARPANET, in the late 1960s, it immediately became apparent that all the participating research institutions whose big clunky IBM mainframes, DEC VAXes, and various other odd manufacturers’ products, would need some standard protocols for communicating with one another. Thanks to Robert Kahn and Vinton Cerf (who wrote the original Network Control Program, NCP, used at the outset of ARPANET), a suite of network protocols, consisting of several “layers”, would collectively become known as TCP/IP  -- Transmission Control Protocol/Internet Protocol. The protocol suite was composed of four abstract layers: the “link layer,” the “internet layer,” the “transport layer,” and the “application layer.” Each individual node in one network had to be connected to each of its sibling nodes via the link layer, and different networks had to be connected to each other through the internet layer. The higher-level “transport” and “application” layers were for traditional host-to-host messaging and communication between different processes running on the same computer, respectively.
What makes TCP/IP different from previous network protocols is that it was so loosely defined. The idea, from the very beginning (1973) was to gain the absolute maximum freedom in creating and maintaining links between hosts, both for the present and the future, as technologies would undoubtedly change. Kahn and Cerf embarked on the project, based on Kahn’s previous experience linking satellite networks to terrestrial packet radio networks, for DoD, and Cerf’s background in computer network application design. The Transmission Control Program (TCP) was published in 1974. For the first time, it made reliability of networks dependent upon the hosts in that network. 

In the peer review environment that these researchers worked, endorsements from others were key. They came quickly. John Postel, of USC’s Information Sciences Institute, soon was publishing his “Requests for Comments” (RFCs), which opened the field to many researchers working on similar problems throughout academia. What had been a rarified group of people working for DoD was now taking off throughout the community of folks interested in many problems of computer networking. It seems that the idea of the four layers was the missing principle that was needed; as Postel wrote, “we are screwing up in our design of internet protocols by violating the principle of layering.


ARPANET to Internet

TCP/IP was a protocol for the ages!  As the number of nodes in ARPANET increased through the seventies, the DoD finally decided to mandate all military computers use TCP/IP in 1982. In 1985, a meeting of all major equipment manufacturers convened as the first “interop” conference, which has been held annually in various locations around the world ever since.  These developments further encouraged commercial adoption of the protocols. International commerce was becoming dependent on free and open access to networks maintained by suppliers, and governments, not to mention the growing global reach of multinational corporations, themselves. Although individual consumers were not yet an important stimulus for growth of the Internet (The World Wide Web was still in the future), the economic powers that be in the world were, by now, very much aware of the value of data exchange in their operations and ultimate profitability. When AT&T decided, in 1989, to release all of its UNIX code, including the TCP/IP stack, into the public domain, standardization made yet another great leap forward.

By this time, it was established that one of the first prerequisites for sending packets of data across networks, and even from one computer to another within a network (both the “internet” and “link” layers), is an address header for the packet, specifying both origin and destination of the packet, just like sending a letter through the mail. And, if every computer in the world was to be accessible, there would have to be an authority to create these unique addresses. Dating from the early ‘70s, there has been a voluntary organization called the “Internet Assigned Numbers Authority” (IANA) to perform that function. It has allocated blocks of numbers for IP addresses among five Regional Internet Registries (RIRs) ever since. The five RIRs cover each of the world’s continents: AFRINIC (African Network Information Center), APNIC (Asia-Pacific Network Information Centre), ARIN (American Registry for Internet Numbers), LACNIC (Latin America and Caribbean Network Information Centre), and RIPENCC (Reseaux IP Europeens Network Coordination Centre).

IANA also has reserved certain blocks of numbers for private networks, or subnets. This allows for individual nodes in a network (e.g., your phone or computer) to have a unique address only WITHIN your “private” network. This usually means that your router is the only device that needs a “public” IP address for reaching the outside world. Chances are very good that, if I were to issue the command “ipconfig” on your Windows computer, or check the Wi-fi settings on your phone, they would reveal IP addresses the same as mine: 192.168.0.1 as the “default gateway” or “server” for Internet connectivity. Only the last “octet” of bits (expressed decimally as 1 – 255, after the final decimal point) would identify the difference between your device and mine. That’s because the network addresses 192.168.*.* are reserved for subnets (used by most home routers). Your network and mine don’t need to touch, except through that public gateway, whose real IP address remains hidden to individual nodes.

Over the last twenty years, IANA has fallen under the general oversight of the Internet Corporation for Assigned Names and Numbers (ICANN). But, it is still IANA that has been allocating blocks of 32-bit IP addresses among those five global RIRs, and has determined which blocks of numbers are reserved for private networks and other special purposes (e.g., the IP address 127.0.0.1 has been assigned the role of "localhost”, or loopback, to one’s own computer … used primarily for network troubleshooting).
Four of the five RIRs have now exhausted all possible IP addresses assigned.  The Internet Engineering Task Force (IETF), another international group, has agreed upon a 128-bit IP addressing scheme (known as IPv6, as opposed to the old 32-bit standard, IPv4). IPv6 addresses are expressed as hexadecimal numbers; my computer’s IPv6 address is: fe80::7557:2ebd:de38:b940, where it is understood that the empty space between the first and second colon is 0. Like the reserved numbers under IPv4, there are also reserved IPv6 numbers; instead of private networks they are called “unique local addresses” (ULA). The total possible number of IPv4 (32-bit) addresses, now exhausted, is just shy of 4.3 billion (232), but IPv6 (128-bit) expands that number to 3.403 x 1038!

Likewise, your smart phone (or tablet) will connect to a cellular network for data, where the cell provider maintains a public IP address on a gateway. You don’t see the private network IP address on your phone, but your provider knows it!. These, too, are private networks from your point of view as an “end user”. However, in order to connect to the wider Internet, your ISP, or cellular provider, must maintain a public IP address. The same architecture applies to the exploding field of “The Internet of Things”, from Smart TVs to kitchen appliances, to home security systems, to my FitBit wrist band.

The growth in demand for Internet connectivity over the last twenty years is what necessitated the creation of ICANN, in 1998. It has an international “Governmental Advisory Committee” with representatives from over 100 UN members, and international organizations. In addition, there are observers from many other international organizations. It is intended to be very open and democratic, as expressed in its charter.  It has three “supporting organizations”: the Generic Names Supporting Organization (concerned with maintaining generic “top level domains”, TLDs, like: .com, .gov, .edu, .org), the Country Code Names Supporting Organization (does the same for country code TLDs, like: .us, .fr, .jp, .eu), and the Address Supporting Organization (this is IANA’s role).


Technical, or Political?

But, here is the difficulty.  ICANN was, until October 1, 2016, affiliated with the U.S. Department of Commerce’s National Telecommunication and Information Administration (NTIA) … it was originally set up by the U.S. government, as was the Internet, itself (ARPANET). Now, however, the Internet is truly global. Nobody owns it. Hence, ICANN can no longer be affiliated with the U.S. government. But, we still have conflicting interests in the world. Many governmental representatives have voiced criticism about the openness of ICANN’s policy regarding assignment of top-level domains (TLDs), and have questioned whether the corporation has the right to set Internet policies at all. They have disputed the role of a free press in using ICANN’s “whois” tool, where any user can find information about who is the responsible party for a particular IP address.

Some representatives have floated a proposal to move ICANN and IANA into the United Nations bureaucracy, but that proposal has met with opposition in the U.S. Congress.

Also, since IPv6 has not been widely implemented, as of today (my computer has both an IPv4 and IPv6 address, take your pick!), there are still questions of backward compatibility with IPv4 addresses for public networks. Do we believe the technical experts who claim compatibility issues are resolved? We must accept it on faith, it seems.

As more of the world becomes totally dependent on the Internet for all the functions of society -- personal, commercial, government, military -- we should expect to hear louder voices from many quarters. Some will distrust the narrowness of the governing body, others will fear the openness of its operating principles. Some will suspect corruption, or choosing commercial winners and losers. Others may simply object to the $185,000 registration price for a TLD! In any case, we surely will hear more, not less, about worldwide Internet governance. And ICANN’s role doesn’t even touch issues like those facing the U.S. FCC, generally referred to as “net neutrality.” Do American citizens, or citizens of any country, have a right to global Internet connectivity? Or, should they be subject to the marketplace? What about privacy?

 It’s only just starting!




















No comments:

Post a Comment