IP (Internet Protocol)

IP is the central, unifying protocol in the TCP/IP suite. It provides the basic delivery mechanism for all packets sent between all systems on a network or on the Internet. TCP guarantees data will arrive, IP decides how the data will get there. IP specifies packet format and the addressing scheme. What it can’t do is establish the link. It’s usually paired with a higher-level protocol like TCP, so IP just assumes the connection already will be there.

All hosts on a network have a logical, Layer 3 IP address. An IP address designates the location of a device on the network, and information can be routed via those addresses.

IP is connectionless, not connection-oriented. That means it isn’t concerned with reliability. It relies on upper level protocols to ensure the virtual link between hosts.

See 2.8 for more information on IP addressing and the implementation of the latest version of IP, IPv6.

 

TCP (Transmission Control Protocol)

TCP is a host-to-host protocol, which means it enables two hosts to establish a connection and exchange data. Unlike IP, TCP (hint: key concept here) guarantees data delivery AND that the packets will be reassembled (not necessarily delivered) in the same order in which they were sent.

TCP is:

 

It’s TCP’s connection-oriented properties that set it apart from similar protocols, such as UDP (See below). TCP provides error detection and recovery, flow control and guaranteed, reliable delivery of data. But TCP does this at a price. The TCP header is 20 bytes, which means it has more overhead than UDP. It’s slower than UDP. If the choice is between TCP and UDP, you have to decide what you want more, speed or reliability.

 

UDP (User Datagram Protocol)

One of the best ways to understand UDP is to compare it to TCP (see above). UDP is a stream-lined, economy class version of TCP, earning it the nickname “thin protocol,” which means it doesn’t take up much bandwidth on the network.

Here are some points to remember about UDP, and to compare with the points referenced above about TCP:

 

That last point is the best reason why UDP would ever be chosen over TCP. UDP doesn’t offer the assurances of TCP, but does a very good job of getting data from one host to another using fewer network resources to do so. It’s great if guaranteed delivery is not required. UDP is also the better choice over TCP when it is paired with a service (such as NFS ) that contains its own reliability checks.

 

FTP (File Transfer Protocol)

File Transfer Protocol is the protocol that allows a user to transfer files (!).

FTP is the simplest way to exchange files between computers on the Internet. It’s often compared to HTTP (HyperText Transfer Protocol), which transfers web pages and similar files, and to SMTP (Simple Mail Transfer Protocol), which transfers e-mail.

FTP operates as a protocol when employed by applications. However, FTP also operates as a program, which means it can be employed by users to perform tasks. Through FTP, users may access directories and files and do certain kinds of directory operations, such as relocating directories or files. When paired with Telnet, FTP allows for seamless login to an FTP server for file transfer. FTP also offers authentication security.

FTP is limited to listing and manipulating directories, typing file contents, and transferring files between computers. FTP cannot execute remote files as programs.

Click here for a good online guide to FTP.

 

TFTP (Trivial File Transfer Protocol)

TFTP is like FTP in that it facilitates file transfer between computers. The difference is in speed. Where FTP uses TCP, which is reliable but has high overhead (see above), TFTP uses UDP, which offers less overhead and greater speed but is less reliable.

TFTP is a more primitive version of FTP. TFTP will only transfer files. It will not allow the user to browse files in a directory, and there is no security for authentication. This is the protocol of choice for the user who knows what files he wants and exactly where to find them. Its security risks makes TFTP a seldom-used protocol. However, TFTP often is used to download a new Internetwork Operating System (IOS) to a Cisco Router.

Click here for a Cisco article on common problems encountered when using TFTP and here for a Cisco article on loading an IOS.