 Block diagram of the network abstraction layer. abstraction we can introduce new physical network devices more rapidly, reducing both develop- ment costs and time to market. The abstraction layer is intended to be open and to be developed collaboratively to gain industry adoption. The overall network abstraction layer is composed of a common framework that ties together the three key abstraction layer components: protocol abstraction layer, extensions abstraction layer, and driver abstraction layer. Figure 11.12 shows the block diagram of the network abstraction layer. The protocol abstraction layer provides the northbound interfaces to the various management and control systems through use of standard protocols. The framework should allow for the under- lying protocols to be modular and extensible SO that new or upgraded protocols can be introduced without modifications to the underlying network hardware. The extension abstraction layer provides an extension point to interface with disaggregated device features or scriptable device functions. The extension abstraction layer would utilize a standard RESTful interface and can run either as part of the network abstraction layer or in a separate virtual machine or container. Extensions will follow a model-driven architecture to simplify the integration of new capabilities and feature sets. The driver abstraction layer uses a model-driven architecture to relate the device driver SDK* to a common framework and feature set. Drivers will follow a model-driven architecture to simplify the integration of future hardware. AT&T plans to pursue standardization of protocols that will ulti- mately simplify the driver model and create optimizations in the network abstraction layer. As seen in the previous sections, the technology of the access network is evolving and will con- tinue to evolve. The components of the network abstraction layer are designed to allow higher-layer SDN and application functions to be written independently of specific network access functions and hard