Sunday, August 23, 2009

RFC 793

RFC 793 is the introduction of Transmission Control Protocol, or TCP, as it is currently being used. This document was published in September 1981. This formalized standard that has been in use for the past 30 years. The document provides an overview of the purpose and then drills down into the specifications of how Transmission Control Protocol works. The following is a brief review of this document.

Transmission Control Protocol was developed to provide a reliable connection between hosts. This is accomplished by using an acknowledgement of a received packet. The acknowledgment is only given if the packet was received and the checksum is correct. The destination node will request a new packet if there is a problem. Other than reliability, TCP also has a Basic Data Transfer. This provides a constant flow of packets to the destination. The next facility that TCP has is Flow Control. This allows each end node the ability to control the number of packets being sent. Also, Transmission Control Protocol has multiplexing ability. This allows any nodes to send and receive simultaneously on multiple ports. The next facility that TCP uses is Connections. Both the source and destination nodes create a common link that help provide the reliability of the communication. Precedence and Security are also available but are optional to a TCP connection.

The middle of the RFC deals with the specifications of the header. The header consists of 11 parts. The first two parts of the header are the 16 bits of the source port and the 16 bits of the destination port. The next two sections of the header are the 32 bit sections of the sequence number and acknowledgement number. The acknowledgement number is the sequence number of the next packet. The next part of the header is the 4 bits in the data offset. This indicates the length of the entire header. Following the data offset, there is a 6 bit reserved section which, according to the RFC, is to be set to zero for future use. The next section is the group of six control bits. These are the Urgent Pointer field significant, or URG, the Acknowledgment field significant, or ACK, the Push Function, or PSH, the Reset, or RST, Synchronize sequence numbers, or SYN, and finally the final bit, or FIN. Following the control bits, the 16 bit Window indicts the number of octets that can be sent back to the sender. The next segment is the 16 bit checksum. The final fixed length section of 16 bits is the Urgent pointer. The variable length of the Options section and the padding finish off the header.

The remainder of the RFC describes how the communications works between the source and the destination. This process uses SYN, ACK and the rest of the control bits to establish the connection, communicate, and terminate the connection. The RFC also describes how the protocol handles error processing during communication. These processes are fairly complicated and are would be too much for this blog.

Postel, J. (September 1981). "TRANSMISSION CONTROL PROTOCOL." Retrieved August 19, 2009, from http://www.ietf.org/rfc/rfc0793.txt?number=793

No comments:

Post a Comment