Sunday, June 15, 2008

The Internet Protocol Suite:

4. THE INTERNET PROTOCOL SUITE: A LESSON IN PROTOCOL STACKS


A Protocol Stack is a group of protocols that follows the specification of several consecutive OSI Layers. This section will provide an example of a Protocol Stack/Suite by dissecting the Internet Protocol Suite.


4.1 INTRODUCTION TO THE INTERNET PROTOCOL SUITE


The Internet Protocol Suite is a stack of protocols based on the OSI Reference Model. Undeniably the single most used Protocol Stack in the world, the IP Suite is the primary power behind the internet and a large number of other networks of all sizes. This suite is known as the TCP/IP suite or the IP Suite, despite the fact that it is actually a suite of specifications and consists of more than just the TCP and IP protocols. To make things easier to understand, the TCP/IP suite is often explained using just four layers, each of which represents multiple OSI layers.


4.2 THE INTERNET PROTOCOL SUITE LINK LAYER


While not technically a part of the Internet Protocol Suite, the IP Suite relies on a link layer, just as any other protocol stack would. Without the Link Layer, which represents OSI Layers One and Two, the higher protocols defined in the TCP/IP stack would not function.
An interesting advanced topic that can be considered here is the concept of a Virtual Private Network (VPN) or network "tunnel". A network tunnel links two remote local area networks as if they were one local area network. This operates by running a VPN stack with a TCP/IP stack on top. While this concept may seem complex, the same principles discussed earlier in this document in relation to stacking apply not only to protocols, but to stacks of protocols. While theoretically this concept could extend without limits, it never really does due to protocol overhead (the space consumed by packet headers) and the fact that no widespread practical use has ever existed for more than two or three nested tunnels.

4.3 THE INTERNET PROTOCOL SUITE INTERNETWORK LAYER


Also known as the Internet Layer, due to its almost exclusive use on the medium, this is the level at which packets are routed and switched on networks. The Internet Protocol (IP, not to be confused with the IP Suite) is responsible for getting this job done. As shown when being used for an example on routing in Diagram 3, IP addresses are determined and assigned to each node by IP. IP is an OSI Layer 3 protocol.

4.4 THE INTERNET PROTOCOL SUITE TRANSPORT LAYER

The Internet Protocol Suite's Transport Layer is where the TCP/IP suite shows its broad diversity and capability. Supporting multiple varied mainstream protocols, the IP Suite's Transport Layer provides many options for the protocol and associated feature-set that a node's applications may use. IP Suite Transport Layer protocols fall under the specification of OSI Layers Four and Five. Here are some of the most common IP Suite Transport Layer protocols.

TCP


TCP is a reliable, connection oriented protocol, and is possibly the most commonly used IP Suite Transport Layer protocol. Its advantages are that it is reliable, meaning it will attempt to re-send packets that fail to reach their destination with the same integrity with which they left. In order assist in preventing this issue, TCP attempts to monitor the current load and free capacity based on the action of other TCP network traffic and will throttle its packet sending rate to prevent network packet overload/collision. In addition, TCP will attempt to send packets in roughly the order they originally were intended. TCP performs best when used with an application that does not require timely, ordered information, but does require the information be of good integrity. TCP is classified as an OSI Layer 4 (Transport Layer) protocol.

UDP

Often viewed as being similar to TCP, UDP begins to differ in that it is an unreliable type protocol. This does not mean that it serves its purpose poorly, but rather that UDP does not verify that its packets have reached the destination node successfully, and will not put future packets on hold to retransmit current failed ones. This means that UDP is typically utilized in applications where the integrity of transmitted information is not particularly required, but timely delivery is. UDP is useful in such applications as multimedia streaming because it does not stop to resend bad packets, thus preventing pauses in the media stream. UDP is classified as an OSI Layer 4 (Transport Layer) protocol.

