The Protocols As well as containing TCP and IP the Internet Protocol Suite also has the following protocols:
For the purposes of this document I will only focus on the major ones.
File Transfer Protocol (FTP)
Simple Mail Transfer Protocol (SMTP)
HyperText Transport Protocol (HTTP)
Telnet
Basic Principal Transmission Control Protocol is responsible for breaking data down into "Datagrams" (sections of larger files / messages) and passing them to the IP layer. At the receiving end TCP reassembles the datagrams into the larger file in the process checking for errors and reordering sections that arrive out of order (something that often happens on larger networks). In order to achieve this flow control and error checking TCP attaches "headers" to each datagram. These headers are a lot like headers on the pages of a book they contain information about the current section of data and its purpose.
Octets An octet is a chunk of data eight bits in size. Because of its cross platform use TCP has to have its own "word size", that is it has a set number of bits that make up one chunk. By using an independent size TCP is able to operate on systems that have a byte size other than 8 bits.
The Header Every datagram that TCP sends over the network has a header attached. The header contains information regarding the sender, receiver, size of the next datagram to be sent and where the current one fits into the larger file.
Source and Destination Ports Because the two systems could choose different numbers it necessary to include source port so that the receiving computer knows where to send receipt acknowledgment and the destination port so that the receiving computer knows which conversation the datagram is part of.
Sequence Number TCP does not assign a number to each datagram (eg. 1, 2, 3, 4…). Instead it states how far from the first octet that it begins (eg. 0, 500, 1000, 1500, 2000).
Acknowledgment Number
Window This prevents the receiving computer from being overloaded by the incoming data. It also promotes efficient operation because fewer datagrams are lost because the machine is tied up processing others.
Checksum
Urgent Pointer
Internet Protocol (IP) IP has a simple purpose to get each datagram to its destination. Unlike TCP, IP is concerned with how the datagrams get there. IP breaks up datagrams into smaller pieces called packets. Each packet then has another set of headers added to it. IP uses an addressing system called strangely enough… IP numbers. Each computer on an IP run network has a unique IP number (this rule can be bent). The number is made from four octets each capable of ranging between 0 and 255 but not including them.
Domain Names and IP Numbers Because IP is designed to be a protocol that works over many interconnected networks it needs a system that allows client computers to describe the location of its target which could be separated by many networks. As noted above IP numbers have four sections, each section narrows down the location of the target computer. The first two numbers refer to a larger network like a university or an ISP. The third number refers to anyone of 244 LAN’s within that network. The last number identifies a physical computer connected to that LAN. An IP address: 205.167.0.1 It would be quite difficult to operate a network where each computer is referred to by only a number. This would not make the Internet very user friendly. To get around this problem Domain Name Servers are used. Domain Name Servers are able to take a string of user friendly text such as "www.geocities.com" and return the IP number to the requesting program (usually a web browser) in an invisible fashion.
Routing This is the term used to describe what happens to packets sent through a network. Routing is something that IP specialises in. IP passes packets through each node in the network. Each time a packet arrives at a node the node assesses the best route for the packet to be sent down to get to its target in the fastest most reliable fashion.
The Header Just like TCP each IP packet has its own header attached. It includes the source, destination and error checking facilities.
Only the header items that need explanation are listed below.
Version
Fragment Offset
Time to Live
Protocol
Header Checksum
Source and Destination Address |
![]() |
![]() |