摘要:通信工程师考试培训主动网络实现方式:这里,主动程序将分别插入可编程的主动节点,与实际的数据包相分离,并可以在网络中传输。用户可以将程序发送至网络节点(交换机、路由器),在节点中被存储,然后当数据抵达节点时执行程序,对数据进行处理。
2.2.3 主动网络实现方式
主动网络的实现可分为离散型和集成型。
离散型是将主动程序的处理与数据代码的分发作为两种独立的机制。这里,主动程序将分别插入可编程的主动节点,与实际的数据包相分离,并可以在网络中传输。用户可以将程序发送至网络节点(交换机、路由器),在节点中被存储,然后当数据抵达节点时执行程序,对数据进行处理。数据中包含引导节点如何处理或处理哪些程序的信息。这种基于可编程交换节点(Programmable Switch)的离散方案,如Switch Ware体系结构,适合于面向连接的网络。
集成型是将一段程序与数据组成一个封装体,然后发送到网络?当这典包到达主动节点时,主动节点将解释这些程序,然后处理包内的数据。这种基于封装(Capsule)的集成方案.如Active Ware体系结构,主要应用于面向无连接的网络。
当然,也有将这两种实现方式相结合的方法,目前已被宾夕法尼亚大学开发的主动网络编程语言(Programming Languagefor Active Network,PLAN)采用。
主动网络的实现建立在对主动网络体系结构框架和主动网络使能技术的研究基础上,目前已有数所大学研究并实现了不同的主动网络体系结构,并开发出了能够成功运行主动应用程序的NodeOS和EE。还有些大学利用已开发出的主动网络基础结构来测试并实现了新的主动程序。
1)ANTS与PAN
ANTS(ActiveNodeTransportSystem)工具包是由麻省理工大学在封装(Capsule)模型的基础上开发出来的主动网络T.具。每个封装包含一个以宇节编码的Java程序和用户数据净荷。ANTS的网络应用程序接口包含一个扩充了ANTS类的Java虚拟机,执行对封装进行译码和解释的功能。
首先,包识别出它们的类型和协议,当包抵达节点时,它检查自己的缓存,观察所需的代码是否出现。如果没有出现,则要求上一个节点为当前节点发送代码。当上一个节点收到它可以响应的负载请求时,它将马上发送。当前的节点收到负载请求时?它将这些负载加载到自己的缓存中,然后对等待的包执行所需的操作。这是一种有效的具有鲁棒性的机制,从而使节点能充分利用主动网络的优点。
最近,麻省理工大学又开发出了PAN(PracticalActiveNetwork〉主动网络系统,用于实现可实际使用的基于封装的主动网络。PAN的体系结构与ANTS非常类似,但它的性能更适于实际的应用。PAN的体系结构可以支持多种移动代码系统。用主动节点内核执行本地代码转发封装的试验表明,其发送1500字节的数据包时的速度可以使100Mbit/s的快速以太网达到饱和,而只比传统网络节点处理每个数据包的时间多出13%,SwitchWare项目宾夕法尼亚大学开发的SwitchWare项目是另一个主动网络的实现原型,它向用户提供了两层编程接口。下面一层是主动分组层,主动分组与ANTS中的封装囊相类似,它们携带着少ft程序代码用以激活由上一层,即主动扩展机制层所支持的驻留节点的服务例程。主动扩展机制层常驻节点内部,是由系统管理员或授权用户安装的。主动分组层是用PLAN和Calm语言开发的,而主动扩展机制层是由Calm语言开发。Calm程序能够被动态载人(按照需要从网络上或从本地磁盘安装)到SwitchWare主动节点。
2)PLANET
PLAN语言是宾夕法尼亚大学开发的第一种主动分组语言,而后该大学又开发出了SNAP(SafeandNimbleActivePackets),这种语言被设计用来提高PLAN的灵活性、高效性及安全性。研究者旨在找到保护节点的整体性,并对节点提供保护及安全的资源控制的方法,以期建立第一个实际投人使用的主动分组系统。
该大学的主动网络试验床叫做PLANet,是一种以主动网络为基础的“主动互联网”。它以100Mbit/s以太网为链路层,也可以用IP作为链路层。PLANET的早期开发使用PLAN语言,有相当大的延迟。智能包或网络基础结构中的额外代码,和因此而带来的计算开销的增长造成了网络性能的下降。与PLAN相比,SNAP则展示了其性能的优越性,在ping的延迟和吞吐量测设中与IP网络相当。
3)Bowman和CANE
乔治亚大学研究开发出了Odyssey软件包,由Bowman主动网络操作系统和CANE执行环境两部分组成。Bowman建立在一个标准的传统操作系统基础上,作为实现CANE执行环境的平台。以插槽处理模型为基础的CANE执行环境包括两部分:一部分是固定的承栽程序,它是一个运行时可重定位的模块,由主动节点管理器负责装载。承载程序为包提供处理平台,可以看做是一个全局操作的模板;另一部分是可变的嵌人程序,嵌人程序支持用户主动代码的定制。承载程序中供嵌人程序运行的特定点叫做插槽(Slot),用户将定制程序与这些插槽相连接。
4)其他
除此之外,还有一些机构也参与了主动网络的研究。例如哥伦比亚大学研究开发了NetScript.NetScript语言提供了一种处理分组流的脚本语言,NetScript代理能够较容易地被发送到远端系统,比如路由器和交换机.使这些节点可编程。
另外还有BBN技术组的智能包(SmartPacket),能够利用主动网络技术以助于网络的管理问题。
在大多数情况下,主动网络的实现采用离散型实现机制,如ANTS和PAN。离散型机制的性能要优于集成型机制,因为在网络中传输的控制信息达到了最小化。PAN实现模型从本质上讲是ANTS实现模型的内核,它使用了本地代码,有较高的性能,但在资源管理和安全上却比较薄弱。可以这样说,要在主动网络上同时具有较高的性能、安全性和互操作性,关键在于要有一种短小的、可嵌人的、高性能的移动代码系统。
返回目录:
编辑推荐
通信工程师备考资料免费领取
去领取