RTP
RTP is a Session Layer (OSI Layer 5) protocol that lies on top of UDP (an OSI Layer 4 protocol). RTP is specifically designed to deliver streaming audio and video content on time and in order. Utilizing UDP for its unreliable time-conscious transmission methods, RTP ensures that packets reach the end node's application both in a timely manner and in the originally intended order.

4.5 THE INTERNET PROTOCOL SUITE APPLICATION LAYER


The IP Suite's Application Layer is where things the common user interacts with come into play. Representing the OSI Reference Model's Layers Six and Seven, the IP Suite has a large number of protocols commonly used on its highest layer.


THE UNIFORM RESOURCE LOCATOR CONCEPT


In order to allow the IP Suite the flexibility to operate using a variety of Transport and Application layer protocols, the need for a uniform way to reference these protocol's resources arises. The IP Suite uses a system known as the Uniform Resource Locator (URL). A URL, as shown in Diagram 5, commonly consists of three parts, but various protocols may have an expanded syntax13 to reflect expanded capability.


The first segment of a URL indicates the Application Layer protocol that will be used for this request. Common examples are http://, https://, and ftp://. The second segment of a URL is an IP address or Host Name14. This tells the IP protocol (OSI Layer 4) the IP (logical) address of the node where the requested resource is located. The third segment of the IP address, indicated in Diagram 5 by the position of the number '80', is the Port Number. The concept of Layer 4 ports is introduced in Section 2.4 of this document. The Port Number in a URL tells the IP protocol the remote port it should attempt to access. Diagram 5 is a URL telling the IP Suite that it should use the HTTP protocol to access the HTTP protocol operating on port 80 of the node located at 127.0.0.1.

HTTP


Possibly the most recognizable protocol yet discussed here, HTTP is the HyperText Transport Protocol. Following the specification of OSI Layer 7, the HTTP protocol is responsible for fetching, sending, and receiving files per the requests of the end user. HTTP is commonly used inside of computer programs called browsers15 to allow for the quick viewing of many filetypes and for ease of navigation among them.


The average person would likely recognize HTTP as being 'those four letters typed at the beginning of a web page address', and would be correct since websites operate primarily on the HTTP protocol. Thus a website's URL might look something like: http://NSGN.net. HTTP typically operates by default on TCP Port 80.


HTTPS


HTTPS operates identically in every way to HTTP except that it encrypts all packets it handles on-the-fly. HTTPS requires an encryption certificate to operate properly. A certificate is a digital document that only the two end users transferring information via HTTPS posses. The certificate contains the encryption/decryption key, thus the only end users able to make use of the information transmitted over the HTTPS connection are the two who hold certificates. HTTPS typically operates by default on TCP Port 443.


FTP


FTP is the File Transfer Protocol. It is a protocol used for the transferring of files between two nodes over a network. While FTP is far from being the only file transfer protocol designed to run on top of the IP Suite, it is one of the first and in many ways is unparalleled. The FTP protocol is commonly used through computer programs known as "FTP Clients". These software applications send and receive FTP commands and present the various information to the user. An FTP session, depending on the software application in use, may sometimes be initiated by a URL beginning with ftp:// . FTP typically operates by default on TCP Port 21.


SSH


SSH is the Secure SHell protocol. Used primarily on business or server computer operating systems, the SSH protocol allows a node to be remotely controlled or administrated. The SSH protocol typically operates by default on TCP Port 22.

4.6SUMMARY OF THE INTERNET PROTOCOL SUITE


Despite the popularity and large user base for the example IP suite protocols discussed here, numerous others exist. The specification is just as open as the OSI Reference Model, because in reality the IP Suite is simply a specification calling for OSI compliant protocols to communicate in the same method. The IP Suite is an excellent example of what is known as a de-facto standard.

13 Syntax; The rules for the construction of a command or statement.

14 Host Name; A unique name that identifies a computer or server on the Internet. In layman's terms, a name that points to an IP address. Host names are used primarily because they are easier for humans to comprehend and remember.

15 Browser; A computing program with a graphical user interface for displaying HTML files, used to navigate the World Wide Web : a Web browser.