Re: [ns] need help with MTE and LEACH

2008-09-30 Thread Youngmin Kim

Hi. Nguyen Lan
I think you already solved this problem.
But.. just short comment..

1. In Application/MTE instproc send_now {}, change the following.
[$self agent] set dst_ $mac_dst == [$self agent] set dst_addr_ $mac_dst

2. To prevent collisions around BS, change the following in file mte.tcl.
set opt(ra_mte)   0.01 == set opt(ra_mte)   1.01

Thanks..

2007/6/27 Nguyen Lan [EMAIL PROTECTED]


 Hello,

 Did anyone try with  LEACH for ns2.27 from
 (http://www.internetworkflow.com/downloads/ns2leach/mit.tar.gz). I did
 installed it but now I got problem with MTE. If you did try with this,
 please drop some lines to me.

 Thank you.
 Nguyen




Re: [ns] MIP Handover and ARP in ns-2.28

2007-04-27 Thread Youngmin Kim

Hello.
This is some different story..
After I changed routing protocol from DSDV to AODV, I experienced zero
handover time..
I hope this helps you..

2006/5/23, altaf hussain [EMAIL PROTECTED]:

 Hi Users. I hope al of u would be OK. I have been working on Mobile IP v4 
 implemented in ns-2.28. There is a bug in the implementation of Mobile IP in 
 ns2 and that have been reported by Michal in AUGUST 2005.
   The modifications indicated by Michal are infact confusing me.
   The function to get the current mobile node  get_node_michu() is giving 
 problems while compiling.
   I am posting the modificatins done by Michal. Can any one really give me a 
 better and working modification in ns-2.28
   Thanks

   Michal

 PS. Below there is ll:recv() function with my modifications.

 _/*
 This shall be added in arp.cc
 MobileNode*
 ARPTable::get_node_michu()
 {
 return node_;
 }
 */

 void LL::recv(Packet* p, Handler* _/*h*/)
 {
 hdr_cmn *ch = HDR_CMN(p);
 hdr_arp *ah = HDR_ARP(p);
 hdr_mip *miph = hdr_mip::access(p);
 hdr_ip *ip_h = hdr_ip::access(p);



 //char *mh = (char*) HDR_MAC(p);
 //struct hdr_sr *hsr = HDR_SR(p);

 _/*
 * Sanity Check
 */
 assert(initialized());

 //if(p-incoming) {
 //p-incoming = 0;
 //}
 // X NOTE: use of incoming flag has been depracated; In order to track
 direction of pkt flow, direction_ in hdr_cmn is used instead. see packet.h
 for details.

 // If direction = UP, then pass it up the stack
 // Otherwise, set direction to DOWN and pass it down the stack
 if(ch-direction() == hdr_cmn::UP) {
 //if(mac_-hdr_type(mh) == ETHERTYPE_ARP)
 if(ch-ptype_ == PT_ARP){


 if(ah-arp_spa == 4194305) // I mean Mobile Node's IP here. Not very
 elegant way to do it
 {
 if(licznik  10)
 {
 nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
 IP addr
 nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
 arptable_-arprequest(src_arp, dst_arp, this);

 licznik++;
 //printf( src_arp %d\n, src_arp);
 //printf( dst_arp %d\n, dst_arp);
 //printf(arprequest %d\n, licznik);
 }
 }

 if(ah-arp_spa == 4194304) // I mean Mobile Node's IP here. Not very
 elegant way to do it
 {
 if(licznik2  10)
 {
 nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
 IP addr
 nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
 arptable_-arprequest(src_arp, dst_arp, this);

 licznik2++;
 //printf( src_arp %d\n, src_arp);
 //printf( dst_arp %d\n, dst_arp);
 //printf(arprequest %d\n, licznik);
 }
 }

 if(ah-arp_spa == 8388608) // I mean Mobile Node's IP here. Not very
 elegant way to do it
 {
 if(licznik3  10)
 {
 nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
 IP addr
 nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
 arptable_-arprequest(src_arp, dst_arp, this);

 licznik3++;
 //printf( src_arp %d\n, src_arp);
 //printf( dst_arp %d\n, dst_arp);
 //printf(arprequest %d\n, licznik);
 }
 }


 arptable_-arpinput(p, this);
 //printf(arpinput %d\n, licznik);
 }
 else
 {

 if((miph-type_ == MIPT_REG_REQUEST) || (miph-type_ == MIPT_REG_REPLY) ||
 (miph-type_ == MIPT_SOL)) //in FA
 {
 nsaddr_t src = arptable_-get_node_michu()-address(); // this host's IP
 addr
 nsaddr_t dst = miph-ha_;   //Home Address of Mobile Node
 arptable_-arprequest(src, dst, this);

 //uptarget_ ? sendUp(p) : drop(p);
 //printf( src %d\n, src);
 //printf( dst %d\n, dst);
 //printf(uptarget_ MIPT_REG_REQUEST\n);

 }


 uptarget_ ? sendUp(p) : drop(p);
 //printf(uptarget_\n);

 }
 return;
 }


 if((miph-type_) == MIPT_REG_REQUEST)
 {
 //double local_time = Scheduler::instance().clock();
 //printf( local_time MIPT_REG_REQUEST %.9f\n, local_time);

 // printf(MIPT_REG_REQUEST %d \n,
 arptable_-get_node_michu()-address());
 nsaddr_t src_down = 4194305;
 //arptable_-get_node_michu()-address(); // this host's IP addr
 nsaddr_t dst_down = miph-coa_;//miph-coa_;
 arptable_-arprequest(src_down, dst_down, this);
 }
 else if((miph-type_) == MIPT_ADS)
 {
 //double local_time = Scheduler::instance().clock();
 //printf( local_time MIPT_REG_REQUEST %.9f\n, local_time);

 nsaddr_t src_down = 4194305;
 //arptable_-get_node_michu()-address(); // this host's IP addr
 nsaddr_t dst_down = miph-coa_;
 arptable_-arprequest(src_down, dst_down, this);
 }

 _/*
 nsaddr_t src_down = 4194305;
 nsaddr_t dst_down = 8388608;
 arptable_-arprequest(src_down, dst_down, this);

 nsaddr_t src_down = 8388608;
 nsaddr_t dst_down = 4194305;
 arptable_-arprequest(src_down, dst_down, this);

 nsaddr_t src_down = 8388608;
 nsaddr_t dst_down = 4194304;
 arptable_-arprequest(src_down, dst_down, this);
 */


 double local_time = Scheduler::instance().clock();
 if(local_time  13)
 {
 printf( time %.9f node %d packet %s\n, local_time,
 arptable_-get_node_michu()-address(), packet_info.name(ch-ptype()));
 }


 ch-direction() = hdr_cmn::DOWN;
 sendDown(p);
 }



 -
 New Yahoo! Messenger with Voice. Call regular phones from your 

