sical media such as an RS232 cable. Layering breaks a large program into a series of smaller and more manageable tasks. Layering also isolates one layer from another layer. Layering and routing a message flows through an intermediate node the data will flow only through the lower-level processes involved One reason that protocols vary from layer to layer is with their transmission. because the services offered by each layer to successive layers progress from concrete, bit-oriented services to Protocol stacks more abstract, higher-level services for data objects. But protocols differ for another important reason: The lower The layering of programs gives rise to layers of protocols, layers communicate across a single link, while the upper often called "protocol stacks" or "protocol suites," that layers must communicate with peers to which the link is define a communications standard. Anything or anybody indirect, that is, through other nodes. that communicates must share a common protocol with The bit-stream-oriented protocol at the lowest level that with which it communicates. Programs that com- supports simple streams of bits flowing between two municate with one another using the same protocol are points. Because the only language understood at this level called peers. Peer programs at each layer provide service is "0" and "1," the protocol recognizes only peers to to the next higher layer, and use the services of the next which it is directly connected by the physical link across lower layer to perform their assigned function. As with which the bits flow. It simply has no way of addressing services, the lowest-level protocol deals with bits; the anyone else, and that's not its job anyway. highest-level protocol deals with complete data struc- If communications between peers at all levels were tures or objects that are ready to be used by an applica- bound by this restriction, communication possibilities tion program or displayed to a user. would be extremely limited. But a program at a higher level can invoke s