This thesis focuses on the design and analysis of interprocess communication protocols for networks of computers. Previous research has emphasized system performance at lower levels, within the communication medium itself. This work examines requirements and performance of protocols for communication between processes in the Host computers attached to the communication system. Both the reliability and the efficiency of protocols are discussed. Reliability involves overcoming unreliable network transmission facilities to avoid loss, duplication, or out-of-order delivery of data. Reliability performance goals are defined, and the correctness of different protocol mechanisms in achieving these goals is demonstrated. Consequences of protocol failures (Host crashes) and problems of initializing control mechanisms required for reliable communication are also considered.