Content text Exam 2 Study Guide
■ Active networking envisioned a programming interface (a network API) that exposed resources/network nodes and supported customization of functionalities for subsets of packets passing through the network nodes. This phase focused on device-level configurations. ● Opposite to the popular belief that the simplicity of the network core was important. ■ 2 programming models in active networking, which differ based on where the code to execute at the nodes was carried: ● Capsule model – carried in-band in data packets ○ By carrying the code in data packets, capsules brought a new data-plane functionality across networks. They also used caching to make code distribution more efficient. ● Programmable router/switch model – established by out-of-band mechanisms ○ Programmable routers made decision making a job for the network operator. ■ Technology push: ● Reduction in computation cost. This enabled us to put more processing into the network. ● Advancement in programming languages. For languages like Java, the options of platform portability, code execution safety, and VM (virtual machine) technology to protect the active node in case of misbehaving programs. ● Advances in rapid code compilation and formal methods. ● Funding from agencies such as DARPA (U.S. Defense Advanced Research Projects Agency) for a collection promoted interoperability among projects. This was especially beneficial because there were no short-term use cases to use to alleviate the skepticism people had about the use of active networking. ■ Use pull: It is interesting to note that the use pulls for active networks in the mid-1990s are similar to those for SDN now. ● Network service provider frustration concerning the long timeline to develop and deploy new network services. ● Third parties added value by implementing control at a more individualistic nature. This meant dynamically meeting the needs of specific applications or network conditions. ● Researchers interested in having a network that would support large-scale experimentation. ● Unified control over middleboxes. We discussed the disadvantage of having diverse programming models which varied not only based on the type of middlebox (for example,