The development of communication protocols for computer networks and distributed systems is an increasingly complex and cost-sensitive process. This paper presents an object-oriented concurrent (OOC) model for the development of communication protocols. This model consists of three kinds of entities: data entities, which represent the communicated data units, state entities, which describe their behavior, and connection entities, which are responsible for communication services. The state transitions in a protocol are modeled by using state entities, and a communication service is performed by a group of connection and state entities. A C++ library based on our OOC model is described that contains three class hierarchies, for data, state, and connection entities, respectively. In addition, an approach to constructing a protocol using this OOC model and the library is presented. An example in which a T.62 protocol is constructed shows that this approach provides a high level of modeling, concurrency, and reusability.