Re: [ns] MIP - Too long handover time

2007-04-27 Thread Youngmin Kim

Hello.
This is some different story..
After I changed routing protocol from DSDV to AODV, I experienced zero
handover time..
I hope this helps you..

2005/9/27, Michal Lewandowski [EMAIL PROTECTED]:

 Hi all,

 I'm doing some experiments with Mobile IP and I think I found a serious
 problem.

 I'm using standard tcl file and I see that the time of handover is much to
 long.

 After investigations I found out that handover ends when packet message
 is called.

 I thing this is an ARP packet. When I set traffic to the Mobile Node I
 managed to solve this problem by calling arprequest() function by Foreign
 Agent every time MN tries to register.

 The problem is when traffic is up, I mean when MN is a source. I tried
 calling arprequest() in several combinations, but with no positive results.

 Does anybody know what is going on with this simulator (I'm using ns2-28).
 Why this problem occurs at all? And how to solve it? I think everyone
 working with Mobile IP is in the same situation. Or aybe this ARP problem is
 well known, maybe updating ARP table after registration request is not in
 the standard, it is not a part of basic SUN's MIP model?

 Thanks for help,

 Michal


 
 SIN CITY - Miasto Grzechu. Najnowszy film Rodrigueza
 i Tarantino w wypożyczalniach DVD i wideo!
 http://klik.wp.pl/?adr=www.film.wp.pl%2Ffilm.html%3Fid%3D24839%26h%3D1sid=516






Re: [ns] MIP - Too long handover time

2007-04-27 Thread Youngmin Kim

I'm sorry...
You can get zero handover time only when wired node sends udp traffic
to wireless node..

2007/4/27, Youngmin Kim [EMAIL PROTECTED]:
 Hello.
 This is some different story..
 After I changed routing protocol from DSDV to AODV, I experienced zero
 handover time..
 I hope this helps you..

 2005/9/27, Michal Lewandowski [EMAIL PROTECTED]:
 
  Hi all,
 
  I'm doing some experiments with Mobile IP and I think I found a serious
  problem.
 
  I'm using standard tcl file and I see that the time of handover is much to
  long.
 
  After investigations I found out that handover ends when packet message
  is called.
 
  I thing this is an ARP packet. When I set traffic to the Mobile Node I
  managed to solve this problem by calling arprequest() function by Foreign
  Agent every time MN tries to register.
 
  The problem is when traffic is up, I mean when MN is a source. I tried
  calling arprequest() in several combinations, but with no positive results.
 
  Does anybody know what is going on with this simulator (I'm using ns2-28).
  Why this problem occurs at all? And how to solve it? I think everyone
  working with Mobile IP is in the same situation. Or aybe this ARP problem is
  well known, maybe updating ARP table after registration request is not in
  the standard, it is not a part of basic SUN's MIP model?
 
  Thanks for help,
 
  Michal
 
 
  
  SIN CITY - Miasto Grzechu. Najnowszy film Rodrigueza
  i Tarantino w wypożyczalniach DVD i wideo!
  http://klik.wp.pl/?adr=www.film.wp.pl%2Ffilm.html%3Fid%3D24839%26h%3D1sid=516
 
 
 




Re: [ns] MIP Handover and ARP in ns-2.28

2007-04-27 Thread Youngmin Kim

I'm sorry...
You can get zero handover time only when wired node sends udp traffic
to wireless node..

2007/4/27, Youngmin Kim [EMAIL PROTECTED]:
 Hello.
 This is some different story..
 After I changed routing protocol from DSDV to AODV, I experienced zero
 handover time..
 I hope this helps you..

 2006/5/23, altaf hussain [EMAIL PROTECTED]:
 
  Hi Users. I hope al of u would be OK. I have been working on Mobile IP v4 
  implemented in ns-2.28. There is a bug in the implementation of Mobile IP 
  in ns2 and that have been reported by Michal in AUGUST 2005.
The modifications indicated by Michal are infact confusing me.
The function to get the current mobile node  get_node_michu() is giving 
  problems while compiling.
I am posting the modificatins done by Michal. Can any one really give me 
  a better and working modification in ns-2.28
Thanks
 
Michal
 
  PS. Below there is ll:recv() function with my modifications.
 
  _/*
  This shall be added in arp.cc
  MobileNode*
  ARPTable::get_node_michu()
  {
  return node_;
  }
  */
 
  void LL::recv(Packet* p, Handler* _/*h*/)
  {
  hdr_cmn *ch = HDR_CMN(p);
  hdr_arp *ah = HDR_ARP(p);
  hdr_mip *miph = hdr_mip::access(p);
  hdr_ip *ip_h = hdr_ip::access(p);
 
 
 
  //char *mh = (char*) HDR_MAC(p);
  //struct hdr_sr *hsr = HDR_SR(p);
 
  _/*
  * Sanity Check
  */
  assert(initialized());
 
  //if(p-incoming) {
  //p-incoming = 0;
  //}
  // X NOTE: use of incoming flag has been depracated; In order to track
  direction of pkt flow, direction_ in hdr_cmn is used instead. see packet.h
  for details.
 
  // If direction = UP, then pass it up the stack
  // Otherwise, set direction to DOWN and pass it down the stack
  if(ch-direction() == hdr_cmn::UP) {
  //if(mac_-hdr_type(mh) == ETHERTYPE_ARP)
  if(ch-ptype_ == PT_ARP){
 
 
  if(ah-arp_spa == 4194305) // I mean Mobile Node's IP here. Not very
  elegant way to do it
  {
  if(licznik  10)
  {
  nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
  IP addr
  nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
  arptable_-arprequest(src_arp, dst_arp, this);
 
  licznik++;
  //printf( src_arp %d\n, src_arp);
  //printf( dst_arp %d\n, dst_arp);
  //printf(arprequest %d\n, licznik);
  }
  }
 
  if(ah-arp_spa == 4194304) // I mean Mobile Node's IP here. Not very
  elegant way to do it
  {
  if(licznik2  10)
  {
  nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
  IP addr
  nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
  arptable_-arprequest(src_arp, dst_arp, this);
 
  licznik2++;
  //printf( src_arp %d\n, src_arp);
  //printf( dst_arp %d\n, dst_arp);
  //printf(arprequest %d\n, licznik);
  }
  }
 
  if(ah-arp_spa == 8388608) // I mean Mobile Node's IP here. Not very
  elegant way to do it
  {
  if(licznik3  10)
  {
  nsaddr_t src_arp = arptable_-get_node_michu()-address(); // this host's
  IP addr
  nsaddr_t dst_arp = miph-ha_;   //Home Address of Mobile Node
  arptable_-arprequest(src_arp, dst_arp, this);
 
  licznik3++;
  //printf( src_arp %d\n, src_arp);
  //printf( dst_arp %d\n, dst_arp);
  //printf(arprequest %d\n, licznik);
  }
  }
 
 
  arptable_-arpinput(p, this);
  //printf(arpinput %d\n, licznik);
  }
  else
  {
 
  if((miph-type_ == MIPT_REG_REQUEST) || (miph-type_ == MIPT_REG_REPLY) ||
  (miph-type_ == MIPT_SOL)) //in FA
  {
  nsaddr_t src = arptable_-get_node_michu()-address(); // this host's IP
  addr
  nsaddr_t dst = miph-ha_;   //Home Address of Mobile Node
  arptable_-arprequest(src, dst, this);
 
  //uptarget_ ? sendUp(p) : drop(p);
  //printf( src %d\n, src);
  //printf( dst %d\n, dst);
  //printf(uptarget_ MIPT_REG_REQUEST\n);
 
  }
 
 
  uptarget_ ? sendUp(p) : drop(p);
  //printf(uptarget_\n);
 
  }
  return;
  }
 
 
  if((miph-type_) == MIPT_REG_REQUEST)
  {
  //double local_time = Scheduler::instance().clock();
  //printf( local_time MIPT_REG_REQUEST %.9f\n, local_time);
 
  // printf(MIPT_REG_REQUEST %d \n,
  arptable_-get_node_michu()-address());
  nsaddr_t src_down = 4194305;
  //arptable_-get_node_michu()-address(); // this host's IP addr
  nsaddr_t dst_down = miph-coa_;//miph-coa_;
  arptable_-arprequest(src_down, dst_down, this);
  }
  else if((miph-type_) == MIPT_ADS)
  {
  //double local_time = Scheduler::instance().clock();
  //printf( local_time MIPT_REG_REQUEST %.9f\n, local_time);
 
  nsaddr_t src_down = 4194305;
  //arptable_-get_node_michu()-address(); // this host's IP addr
  nsaddr_t dst_down = miph-coa_;
  arptable_-arprequest(src_down, dst_down, this);
  }
 
  _/*
  nsaddr_t src_down = 4194305;
  nsaddr_t dst_down = 8388608;
  arptable_-arprequest(src_down, dst_down, this);
 
  nsaddr_t src_down = 8388608;
  nsaddr_t dst_down = 4194305;
  arptable_-arprequest(src_down, dst_down, this);
 
  nsaddr_t src_down = 8388608;
  nsaddr_t dst_down = 4194304;
  arptable_-arprequest(src_down, dst_down, this);
  */
 
 
  double local_time

[ns] Mobility test of mobile IPv6

2007-04-23 Thread Youngmin Kim


Hello.

I tested wireless3.tcl in the section X.2. of Marc Greis's tutorial.
It works good!!
Firstly, MH talks to W(0) through HA. As MH moves to its destination,
it talks to W(0) through FA. And when it returns back original
position MH talks to W(0) through HA again.
It takes long time to hand over relatively (more than 10s), but it works..

Now I want to test a mobility of the Mobile IPv6.
I use two tools. One is Mobiwan and the other is Mobility package for
NS-2 from NIST.
1. Mobiwan for NS-2.27 (http://www.ti-wmc.nl/mobiwan2/)
2. Mobility package for NS-2 from NIST
(http://w3.antd.nist.gov/seamlessandsecure/download.html)

I modified wireless3.tcl of Marc Greis's tutorial. I attached them in this mail.
1. wireless3-mobiwan-ns-2.27.tcl
2. wireless3-nist-mih-ns-2.29.tcl
Two files run well but the handover does not work!!
In wireless3-mobiwan-ns-2.27.tcl, when MH is in the HA it talks to
W(0) but after MH leaves HA it does not talk to W(0).
wireless3-nist-mih-ns-2.29.tcl, when MH is in the HA it talks to W(0)
but after MH leaves HA it does not talk to W(0). But when MH returns
back to HA, it talks to W(0) again.

What is the problem?