neering The interfaces between layers are defined to be as simple and clear as possible and each layer performs a specific collection of well-understood functions. 6.3.1.2 Protocol Stack The set of layers and their specified protocols are known as a protocol stack. For successful communications both computers have to use exactly the same protocol stack where each layer at both ends complies with the same detailed standard. 6.3.2 Purpose and Value of Layering The purpose of each layer is to provide certain services to the higher layers, shielding those layers from the details of how the provided services are actu- ally implemented. Without this abstraction technique it would be difficult to partition the design of communications hardware and software into smaller manageable design problems, namely, the design of individual layers. This also makes it possible to replace one layer with a new implementa- tion without affecting other layers. Consider, for example, a LAN in which the same software applications may use both token ring and different Ether- net LAN technologies. We illustrate the fundamental idea of the layered pro- tocol structure next with an analogy. Imagine that two philosophers, one in Egypt and one in the Philip- pines, want to communicate remotely (at layer 3 in Figure 6.9). The philoso- phers have a jargon specific to their profession and only another philosopher is able to understand it completely. This corresponds to the protocol of the layer 3. Discussion and understanding of the professional subject Layer 3 Philosopher Philosopher Language agreed by translators Layer 2 Translator Translator Agreement of media and information transfer by engineers Layer 1 Engineer Engineer Agreed communication channel Figure 6.9 Purpose and value of layering. Data Communications Because these philosophers have no common language, they each need a translator (at layer 2). To establish a communications channel, each transla- tor contacts an engineer (at layer 1). When the Egyptian philosopher wishes to discuss so