Network Compartmentalization, the division of network functionality into network compartments, is an important concept of Autonomic Networking.
Network Compartments implement the operational rules and administrative policies for a given communication context. The boundaries of a communication context, and hence the compartment boundaries, are based on technological and/or administrative boundaries. For example, compartment boundaries can be defined by a certain type of network technology (e.g., a specific wireless access network) or based on a particular communication protocol and/or addressing space (e.g., an IPv4 or and IPv6 network), but also based on a policy domain (e.g., a national health network that requires a highly secure boundary).
A compartment's communication principles, protocols and policies form a sort of “recipe” that all compartment entities must obey. For example, the recipe defines how to join a compartment, who can join, and how the naming, addressing and routing is handled. The complexity and details of the internal operation is left to each compartment. For example, registration with a compartment can range from complex trust-based mechanisms to simple registration schemes with a central database or a public DHT-based system; resolution of a communication peer can be handled implicitly by the compartment's naming and addressing scheme or require explicit actions (e.g., resolution of an identifier to a locator). It is important to note here that compartments have full autonomy on how to handle the compartment's internal communication – i.e. there are no global invariants that have to be implemented by all compartments or all communication elements.
Members of a compartment are able and willing to communicate among each other according to compartment's operational and policy rules. Conceptually a compartment maintains some form of implicit database which contains its members; that is, each entry in the database defines a member. Before one can send a data packet to a compartment member, a resolution step is required which returns a means to “address” the member. Note that the above definition does not specify whether a member is a node, a set of servers or a software module. This rather abstract definition of compartment membership permits to capture many different flavours of members and communication forms.
It is anticipated that many compartments co-exist and that compartments are able to interwork on various levels (e.g. through "layering" or "peering" of compartments).