Before reading this you may find the following tutorials useful:
Protocol Basics, Formatting for Transmission, Ethernet
Many companies claim to be the power behind the Internet. Even ex-Vice Presidents claim to have masterminded this phenomenon that is in so many people’s lives and is fueling the entire optical networking industry. But the main power source of the Internet is not down to Al Gore or even Al's Optical Inc. The Internet is primarily powered by the Internet Protocol (IP).
IP is the protocol that controls all traffic on the Internet – from that last-minute birthday email to that multimedia package from naughtybits.com. All of this data is transferred according to the rules laid down by IP.
You will no doubt be reading this page on a PC in which the “TCP/IP Protocol Suite” is installed. It is this set of protocols which has enabled you to request and then receive this Web page on your screen. Included in TCP/IP is HyperText Transfer Protocol (HTTP) for Web browsing, File Transfer Protocol (FTP), Transmission Control Protocol (TCP), and Internet Protocol itself, along with many others. Your request for this page will have been bundled down through the layers of the OSI (Open System Interconnection) model within your PC until it reached Layer 4, the transport layer.
At the transport layer, the TCP protocol will have encapsulated the Web request with a TCP “header.” This is around 20 bytes of extra information added to your data in order to track it and make sure that it does indeed arrive where it should. Layer 3, the network layer, is where IP kicks in. It provides its own header, again around 20 bytes in length, which can be thought of as an envelope for the TCP header and the data “payload” that helps it to reach its destination. This forms what is known as an IP “packet,” which may be a maximum of 64 kilobytes in length.
The IP header contains a variety of information to help the packet along its journey. Identifiers are included to give a unique reference to the packet, and also to help the packet to be pieced together with any other related packets in the correct order at the receiving end. There is also a value included known as the Time To Live (TTL) field. This is a number that will be decreased by one every time the packet passes through an IP router in the network, until it reaches zero and the packet is then dumped. The idea is that the packet will reach its destination before the TTL field is allowed to reach zero; but if the packet were to get caught in a never-ending loop then it would not be allowed to stay there forever and degrade the network performance.
A variety of other useful fields are also contained within the IP header, but perhaps the most important is the addressing information. Like a well-written envelope, the IP header contains the address of its destination as well as the address of its sender. The destination address is naturally crucial in determining the packet’s route through the network. Before describing how this routing takes place, it is worth taking a look at the format of IP addresses.
Each device attached to the Internet has an associated IP address, which is given in a so-called “dotted decimal” notation (for example: 129.67.219.9). In data terms, this address has a length of four bytes (32 bits) with each byte being a binary representation of one term of the address. It is worth noting that this address can be changed at will and is not hard-wired into machines. However, problems will obviously arise should two devices somehow have the same address.
The number of bytes for each address represents how many different IP addresses are possible. When the Internet was young, four-byte addresses seemed large enough to account for all the computers that might ever be connected. But with the Internet continuing to metastasize, four-byte addresses are beginning to seem a bit limiting. With everything from battleships to Barcaloungers™ coming to be hooked up to the ’Net, there will be ever-increasing IP addressing problems. Therefore, there is a new version of IP in the pipeline (version 6 – IPv6) which includes 16-byte addresses as one of its improvements.
So your PC has cleverly bundled up your Web request into a TCP packet and then an IP packet, resplendent with its addressing information. The packet is now ready to squirt out of your PC to travel around your office network in search of its ultimate destination. It gets onto the cable connected to your PC via, usually, the Ethernet protocol that provides Layers 2 and 1 of the OSI model via an Ethernet card in your PC.
The IP packet is then routed through the network according to its destination address by so-called “IP Routers.” Each router it encounters will strip off the Ethernet information now attached to it and look at the IP destination address. It will then consult its own table of destinations to determine out of which port to pass on your request. Should the request be destined for outside of your office building, the router just forwards it towards the external gateway from your building to the outside world. Ethernet again packages the packet up before it is sent to the next router on its journey.
There are many error-detecting mechanisms built into this TCP/IP system, but they serve only to guarantee that your information will arrive in the correct format. They do not give any guarantee as to how long it will take to get it right; so TCP/IP is often referred to as a “best effort” service that has no quality of service (QOS) guarantees.
A final word on routers: It should be pointed out that in American English “router” sounds like “chowder,” whereas in Britain, curiously enough, it rhymes with “hooter.”
Key Points
TCP/IP is a protocol suite in computers supporting all Internet related traffic
Transmission Control Protocol (TCP) adds around 20 bytes of header information to data to ensure its safe delivery
IP adds a further 20 bytes to provide other functions, most notably source and destination addresses for routing purposes
Data + TCP header + IP header = IP Packet
IP routers direct packets through the network based upon four-byte IP addresses
IP provides a “best effort” service
Further Reading
Sonet (Synchronous Optical NETwork) and SDH (Synchronous Digital Hierarchy)