毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

网络拥塞控制经典算法RED仿真(6)

时间:2017-06-01 15:27来源:毕业论文
(3)整合性。由于大部分出色的功能都来自于应用程序,所以这个语言的首要目的就是将扩展部件整合或胶合在一起[12]。 下面就 Tcl 与经典的的程序设计


(3)整合性。由于大部分出色的功能都来自于应用程序,所以这个语言的首要目的就是将扩展部件整合或“胶合”在一起[12]。
下面就 Tcl 与经典的的程序设计语言 C++,及Java 做一些比较:
表3. 1 C++,Tcl/Tk 和 Java 的性能比较表
性能         语言
C++    Tcl/Tk    Java
运行程序速度    快    与 C++ 可比    慢

调试难易程度
    复杂
每次修改完代码需重新编译    简单
修改完代码可直接运行    比较简单
修改完代码需重新编译成ByteCode, 而且编译速度很慢
程序代码复杂程度以上面的 grep 为例    
复杂
50 行程序代码    
简明
10 行程序代码    
比较简单
40 行程序代码
系统资源占用情况    200MB HD
32MB Memory    3MB HD
4MB Memory    20MB HD
4MB Memory
代码可文护性
可移植性    好    一般    较好
3.3  Tcl语言基本与法规则
(1)解释器
Tcl的数据结构核心是Tcl_Interp。一个解释器包含了一套命令、一组变量和一些用于描述状态的说明。每一个Tcl命令是在特定的Tcl_Interp中运行的,基于Tcl的应用程序可以同时拥有几个Tcl_Interp。Tcl_Interp结构简单,可以快速地新建和删除。
(2)命令综述
Tcl支支持一种数据结构:字符串(string)。所有的命令、命令中的所有参数、命令的结果以及所有的变量都是字符串。字符串有三种形式:命令(command)、表达式(expression)和列表(list)。
一个命令就是一个字符串(string)。命令使用换行符或分号来分隔的,一个命令有许多的域组成。第一个域是命令名,其他的域作为参数来传递。
域之间通常是由空格分开的。
如果一个参数是有一个双引号开始的,该参数会一直到下一个双引号才结束,其中可以有换行符和分号。
当命令的一个子域以方括号开始并以方括号结束时,表示要进行一个命令子替换。并执行该子命令,用其结果来替换原命令中的方括号部分。方括号中的部分都被视为Tcl命令。
注释和shell很相像,第一个字符是“#”的Tcl字符串是注释。
用美元符“$”进行变量替换,即变量的引用[13]。
3.4  OTcl语言简介
Tcl 是普通的面向过程的脚本语言,OTcl 则是面向对象的脚本语言。不同的脚本语言需要相应的解释器支持才能运行,这就像Java 代码必须由Java 解释器解释,C 语言要有C 的编译器来编译一样。Tcl 和OTcl 都有各自的解释程序。但是OTcl 由于扩展了Tcl 语言,所以OTcl 的解释器同样可以解释运行Tcl 编写的脚本语言。
Tcl 的特点使得OTcl 类型和语法简单,并且易于修改。OTcl 脚本语言可以处理网络场景、对协议进行配置,并且还可以处理程序控制等经常需要改动的地方,适合于上层用户掌握。
 
4  RED网关的仿真及分析
本部分介绍仿真的前期准备工作,包括NS的安装和运行,举例介绍了RED网关的仿真程序,讨论不同网络场景下RED性能的测试和验证,其中RED网关的可选参数按照默认设置,改变网络数据流种类、饱和程度及链接数等可变参数来测试RED网关在不同网络环境下的表现,设计的每个场景都包含至少5个在同一瓶颈链路上竞争带宽的数据流。对每次仿真结果记录其延时、丢包率、吞吐量状态量变化的图表。 网络拥塞控制经典算法RED仿真(6):http://www.youerw.com/tongxin/lunwen_8262.html
------分隔线----------------------------
推荐内容