Relationships between Services

The stack of services depicted in Figure 6.4 gives rise to the term 'Layered Architecture'. The positions of the various services in the stack define the possible relationships between them. For example, a protocol entity in Layer 4 is a user of the Layer 3 service and a provider of a service to Layer 5. It would be illegal for a Layer 4 protocol entity to try to use the service of Layer 5. The OSI model imposes this layering principle in a very rigid way: Many experts consider that this rigidity unnecessarily constrains distributed system design. The DARPA architecture is much more flexible. In this, although the basic hierarchical relationships between layers or modules remain, the additional constraints identified above for the OSI model are not applied. Thus it is possible to have several alternative services at the same level in the hierarchy. As long as the ordering is preserved, it is permissible to omit an intermediate service and map directly into one below. This flexibility makes it especially easy to introduce new types of service and new technologies. Figure 6.9 shows part of the DARPA hierarchy. ESP (Sequenced Exchange Protocol) is an experimental protocol for the support of Remote Procedure Calls which was developed at University College London. It is included here to illustrate the point that alternative protocol stacks are possible within the hierarchy. This flexibility provides justification for calling the DARPA architecture a 'hierarchical, one rather than a 'layered' one. One of the problems facing the designers of distributed systems based on the OSI model is the fact that they are stuck with a set of services and protocols which cannot be altered in any way. Since these were originally designed with the needs of particular applications in mind they are unlikely to be ideal for new application types.