[Click] how can i measure MLFFR
=?gb2312?q?=88=D2=20=D4=F8?=
zengkun301 at yahoo.com.cn
Thu Jun 29 07:25:09 EDT 2006
Hi everyone,
I am experimenting in measuring the maximum loss-free forwarding rate(MLFFR).MLFFR measured in the paper "The Click Modular Router,ACM Transactions on Computer Systems, Vol. 18, No. 3,pp.263-297" is 330,000 packets/s.
My experiement environment is like this:the computer 2 acts as a router.
computer 1<->computer 2<->computer 3
computer 1 eth0:ip 192.168.18.11 ethernet Address:00:10:5c:cd:7b:88
computer 2 eth0:ip 192.168.18.1 ethernet Address:00:02:2a:dc:44:d6
eth1:ip 192.168.0.1 ethernet Address:00:10:5c:cd:7b:f5
computer 3 eth0:ip 192.168.0.11 ethernet Address:00:10:5c:cd:7b:9d
and the configuration of computer 1 :
/***********************************************/
FastUDPSource(100000,1000000,64,00:10:5c:cd:7b:88,192.168.18.11,50,
00:10:5c:cd:7b:9d,192.168.0.11,50)
->ctr::Counter
->ToDevice(eth0);
s::Script(
label begin_loop,
wait 1,
read ctr.rate,
goto begin_loop $(lt 1 2),
stop);
/***************************************/
and the configuration of computer2 is:
/***************************************************/
// eth0, 00:02:2a:dc:44:d6, 192.168.18.1
// eth1, 00:10:5c:cd:7b:f5, 192.168.0.1
c0 :: Classifier(12/0806 20/0001,
12/0806 20/0002,
12/0800,
-);
c1 :: Classifier(12/0806 20/0001,
12/0806 20/0002,
12/0800,
-);
FromDevice(eth0)->str1::Counter->c0;
FromDevice(eth1)->c1;
q0::Queue(10000)-> ToDevice(eth0);
q1::Queue(10000)->str2::Counter-> ToDevice(eth1);
arpr0 ::ARPResponder(192.168.0.1/24 00:10:5c:cd:7b:f5,
192.168.18.1/24 00:02:2a:dc:44:d6,
192.168.0.11/24 00:10:5c:cd:7b:9d,
192.168.18.11/24 00:10:5c:cd:7b:88)->q0;
arpr1 ::ARPResponder(192.168.0.1/24 00:10:5c:cd:7b:f5,
192.168.18.1/24 00:02:2a:dc:44:d6,
192.168.0.11/24 00:10:5c:cd:7b:9d,
192.168.18.11/24 00:10:5c:cd:7b:88)->q1;
arpq0 ::ARPQuerier(192.168.18.1, 00:02:2a:dc:44:d6);
arpq1 ::ARPQuerier(192.168.0.1, 00:10:5c:cd:7b:f5);
rt::StaticIPLookup(192.168.18.1/32 0,
192.168.18.255/32 0,
192.168.18.0/32 0,
192.168.0.1/32 0,
192.168.0.255/32 0,
192.168.0.0/32 0,
192.168.18.11/24 1,
192.168.0.11/24 2,
0.0.0.0/0 192.168.18.1 1);
strip0::Strip(14);
strip1::Strip(14);
// Deliver ARP responses to ARP queriers as well as Linux.
c0[0] -> arpr0;
c1[0] -> arpr1;
t::Tee(2);
c0[1] -> t;
c1[1] -> t;
t[0] -> [1]arpq0[0]->q0;
t[1] -> [1]arpq1[0]->q1;
c0[2] -> strip0;
c1[2] -> strip1;
strip0->CheckIPHeader->GetIPAddress(16)->rt;
strip1->CheckIPHeader->GetIPAddress(16)->rt;
rt[0]->Discard;
rt[1] -> DropBroadcasts
-> gio1 :: IPGWOptions(192.168.18.1)
-> dt1 :: DecIPTTL
-> [0]arpq0;
rt[2] -> DropBroadcasts
-> gio2 :: IPGWOptions(192.168.0.1)
-> dt2 :: DecIPTTL
-> [0]arpq1;
dt1[1] -> ICMPError(192.168.18.1, timeexceeded) -> [0]rt;
dt2[1] -> ICMPError(192.168.0.1, timeexceeded) -> [0]rt;
gio1[1] -> ICMPError(192.168.18.1, parameterproblem) -> [0]rt;
gio2[1] -> ICMPError(192.168.0.1, parameterproblem) -> [0]rt;
c0[3] -> Discard;
c1[3] -> Discard;
s::Script( label begin_loop,
wait 1,
read str1.rate,
read str2.rate,
read str1.count,
read str2.count,
goto begin_loop $(lt 1 2),
stop);
/****************************************************************/
my experiment result is that the maximum of the input rate of computer 2 is 70,000 packets/s. How can I deal with it?
__________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com
__________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com
More information about the click
mailing list