主动网络是一种中间节点可编程、可以根据功能需求动态扩充的新型网络结构。在传统网络中,网络设备的功能和协议是由制造商在出厂前预设好的,一旦网络设备部署后,除非更换硬件或者通过固件升级,否则无法改变其功能。然而,在主动网络中,中间节点可以动态地编程或修改,这使得网络协议的调试和部署变得更加方便和灵活。例如,可以将用户或管理员编写的主动程序和主动服务通过网络驻留到网络设备上运行,以实现对网络设备的及时升级和程序更新。
在主动网络的背景下,执行环境变得尤为重要。执行环境是主动网络中各种应用、移动代码编制、管理和运行的基础。它能够为运行于网络中的主动程序提供必要的运行环境和所需的服务。本文提出了一种可以同时运行多版本主动程序和驻留多版本主动服务的主动网络执行环境。在这个执行环境中,网络节点的功能易于扩充和升级,而且主动程序通过执行环境提供的接口能够访问自己所需要特定版本的主动服务程序。执行环境对不同版本的主动服务程序同时运行进行管理和版本名映射,以支持不同版本的同一个主动程序和服务的并发执行。
主动程序和主动服务的概念是主动网络中的两个核心组件。主动程序是被包含在主动包中的程序,它可以在主动包通过主动节点时运行,并调用主动节点提供的各种服务,访问资源。而主动服务则驻留在主动节点上,提供特定功能,可以是后台程序或者是一个程序包,被主动程序调用。
在实际应用中,由于网络应用的逐步增多,网络中各个节点上可能驻留的主动服务的版本不一致,同时传输中的主动包里所包含的主动程序版本也可能不同。由于主动程序可能需要调用特定版本或兼容版本的主动服务,不同的主动程序在同一个主动节点上运行时可能要求不同版本的主动服务,因此,主动节点需要支持多版本主动服务并发执行和驻留,以确保各种主动程序和服务的正常运行。
在网络协议方面,传统的协议设计遵循端到端原则,该原则提出网络计算或功能放置问题,对层次协议的设计起到了很大的作用。然而,随着网络设备性能的提升和网络协议发展的迟缓,主动网络通过中间节点的可编程性,改变了网络计算或功能的放置,计算可以动态部署到执行环境中执行。
主动网络的提出和发展,提供了网络协议动态部署和升级的可能性,其核心思想在于允许网络中间节点的可编程性,从而增强了网络的灵活性和动态调整能力。它解决了传统网络协议标准化导致的更新迟缓问题,并能更好地适应快速变化的网络应用需求。主动网络通过将网络设备编程能力开放给用户和管理员,使得网络协议的调试和部署更加便捷,同时降低了网络设备更换的成本。
主动网络执行环境的研究对于实现网络功能的动态更新、增强网络的可编程性具有重要意义。未来的研究可以继续深入探讨主动网络执行环境的实现机制、如何高效地管理不同版本的主动服务程序以及如何确保网络安全等问题。随着技术的发展,主动网络执行环境有望在云计算、物联网等新兴领域发挥更大的作用,推动网络技术的进一步发展和创新。