This document provides information about communication protocol engineering. It begins with an introduction to communication models and their key subsystems. It then discusses network reference models and the OSI model in particular. The document covers topics like communication software, protocols, formal modeling techniques for protocols including finite state machines and Petri nets. It also discusses the phases of protocol engineering like specification, validation, implementation etc. and compares informal vs formal approaches to protocol design and development.