自己多google就能丰衣足食。
看你是新人处女贴,帮你次

QUOTE:Nist Net网络模拟器
NISTnet是一款Linux®下的网络模拟软件,它能让Linux服务器像路由器一样模拟各种网络条件,如拥塞丢失,包重排序,或者带宽非对称等情况。NISTnet有一个基于X的用户接口,它也是Linux的核心模块扩展。作为一种工具,在NISTnet上可以进行可控的,可重复的实验,这些实验 可以是网络特性敏感/自适应的应用,也可以通过简单的实验室环境设定控制协议。NISTnet工作在IP层时能模拟被不同广域网环境影响后的端到端的临界 性能特性。NISTnet也支持用户对系统附加的自定义分组管理。图1所示是NISTnet的典型配置。
安装准备:
下载 nistnet.2.0.12b.tar.gz
http://snad.ncsl.nist.gov/nistnet/ nistnet.2.0.12c.tar.gz
http://snad.ncsl.nist.gov/nistnet/ (Nistnet是运行在linux平台下的,目前有2.0.12b和c两个版本,具体安装哪个版本要视linux内核而定,2.4.**以下的用b,2.6.**的用c,千万别安错了;kernel 2.6.*下问题比较多,不太好搞。)
以下就以Red Had 9做个例子
一.安装系统
安装有kernel 2.4.**的linux,硬盘如果够大,建议linxu模块全部安装,大约5G+;免的出错。
二.安装NISTnet
(1)安装NISTNET前重新生成新内核(因为NISTNET的新版本用RTC-real time clock,以前老版本用fast timer,RTC更稳定)
open CLI:
cd /usr/src/linux2.4.20-8 (where is the kernel)
make mrproper /*删除不稳定的.O文件和.config配置文件*/
make menuconfig /*调出修改内核工具*/
to make sure:
Loadable module support -->
Set version information no all module symbols --off
Character devices -->
Enhanced Real Time Clock Suppot --M /*按M键,设置这两项*/
make dep /*连接程序代码和函数库*/
make clean /*删不必要的模块*/
make bzImage /*生成内核文件*/
cp /usr/src/linux2.4.20-8/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-8_new
make modules /*编译外挂模块*/
make modules_install /*安装编译完成的模块*/
make install /*把新的内核和相关文件复制到正确的目录,并修改grub.conf文件,在grub 菜单会添加一个新的内核启动选项,也可以自己修改,把原来的内核注释掉就行了(我就不演示了!~)*/
Reboot
注意:从新内核引导;当重启过程中出现让你选择kernel 的选项时要选择最新编译过的,就是最上面的那个。
(2)安装NISTNET
cd ~./nistnet
./configure
make
make install /*安装完成,如果没有错误就下一步*/
(3)测试安装是否成功
cd ~./nistnet
./Load nistnet
cnistnet –u /*加载模块*/
&也可使用图像窗口,xnistnet –u
cnistnet –a 192.168.1.1 192.168.2.2 --drop 10 --delay 1000
注意:网络抖动设置应该是 --delay 100 50 (后面加一个时延的左右浮动值就行了)
DRD的单位和准确性找不到相关的资料,有那位有资料发我mail :
zw.passme@yahoo.com.cn/********************************************
以下为NISTNET 的命令,先学习一下
[root@localhost root]# cnistnet -h
cnistnet: invalid option -- h
Usage: cnistnet <options> - must be root to run it.
-u up (on)
-d down (off)
-a src[:port[.protocol]] dest[:port[.prot]] [cos] add new
[--delay delay [delsigma[/delcorr]]]
[--drop drop_percentage[/drop_correlation]]
[--dup dup_percentage[/dup_correlation]]
[--bandwidth bandwidth]
[--drd drdmin drdmax [drdcongest]]
-r src[:port[.prot]] dest[:port[.prot]] [cos] remove
-s src[:port[.prot]] dest[:port[.prot]] [cos] see stats
-S src[:port[.prot]] dest[:port[.prot]] [cos] see stats continuously
[-n] -R read table (-n numerical format)
-D value debug on (value=1 minimal, 9 maximal)
-U debug off
-G global stats
-K kickstart the clock
-F flush the queues
-h this help message
*****************************************************************/
三.LINUX路由设置
至此,我们的NISTNET已经安装OK!下面进行LINUX路由设置:
Linux环境下双网卡主机
(1)、环境:
三台直接相连的计算机主机如图
CLINET 1<------>NISTnet<------>CLINET 2
其中NISTnet上有两块网卡eth0、eth1,分别与CLINET 1、CLINET 2相连
------代表网线
(2)、需求:
将NISTnet配置为路由器模式,用来在CLINET 1、CLINET 2之间转发报文
(3)、方法:
将三台主机按照环境所要求用交叉线直接连网后,为三台主机分配网段并配置IP地址。
网段及IP地址分配如下:
主机名 所在网段 分配IP 网关
CLINET 1: 192.168.2.0/24 192.168.2.2/24 192.168.2.1
NISTnet: 192.168.2.0/24 eth1:192.168.2.1/24 eth0 (可以通过Xwindows设置)
192.168.1.0/24 eth0:192.168.1.1/24 eth1 (可以通过Xwindows设置)
CLINET 2: 192.168.1.0/24 192.168.1.2/24 192.168.1.1
按照上表所示分别将主机IP地址配置好,其中要注意的是,要想使NISTnet具有报文转发功能,
在NISTnet上检查/proc/sys/net/ipv4/ip_forward中的值是否为1
命令:
#cat /proc/sys/net/ipv4/ip_forward
如果显示其值不为1而是0 输入以下命令:
#echo 1 > /proc/sys/net/ipv4/ip_forward /*打开IP转发功能*/
(4)、验证:
CLINET 1:
ping网关
#ping 192.168.2.1
#ping 192.168.1.1
ping CLINET 2:
#ping 192.168.1.2
CLINET 2:
ping网关
#ping 192.168.1.1
#ping 192.168.2.1
pint CLINET 1
#ping 192.168.2.2
上面的都ping通就一切OK了!~~~~
更多细节参见
http://snad.ncsl.nist.gov/nistnet/