Abstract People working in Computer-communication networks usually distinguish between the entire system and the communications subnet. The former includes the latter plus the terminals, devices and computer intercommunication via the subnet. This logically includes the resident processes that control or interface with the subnet. Greater computer communication network reliability can obviously be achieved by maximizing the reliability of its constituent components i.e. hardware, software, and communication network. The network reliability can be improved by exploiting the redundancies that are either inherent due to network topology or can be provided in the network. This paper presents a comprehensive discussion of issues involved and trends prevailing in producing reliable hardware; reliable software; and reliable computer communication network while reviewing techniques available for preventing, detecting, diagnosing, correcting and recovering from malfunctions.