Comm Corner Logo
Comm Corner 
Transmission Control Protocol/ Internet Protocol (TCP/IP); How Does It All Fit?  
by John Woody

Alamo PC Organization: HOME > PC Alamode Magazine > Columns > Comm Corner 
;
Have you ever had a burning desire to understand how the Internet handles everything? How all those packet-switched networks move all that data from place to place? How all that data is mixed together, sent, and arrives at its destination in one piece? Of course, we all have wondered how the Internet works. Here is the inside story. 

 The Internet consisting of many networks exist as hardware, wiring, software, and other capabilities which follow standards. The standards guide how the bits (data) are sent from one location to another. The telephone system is a network. Local Area Networks (LANs) are also networks. The bits (data) are packaged differently in each of these networks by the applicable standards for its transmission. Packet-switched data is the primary method of bit (data) movement over data networks. 

 Packet-switched data means that the data is handled in small amounts, with each segment being addressed to the destination. Each packet depends only on the address and does not require that a receiver be connected as the data is moved through the system. Think of packet-switched data as being like mailed envelopes, each with a portion of your letter contained in it. Each envelope is mixed together with all the other envelopes and sent to its destination. 

 The telephone system is the other method of transmitting data. It is known as a circuit switching network. Locally, it is analog in nature, using sounds to transmit its data, and from the central office on, using digital transmission techniques to move the data. 

 Networks are built upon the concept of "layers of service" or the Open Systems Interconnection (OSI) model. There are seven OSI layers which govern what the bits (ones and zeros) are doing at each step of the way. The lower levels function at the physical level, dealing with the wiring and hardware. The middle layers control how the message routing is to take place. The upper layers determine how the message is generated. Each layer controls how the data is handed off the next layer. Figure 1 contains the basic seven layers for the OSI model. All network communication protocols follow some aspect of this model. 

 

TCP/IP Protocol Suite 

The Transmission Control Protocol/Internet Protocol (TCP/IP) suite fits the OSI model at the layer 3-Network (IP), Layer 4-Transport(TCP), and the upper three layers. The upper three layers, Layer 5- Session, Layer 6-Services, and Layer 7-Applications contain the Windows and UNIX utilities such as Telnet, Simple Mail Transfer Protocol (SMTP), Multi-purpose Internet Mail Extension (MIME), Post Office Protocol (POP), File Transfer Protocol (FTP), Network File Services (NFS), Point-to-Point Protocol (PPP), Hypertext transport Protocol (HTTP), and client applications such as e-mail or browsers. The TCP/IP protocol stack works with the Internet applications and utilities to make Internet connections as seamless as possible. TCP/IP is software dependent, not hardware dependent which makes for the seamless nature of its operation. 

 

Internet Protocol (IP)

Keeping with our post office idea, think of the network wiring, telephone lines, and other means of moving data as the trucks and planes which move the mail. Devices called routers are the post office substations which place the e-mail envelopes in the right boxes. All the routers need to know is what the next link or links may be available to the destination address. Like the post office, the Internet must know what the destination address is. We cannot just drop an envelope into the corner mail box and expect it to get to its destination, we have to address the envelope. E-mail must have an address as well. 

 Internet addresses consist of 32-bit dotted decimals set in octets, each less than 256. An example might be 231.5.31.211. Each set of numbers is set off by a period. Numbered addresses work because computers like them. Remember that computers add 1's and 0's. Each computer which is connected to the Internet must have an IP address during the time it is communicating. Some addresses are static, permanently assigned, and others are dynamically assigned, given only when the computer is connected, ie., from home for example. 

 The data being transmitted is broken into packets between one and about 1,500 characters. Each packet is assigned the IP destination address and is sent on its way. This IP address is all that is required at the most basic level. The IP address is sent, ie., routed, to its destination. At each step of the way, the next router looks at the address and sends it to the next stop. Notice i said, at the most basic level. At this level, we are dealing with postcards and we know the destination address route. Problems arise when (1) we do not know the destination route; (2) the envelope is over 1,500 characters in size; (3) some data packets get lost; (4) the packets arrive out of sequence. Remember that IP works at OSI Layer 3- Network level. We need to invoke help for IP from the transport level, OSI Layer 4. We need to assist in the routing process. 

 

Transmission Control Protocol (TCP) 

The Transmission Control Protocol (TCP) protocol is the method for solving the above problems encountered in using IP to directly move data from one place to another. Using the post office analogy and assuming that the post office only accepted letters for transmission, what does one do with a book. We could copy each page, or we could rip each page out of the book; and, mail each page in a separate envelope to our addressee. The addressee would then reassemble the copies or pages to reconstruct the book. Reassembling the book (data) is what TCP does. 

 Remember the packet size limitation, approximately 1,500 characters per packet. TCP breaks the data into packets of this approximate size, sequentially numbers each, places each packet in an "envelope" of its own which contains its address information, and passes it to the IP envelope for final addressing and sending. Now each packet can be sent to the addressee, even out of order, as TCP at the other end reassembles the packets in order before it passes the data to the proper application program using its services. 

 In actual life, packets are distorted, lost, and garbled just like the post office mail can be. TCP is ready for these problems. TCP calculates a checksum for the data in each packet. Checksums are numbers which allows the receiving TCP to test each packet against what was sent and what was received. The checksum number is placed in the TCP address. If the checksum does not match, the receiving TCP dumps that packet and requests a retransmission. The retransmission then send the correct packet to fill in for the bad one. This all takes place in a very short time. Good data transmissions are assured over the network. 

 

Utilities and Applications 

The upper layer utilities and applications come from a mixed bag in that they are a combination of UNIX, DOS, OS/2, and Windows based programs. The Layer- 5, session, and Layer- 6, service OSI utilities are key in making everything seamless for us. Our client applications such as Eudora, Netscape, Internet Explorer, and some of the utilities which reside in Layer- 7, applications, all directly interface with the next layer beneath it for seamless operation. 

 In general, these "applications /or utilities" are what we see on the monitor and transmit our commands through. The protocols written into them complete the TCP/IP connection and what we want to do with it. Applications extend from home developed to proprietary programs and can be single application to swiss army knife multiple use applications such as the latest versions of browsers. 

 It is necessary to lay out all of the Internet standards to show where they reside as protocols . It should also serve as a summary definition of what each does. 

 Protocols - Network Layer and Tasks 
We have covered the function of this layer in the preceding paragraphs. This layer is basic to connecting to the Internet. This is where in the Windows OS environment, we find the Windows Socket connection. 

     Internet Protocol (IP) is an addressing scheme used to identify host and network and is involved in routing tasks. Layer 3. 

     Internet Control Message Protocol (ICMP) is a required part in each TCP/IP setting and sends messages through the network via the IP header. Layer 3. 

     Address Resolution Protocol (ARP) translates IP addresses into physical addresses (network interface card) addresses on the fly. Layer 3. 

     Reverse Address Resolution Protocol (RARP) requests its own IP address by broadcasting its hardware address and receives its request from an RARP server. Layer 3. 

     Routing Information Protocol (RIP) is a routing protocol used at the network layer and performs routing in the host where it resides. Layer 3. 

     Open Shortest Path First (OSPF) is a routing protocol used at the network layer and uses its knowledge of the Internet topology to route messages via the quickest route. Layer 3.

Protocol - Transport Layer and Tasks  
We have also covered TCP thoroughly in the previous paragraphs. This is where we complete our transmissions and the packets are correctly addressed for transmission. I have not discussed the User Datagram Protocol (UDP) since it is not used very often in the Windows OS environment, only in special occasion UNIX OS environments. 
     Transport Control Protocol (TCP) is the transport layer and is very reliable, in that performs retransmissions. Layer 4. 

     User Datagram Protocol (UDP) is also a transport layer protocol. It is unreliable and does not do retransmissions. It has application in Custom Application programs. Layer 4.

Protocol - Session, Service, and Application and Tasks 
It is in layers 5, 6, and 7 that the protocols and applications blur together. These functions were written originally in UNIX and had specific UNIX OS tasks to perform within the network OS environment. 

X Window System (X) is a windowing system which can be done in a multi vendor setting and is a portable, network-transparent window system. Layer 6. 

 Telnet is an application which provides remote logon services. Layer 7. 

 File Transfer Protocol (FTP) provides file transfer capabilities among systems. Layer 7. 

 Simple Mail Transfer Protocol (SMTP) provides electronic mail (e-mail) services for TCP/IP - based users. Layer 6. 

 Multipurpose Internet Mail Extension (MIME) provides services for addition of multimedia e-mail including sound and video. Layer 6. 
Domain Name Service (DNS) resolves destination addresses in a TCP/IP net work. It is an automated method of providing network addresses without having to update host tables manually. Layer 7. 

 Trivial File Transfer Protocol (TFTP) is used to initialize network devices where software must be downloaded to a device. Layer 5. 

 Simple Network management Protocol (SNMP) is a TCP/IP network management tool and is based on an agent, who collects data about a host, and the manager, who keeps status data about hosts working with agents. Layer 5. 

 Network File Server (NFS) is an application that causes remote directories to appear to be part of the directory system to the host which the operator is using. Layer 6. 

 Remote Procedure Call (RPC) is an application that enables a routine to be called and executed on a server. Layer 5. 

 Custom Applications can be written using UDP as a transport layer protocol. If this is done, peer communications can be achieved between applications. Layer 7. 

TCP/IP can operate on enterprise networks and be fully functional. The full IP addressing scheme can be set up and used by the network. TCP/IP networks require that all participating hosts have TCP/IP operating on them. Each host must be linked directly or indirectly to a common link. 

 This TCP/IP network must have a valid IP address to the rest of the world if it is to be connected to the Internet. This means that the router or server which is connected to the Internet must have an InterNIC assigned valid IP address to connect it to the next level. 

 

Domain Name System

The Domain Name System (DNS) places a name on the numbered IP addresses. It corroborates and automatically updates name servers on the Internet. The DNS structure is organized into groups called domains which are governed from a ROOT directory. Each domain governs those IP addressees which are in the zone beneath it. Domain name addresses are read from the right to the left, ie., .com, .gov, .edu, .mil, .org, .net, or .us, for country origination. 

 In theory, a name server contains a list of aliases and IP addresses of hosts taking part in the network. TCP sends a query to local cashe first, then to the name server. If no match if found, the name server sends a request to another name server from its database to resolve the "no match". This is repeated until a match is found, or there is no IP address on the Internet. Matches cause the data to be delivered. No match returns an error message stating that the IP address does not exist. 

 

Conclusion

Now we have satisfied that burning desire to understand TCP/IP. The TCP/IP protocol suite is rapidly becoming the protocol of choice in all networks. It is displacing the Novell NetWare and other proprietary NOS. In fact, most of the proprietary NOS have either gateways or direct program modules which allow TCP/IP to be run on their NOS. Its seamless operation between unlike machines make it indispensable when the network covers wide areas or remote locations or connect to the Internet. We all must have TCP/IP to connect to the Internet. 

 JOHN WOODY IS A TELECOMMUNICATIONS CONSULTANT SPECIALIZING IN SMALL BUSINESS COMMUNICATIONS, NETWORKS, AND INTERNET BUSINESS TRAINING.