performance testing ofmobile ipv6 protocol

8
Performance Testing of Mobile IPv6 Protocol Huiming Wang l ,3, Xingang Shi 2 ,3, Zhiliang Wang 2 ,3, Xia Yin l ,3, Jianping WU l ,2,3 IDepartment of Computer Science & Technology, Tsinghua University, 2Network Research Center ofTsinghua University, 3Tsinghua National Laboratory for Information Science and Technology, Beijing, P. R. China, J00084 {wanghuiming, shixg, wzl, yxia}@csnetJ.cs.tsinghua.edu.cn, [email protected] Abstract Mobile IPv6 (MIPv6) protocol is a new protocol designed to support the node mobility of IPv6 protocol, which is a basic protocol of the next generation Internet. Protocol testing consists of conformance testing, interoperability testing and performance testing. Protocol emulation testing, which we adopt in this paper, is a way of protocol testing. This paper designs an emulation-based method for performance testing of mobile IPv6 protocol, gives performance evaluation metrics in view of the three kinds of MIPv6 nodes (HA, home agent; MN, mobile node; eN, correspondent node), tests and analyzes MIPL 1.1 on Linux 2.4.26. Our method is easy to implement on commonly used hardware, very convenient to deploy and more flexible compared to most commercial test instruments. As far as we know, this is the first work on the research of performance testing of Mobile IPv6 protocol. Key words: Mobile IPv6 Protocol; Performance Testing; Protocol Emulation Testing; MIPL 1. Introduction Network technology has been in a rapid development recent years and a trend is that networking applications will be everywhere. A lot of studies, such as designing new protocols, have been done on the research of the next generation Internet. IPv6 Protocol [1] is a basic protocol of the next generation Internet. The correctness of its specification and implementation directly determine whether the next generation Internet could be correctly, efficiently and stably operated. Mobile IPv6 (MIPv6) protocol [2] is a new protocol designed to support the mobility of IPv6 nodes. Many products that can support MIPv6 978-1-4244-2703-1/08/$25.00 ©2008 IEEE protocol have been developed by manufacturers and research institutions. As the performance and quality of these products will affect the development of the next generation Internet, the need for testing their performance is becoming increasingly strong. Protocol testing technology is an important means to ensure that protocols are implemented correctly and different network products can be interconnected in a right way. It consists of conformance testing, interoperability testing and performance testing. Testing can study the protocol from another angle, and provide a strong testing service in the final stages of the protocol development to reduce the actual operating risk and cost. This paper studies the performance testing methodology of MIPv6 protocol, and gives performance evaluation metrics in the view of the three kinds of mobile IPv6 nodes (HA, home agent; MN, mobile node; eN, correspondent node). In light of these evaluation metrics, we propose a suitable emulation based method, design and implement a MIPv6 protocol performance testing software (MIPv6 Tester), with which we test and analyze the performance of MIPL [15] ( Mobile IPv6 for Linux ) 1.1 on Linux 2.4.26. Our method is easy to implement on commonly used hardware, very convenient to deploy, more flexible and easier to use compared to most commercial testing instruments. As far as we know, this is the first work on the research of performance testing of Mobile IPv6 protocol. The rest of the paper is organized as follows. Section 2 introduces an overview of related work. Section 3 gives our metrics for performance evaluation of the protocol and describes our testing methodology. Section 4 describes and analyzes the results of testing the performance ofMIPL using MIPv6 Tester. Finally, section 5 concludes this paper. 772

Upload: others

Post on 03-Feb-2022

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Performance Testing ofMobile IPv6 Protocol

Performance Testing of Mobile IPv6 Protocol

Huiming Wangl,3, Xingang Shi2,3, Zhiliang Wang2

,3, Xia Yinl ,3, Jianping WUl ,2,3

IDepartment ofComputer Science & Technology, Tsinghua University,2Network Research Center ofTsinghua University,

3Tsinghua National Laboratory for Information Science and Technology,Beijing, P. R. China, J00084

{wanghuiming, shixg, wzl, yxia} @csnetJ.cs. tsinghua. edu. cn, [email protected]

Abstract

Mobile IPv6 (MIPv6) protocol is a new protocoldesigned to support the node mobility ofIPv6 protocol,which is a basic protocol of the next generationInternet. Protocol testing consists of conformancetesting, interoperability testing and performancetesting. Protocol emulation testing, which we adopt inthis paper, is a way of protocol testing. This paperdesigns an emulation-based method for performancetesting of mobile IPv6 protocol, gives performanceevaluation metrics in view of the three kinds ofMIPv6nodes (HA, home agent; MN, mobile node; eN,correspondent node), tests and analyzes MIPL 1.1 onLinux 2.4.26. Our method is easy to implement oncommonly used hardware, very convenient to deployand more flexible compared to most commercial testinstruments. As far as we know, this is the first work onthe research of performance testing of Mobile IPv6protocol.

Key words: Mobile IPv6 Protocol; PerformanceTesting; Protocol Emulation Testing; MIPL

1. Introduction

Network technology has been in a rapiddevelopment recent years and a trend is thatnetworking applications will be everywhere. A lot ofstudies, such as designing new protocols, have beendone on the research of the next generation Internet.IPv6 Protocol [1] is a basic protocol of the nextgeneration Internet. The correctness of its specificationand implementation directly determine whether thenext generation Internet could be correctly, efficientlyand stably operated. Mobile IPv6 (MIPv6) protocol [2]is a new protocol designed to support the mobility ofIPv6 nodes. Many products that can support MIPv6

978-1-4244-2703-1/08/$25.00 ©2008 IEEE

protocol have been developed by manufacturers andresearch institutions. As the performance and qualityof these products will affect the development of thenext generation Internet, the need for testing theirperformance is becoming increasingly strong.

Protocol testing technology is an important meansto ensure that protocols are implemented correctly anddifferent network products can be interconnected in aright way. It consists of conformance testing,interoperability testing and performance testing.Testing can study the protocol from another angle, andprovide a strong testing service in the final stages ofthe protocol development to reduce the actualoperating risk and cost.

This paper studies the performance testingmethodology of MIPv6 protocol, and givesperformance evaluation metrics in the view of the threekinds of mobile IPv6 nodes (HA, home agent; MN,mobile node; eN, correspondent node). In light ofthese evaluation metrics, we propose a suitableemulation based method, design and implement aMIPv6 protocol performance testing software (MIPv6Tester), with which we test and analyze theperformance of MIPL [15] ( Mobile IPv6 for Linux )1.1 on Linux 2.4.26.

Our method is easy to implement on commonlyused hardware, very convenient to deploy, moreflexible and easier to use compared to mostcommercial testing instruments. As far as we know,this is the first work on the research of performancetesting of Mobile IPv6 protocol.

The rest of the paper is organized as follows.Section 2 introduces an overview of related work.Section 3 gives our metrics for performance evaluationof the protocol and describes our testing methodology.Section 4 describes and analyzes the results of testingthe performance ofMIPL using MIPv6 Tester. Finally,section 5 concludes this paper.

772

Page 2: Performance Testing ofMobile IPv6 Protocol

2. Related Work

Mobile IPv6 protocol is a very important protocolof the IPv6 protocol suites. It has a big change on themode of operations compared with the general IPv6protocols. So it is more important and of greatsignificance to test the new characteristics of MIPv6protocol.

IPv6 technology is in a stage of large-scaledevelopment and deployment now, and theimplementation of MIPv6 protocol will becontinuously improved in this stage. The demand onrouters and computer products supporting MIPv6 willkeep rising. It is inevitable that many conformanceproblems will exist. And the interoperability testing inMIPv6 products needs sufficient attention before theycan be used in large-scale, as these products oftencome from different manufacturers and may implementonly part of the protocol's functions. It is of greatsignificance for the stable operation of the entirenetwork to see if those products can cooperate witheach other. In [3-5], the authors studied conformancetesting and interoperability testing on MIPv6 protocol,most on methodologies. A MIPv6 protocolconformance test suite was given in [7]. TARI project[6] in Japan has done relatively integrated test onMIPv6 protocol. IOL lab [8] released a MIPv6interoperability test suite. And in industry community,Ixia has also released its conformance test suites ofMIPv6 protocol recently [9]. It appears to beparticularly important to study the performance testingof MIPv6 protocol after the studies on its conformanceand interoperability testing. Therefore our work on theMIPv6 protocol performance testing theories, methodsand tools is of great significance.

We use emulation based methods to conduct MIPv6protocol performance testing. Currently, most protocolemulation software are embedded in commercialtesters, such as Agilent, Spirent and Ixia. For example,Agilent provides IPv6 routing emulation software,Spirent provides SmartBits performance tester and Ixiaalso provides IxANVL (Ixia Automated NetworkValidation Library). In addition, before RFC3775 werereleased, Joseph Macker, leading his INSC/Task6group [10], did some related researches on emulationand testing. And [11] provided a mobile networkemulator in early years too.

A lot of studies have been done on the performanceof the protocol. For example, [12] studied theperformance of Hierarchical MIPv6 protocol [13] bysimulating in ns-2. But there has not been any work

studying the performance of MIPv6 protocol from theview of protocol testing.

To sum up, there has been a lot of work on testingof IPv6 protocol suites, but has not been anycompleted MIPv6 protocol emulation software yet, andthe studies on MIPv6 protocol performance testing arestill not so sufficient. Therefore, it has theoretical andpractical value to study MIPv6 protocol performancetesting methodology via the design andimplementation of MIPv6 protocol emulation software.

3. Performance Metrics and Test Method

In this section we firstly define the performancemetrics of MIPv6 protocol, and then describe ouremulation based test method.

3.1. Performance Evaluation Metrics

There are 3 kinds of nodes, including HA, MN andCN, as specified in MIPv6 protocol. Table 1 illustratesthe performance evaluation metrics for the differentkinds of node.

Table 1. Performance evaluation metricsMetrics CommentsR MN num The max # for MN's registration

HA R MN delay MN's registration delayH MN delay MN's hand-over delayL MN delay MN's logout delay

MN B eN num The max # of bindings with CNCN B MN num The max # of bindings with MN

As showed in Fig. 1, a mobile node (MN) willperform a binding registration by sending a BindingUpdate (BU) message to its home agent (HA) when itmoves to a new foreign area from its home link. Tohandle this, the home agent replies to the mobile nodeby returning a Binding Acknowledgement (BA)message. There should be a maximum number ofdifferent mobile node's binding registrations that ahome agent can handle, and we define this number asR_MN_num.

The definitions of B_CN_num and B_MN_num aresimilar to the definition of R_MN_num. After MN hassent a BU to its home agent and registered a newprimary care-of address, it will initiate a correspondentregistration for each node that already appears in itsBinding Update List. The maximum number of theBinding Update List is defined as B_CN_num. And themaximum number of registrations from differentmobile nodes that a correspondent node (CN) couldhandle is defined as B_MN_num.

773

Page 3: Performance Testing ofMobile IPv6 Protocol

In fact, R_MN_num, B_CN_num and B_MN_numcan be the indicators of the size of binding bufferwhich every implementation of MIPv6 protocol, nomatter what kind the node is, will allocate for dealingwith the Binding Update messages.

CN HA I MN TimeI I

: BD I _ _ _ _ _ _ _ _ t1

I ~_!~U=d _

I I I tHA h

: TRfromCNtoMN ~~!iA:d~~~~- 12I I II I II I II nnel TR II I II I -------- t3I I II I I

: : tmmelledIA----i-------- MI I~ iI I I

~TAfromMNtoCN I

I I II I I

I II

Fig.I. a general flow of nodes interactivecommunication

Fig. 1 is a general flow of their communication.Similar as we have described above, MN will also sendbinding update if it moves to a new foreign area fromanother foreign area or it returns to home link from aforeign area. Then, when CN communicates with themobile node that has moved to a foreign area, the TestRequest (TR) packet sent by CN will be first routed toHA and then tunneled to MN. To reply this TR packet,the MN will return a Test Acknowledgement (TA)packet back. It will be at first tunneled from the mobilenode to the home agent (reverse tunneled) and thenrouted normally from the home network to thecorrespondent node. TR and TA packets are designedfor our tests by us. We define R_MN_delay,H_MN_delay and L_MN_delay as follows:

Here tBU d denotes the delay for transferring BUpacket from- MN to HA on the network, tHA_h denotesthe time costs for HA to handle the BU packet and tBA_ddenotes the delay for transferring BA (BindingAcknowledge) packet from HA to MN on the network.The three definitions look similar to each other. Theonly difference is the contents in the BU and BApackets, where the BU of R_MN_delay is for themobile node's moving out from home link, the BU ofH_MN_delay is for the mobile node's moving from

one foreign area to another foreign area (hand-over)and the BU of L_MN_delay is for the mobile node'sreturning back to home link. And, we define all ofthese three metrics to indicate the capability of HA forhandling BU packets. In fact, only tHA_h indicates thiscapability. As we can only get t} and t2, and tBU_d +tBA d is trivial enough in our emulated environment thatwe- could omit it, we define tBU_d + tHA_h + tBA_d as themetric.

3.2. Emulation-based Performance TestMethod

We adopt emulation based method for testing theperformance of MIPv6 protocol. The algorithmsdescribed in this section will all run on the emulationtest software we have designed and implemented. Theemulation test software needs to emulate differentnodes and operating environments based on thedifferent performance metrics. Algorithm 1 describesthe steps while testing R_MN_num and R_MN_delay,where the test software emulates a number of MNs tosend BU packets to HA to perform registration.Algorithm 2 describes the testing for H_MN_delay andL_MN_delay, where the first step is to make HA to astatus that no more MNs can perform registrationwhich is just similar as algorithm 1. The input of thealgorithm 2 are percentH and percentL, wherepercentH means the proportion of emulated MNs thatperform hand-over and percentL means the proportionof emulated MNs that perform log-out. The IUT inalgorithm 1 and 2 is HA, and the test software shouldemulate MNs and CNs.

Algorithm 1. Testing R MN num & R MN delayInput: N/AOutput: R_MN_num, R_MN_delayBegin1. init: R_MN_num = R_MN_delay = 0;2. i = 0; send BUi from MNi to HA; start timer_i;3. while ( a packet is received) {4. switch (the packet type p_ty){5. case BA:6. if BA_type = = admit {7. stop timer_i;8. update MN/s R_delay;9. send TRi from CN to MNi ;

10. break; }11. else continue;12. case Tunnel_TR:13. j = TR's id, reply TAj to CN by reversed

tunnel; break;14. case TA:

774

Page 4: Performance Testing ofMobile IPv6 Protocol

15. k = TA's id, mark MNk with RegistrationSuccess, record MNk's R_delay, ++R_MN_num;

16. ++i; send BUi from MNi to HA; starttimer_i;

17. break;18. default: break; } }19. R_MN_delay = Sum(R_delay of all MN that

marked with Registration Success) / R_MN_num;20. return R_MN_num, R_MN_delay;end

Algorithm 2. Testing H MN delay & L MN delayInput: percentH, percentLOutput: H_MN_delay, L_MN_delaybegin1. Use algorithm 1 to get R_MN_num;2. init: L_MN_num = H_MN_num = 0; i = 0; ty_BA =

true; H_R = percentH / (1 - percentL);3. while ( H_MN_num / R_MN_num < H_R &&

ty_BA) {4. send BUi from MN i to HA to emulate MN's

hand-over; start H_timer_i;5. while ( a packet is received) {6. switch ( the packet type p_ty ) {7. case BA:8. if BA_type = = admit {9. stop H_timer_i;10. update MN;'s H_delay;11. send TRi from CN to MN i ;

12. break; }13. else ty_BA = false; continue;14. case Tunnel_TR:15. j = TR's id, reply TAj to CN by

reversed tunnel; break;16. case TA:17. k = TA's id, mark MNk with Update

Success, record MNk's H_delay, ++H_MN_num,++i; continue;

18. default: break; } } }19. H_MN_delay = Sum(H_delay of all MN that

marked with Update Success) / H_MN_num;20. ty_BA = true; L_R = percentL / (1 - percentL);j =

R_MN_num;21. while (L_MN_num / R_MN_num < L_R &&

ty_BA) {22. send BUi from MN i to HA to emulate MN's

log-out; start L_timer_i;23. while ( a packet is received) {24. if p_ty = = BA {25. ifBA_type = = admit {26. stop L_timer_i;27. mark the MNi with log-out Success,

record MN's L delay, ++L MN num , ++i; }

28. else ty_BA = false;29. continue; } }30. send BUj from MNj to HA to emulate MN's

registration; ++j; }31. L_MN_delay = Sum(L_delay of all MN that

marked with log-out Success) / L_MN_num;32. return H_MN_delay, L_MN_delay;end

Algorithm 3 and 4 describe the testing for MN. TheIUT is MN and the test software should emulate HAand a number ofCNs. Note that we use multi-thread toperform the test. Algorithm 3 is the sender threademulating different kind of CNs to send Test Request(TR) packets to MN. The inputs are percentM andpercentN, where percentM means the proportion ofemulated CNs that are moving, which are MNs in fact,and percentN means the proportion of emulated CNsthat do not support MIPv6 protocol. If the CN is a MN,it will initiate the return routability procedure, asshowed in the algorithm. Here the sum of percentMand percentN should less than 1. Algorithm 4 is thereceiver thread that emulating CNs to response thepackets they received and return the value ofB_CN_num.

As illustrated in Fig. 2, CN;' s TR packet will firstlyrouted to MN's home link and then tunneled to MN byMN's home agent. MN replies a TA packet andmeanwhile initiates a return routability procedure.Upon successfully completing the return routabilityprocedure, MN will then initiates the correspondentregistration and add CNi into its Binding Update List.The return routability procedure consists of 4 kinds ofpackets. During the procedure, MN firstly sends HomeTest Init (HoTI) packet through its HA to CN andsends Care of Test Init (CoTI) packet directly to CN,then waits for Home Test (HoT) packet and Care ofTest (CoT) packet from CN. The procedure ensuresauthorization of subsequent Binding Updates.

Algorithm 3 and 4 emulate the processes above tomake MN on a status that no more eNs could bebound with MN and get the value of B_CN_num,which is the maximum number of MN's BindingUpdate List. Note that when we say emulate CNj tosend TRj from CNj to MN, it means that we use tunnelto send the TRi from HA to MN, as thecommunications between HA and CN will not beemulated. In Algorithm 4, we assume that the MN ison the status that no more CNs could be bound with itwhen there are more than 3 packets which are not thetype we expected received. So the receiver thread willstop the sender thread and return the value ofB_CN_num when k >= 3.

775

Page 5: Performance Testing ofMobile IPv6 Protocol

Algorithm 3. Sender thread while testing B_CN_numInput: percentM, percentNOutput: N/Abegin1. init: j = 0, k = 0;2. while ( 1 ) {3. k=random(100);4. if k <percentN * 1005. CN}_type = N_CN;6. else if k < (1 - percentM) * 1007. CN}_type = S_CN;8. else CN}_type = M_CN;9. emulate CN} to send T~· from CN} to MN;10. if CN}_type = = M_CN {II CN} is a MN, will

Ilinit the return routability procedure.11. emulate CN} to send HoTI from CN} to MN;12. emulate CN} to send CoTI from CN} to MN;13. } ++j; }end

Algorithm 4. Receiver thread while testingB CN numInput: N/AOutput: B_CN_numbegin1. init: B_CN_num = 0, k = 0;2. while ( a packet is received) {3. switch ( the packet type p_ty ) {4. case TA_to_ CNi : break;5. case HoTI_to_ CN i :

6. if CNLtype = = N_CN break;7. else reply HoT; break;8. case CoTI_to_ CNi :

9. if CNLtype = = N_CN break;10. else reply CoT; break;11. case HoT_to_ CNi:

12. CNLHoT = true;13. if CNi_CoT = = true emulate CNj to send

BU from eN} to MN; break;14. case CoT_to_ CNi:

15. CNLCoT = true;16. if CNLHoT = = true emulate CN} to send

BU from CN} to MN; break;17. case BU_to_ CNi:

18. reply BA;19. ++ B_CN_num;20. break;21. default:22. ++ k;23. if k< 3 break;24. else continue; } }25. stop sender thread;

26. return B_CN_num;end

~ [T::::~t::::T:.::i.~.~~~~~::·::IJ Time

: tunnel TR :...... TR from CN to MN :I ._.~ 1

~ I 1

~nelledTAI 1

L -------'1 1

~L.TA~MNt~~ HoTI~---'

"'C c 1 ~ ---------"1a a 1 CoTl1 1n ~I I(1)°1 I ~~ ~ I 1.------- 1

(1)[:~HoT 1~.~. ~ CoT 1

1 1

--I I

: BU ....JI BA ....,~ I

~ TR:1-= 1

I TA .....~

Fig.2. a general flow for ~estingMN

The method to test CN is relatively simple. It justneed to emulate a number of MNs to send BU packetsto CN, which makes CN on the status that no moreMNs can be bound with it. We omit the description ofit as it is similar to algorithm 3 and 4.

4. Experimental Results and the Analysis

We have designed and implemented a MIPv6protocol emulation test software (MIPv6 Tester) basedon the algorithms described in section 3.2. Using thisMIPv6 Tester, we validate our testing method bytesting the performance of MIPL 1.1 on Linux 2.4.26.There are many MIPv6's implementations includingMIPL [15] and KAME [16], and MIPL is a completeimplementation of MIPv6 on Linux.

In this section we will firstly describe ourexperimental configuration, and then give ourexperimental result and the analysis.

4.1. Experimental Configuration

HuB

Tester

Fig.3. Testing configuration

Fig. 3 is the testing configuration, from which wecan see that MIPv6 Tester connects with the IUT, nomatter what kind of node, such as HA, MN or CN, bya hub. In fact we do not care if it is a hub, as we just

776

Page 6: Performance Testing ofMobile IPv6 Protocol

Tester

08-00-20-96-21-75

HA

3ffe:eeee:8024: 1::2/64

Jf/MNI

3ffe:eeee:8024:6: :3/64

3ffe:eeee:8024:5::3/64

".~ .. il j;j)...'.->' ··~/MN

-- 3:::0000:8024:6:.00:20ff:fe8e:8286/6408-00-20-8e-82-85

3ffe:eeee :8024:3 :aOO:20ff:fe8e:8286/64

(1 percentH - percentL) : percentH :(4)

Router:00-05-fc-45­5b-f5

HA(forCN)

~._---3ffe:eeee:8024:2:a :2.-.m

Off:fe8e:8285/6 i':

08-00-20-8e-82-8

MN..,:,.:....IL___.,--

CN"""".,... :..------r----I3ffe:eeee:8024:1::2

/6408-00-20-96-21-75

Fig.6. Test scenario of testing eN

3ffe:eeee:8024:2:aOO: Tester20ff:fe8e:8286/64

Fig.5. Test scenario of testing MN

R:H:LpercentL

Tester

CNHA

3ffe :eeee:8024:2:aOO:

.::r080:8286/64

......3ffo:oooo:8024:1::2 1. jiJ',..,'.::.' ::~;1~~:?24:6:'00/64':<6~>i .20ff~fe8e.8286/64

08-00-20-96-21-75 I,------~- -·····MN 08-00-20-8e-82-85

Router:00-05-fc-45- 3ffe:eeee:8024:3:aOO5b-f5 :20ff:fe8e:8286/64

need to make sure that the IUT and the MIPv6 Testerare in the same sub-net.

Fig. 4 is the scenario for testing HA. The Testerpane illustrates HA's running environment which isemulated by MIPv6 Tester. According to algorithm 1and algorithm 2 in section 3.2, the Tester emulates anumber of MNs whose Care-of-Addresses (CoAs) arecomputed based on their own MAC address forsending BU to HA. MN's Mac address is generated bythe Tester's Mac address plusing i, where i = 1, 2, 3,etc. The link prefix of MN's Home Address (HoA) isthe same with HA, and the link prefix of MN's CoAincludes 3ffe:eeee:8024:2::/64, 3ffe:eeee:8024:3::/64and 3ffe:eeee:8024:6::/64, which could make theTester emulate the process of MN's hand-oversuccessfully.

t tfHA'RblTa e esu ts 0 s per ormance esTest # 1 2 3

Nodes proportion 6: 3: 1 6: 1 : 3 3: 6: 1(R: H: L)# ofMNs emulated 145 186 145R MN num 127 127 127R MN delay 1.148321s 1.148610s 1.149464sH MN delay 0.171660s 0.173217s 0.173716sL MN delay 0.104241s 0.104682s 0.104164s

Fig. 5 and Fig. 6 are scenarios for testing MN andCN respectively. In Fig. 5, the line connecting MN andMIPv6 Tester means that MN hands-over after itreceives the Route Advertisement Messagebroadcasted by the Router, which is emulated byMIPv6 Tester. The other testing scenarios are similar.

Fig.4. Test scenario of testing HA

4.2. Experimental Result and the Analysis

Table 2 is the test results ofHA's performance. TestI, 2 and 3 are three tests with different "nodesproportion" which makes the emulation more real. The"nodes proportion" we present are calculated based onthe input of algorithm 2 in section 3.2, where percentHmeans the proportion of MNs that perform hand-overand percentL means the proportion of MNs thatperform log-out. Formula (4) is the definition of"nodes proportion". The" # of MNs emulated" is thetotal number of MNs MIPv6 Tester emulated duringthe test, the more MNs that perform log-out, the moreMNs that MIPv6 Tester will emulate, as presented intest 2.

From the results we can see the performance of HA,where the Maximum registration number with MN(R_MN_num) is 127. HA will modify thecorresponding entry when handling MN's hand-overand log-out. It is reasonable that the delay of handlingMN's registration is longer than handling MN's hand­over and log-out, as for handling registration, HA willcreate a new entry for the MN besides modifying thecorresponding entry. We test the RTT delay of twodirectly connected hosts using ping method. The delayis less than 1ms which is little compared with thedelays listed in Table 2. So our test method isacceptable.

Table 3 lists the results of MN's performance.Similar to the results in Table 2, test 1, 2 and 3 are

777

Page 7: Performance Testing ofMobile IPv6 Protocol

This work is supported by the National NaturalScience Foundation of China under Grant No.60572082.

We would like to express our thanks to Peterngsunan, Rongfei Zeng and Chuanming Jing. Peter

and Rongfei helped us a lot in correcting the language.Chuanming gave us a lot advises during the work.

Acknowledgement

5. Conclusions and Future Work

We can see, from the analysis before that all thenodes, no matter what kind (such as HA, MN and CN)of nodes they are, have a fixed size of binding buffer.The only difference is the entry number that in CN'sbinding buffer is one more than the other two kinds ofnodes. The reason might be found by reading the codesof the implementation of MIPv6 protocol. The delay ofHA to handle MN's registration, hand-over and log­out is acceptable. Although it is an approximate result,it still represents the real delay in some sense.

From the practice of testing MIPL using MIPv6Tester we find that our method can test theperformance of MIPv6 implementations promptly. Theresult is steady and the results of testing differentimplementations using the same tester are comparable,and, our MIPv6 Tester is very convenient to deploy.

In this paper we have studied the methodology fortesting the performance of MIPv6 protocol, proposed aset of performance evaluation metrics and the testingmethod. We have tested an implementation of MIPv6protocol using our method and the MIPv6 tester, whichwe designed and implemented it ourselves, andanalyzed testing result objectively. The test practicesindicate that our method can test the performancemetrics promptly and the MIPv6 Tester is easy todeploy and more flexible compared to commercialtesters.

The studies on performance testing of MIPv6protocol is still on its process. To the best of ourknowledge, this is the first work on this area, and thereis much work left to do. We need to practice our testmethod on more other implementations of MIPv6protocol and more complex situations to validate andimprove our method. We will define some otherappropriate performance metrics such as the MN'shand-over time. And further more, we will extend ourMIPv6 Tester to test the new protocols related toMIPv6 protocol, as many works have been done on theresearch of MIPv6 protocol, for example a RFC [14]has been released.

t t

t t

(1 percentM - percentN) : percentM :(5)

T bl 4 R It feN'

T bl 3 R It f MN'

It is interesting that the maximum number ofbinding with CN in test 2 is 126, which is one less thanin test 1 and test 3. We think one possible reason maybe that there are so many emulated CNs which do notsupport MIPv6 protocol that the MIPv6 Tester hasformed a oS attack in a certain sense and the MNcould not response any packet. This is reasonable asthe CNs that do not support MIPv6 protocol just sendthe TR packet and do not response for the returnroutability procedure which is similar as the TCP SYNflood attack.

The test results of CN's performance are listed inTable 4. The meaning of "nodes proportion" is thesame as in Table 2 and is defined in formula (4) too.The Maximum binding number with MNs(B_MN_num) is 128. We can see that MN's log-outwill cause CN to delete its binding from the bindingbuffer whereas MN's hand-over only causes CN toupdate its binding in the buffer from the result. CNwould not admit any other MN's binding if the MNsthat bound with CN do not perform log-out afterfinishing their communications with CN. That isbecause the size of the binding buffer is fixed as wehave got that the maximum number of the entries inthe binding buffer is 128.

a e esu so s per ormance esTest # 1 2 3

Nodes proportion (8 : M : N) 6: 3 : 1 6: 1 : 3 3 : 6 : 1# ofeNs emulated 223 351 223B eN num 127 126 127

a e esu so s per ormance esTest # 1 2 3

Nodes proportion (R : H : L) 6: 3 : 1 6: 1 : 3 3 : 6 : 1# ofMNs emulated 162 185 162B MN num 128 128 128

three tests with different "nodes proportion" whichmakes the emulation more real. And this time, the"nodes proportion" is the proportion of different kindofCNs. S, M and N means the static CNs which do notmove, the moving CNs which are MNs in fact and theCNs that do not support MIPv6 protocol. Formula (5)is the definition of "nodes proportion". The " # of CNsemulated" is the total number of CNs MIPv6 Testeremulated during the test, the more CNs that do notsupport MIPv6 protocol, the more CNs that MIPv6Tester will emulate, as presented in test 2.

S:M:NpercentN

778

Page 8: Performance Testing ofMobile IPv6 Protocol

References

[1] Deering Sand Hinden R. Internet Protocol, Version 6(IPv6) Specification. RFC 460, 1998.

[] Johnson D, Perkins C, and Arkko 1. Mobility support inIPv6. RFC 775, 004.

[] Xinggang Shi and Xia Yin. Research and Practice onConformity Test of Mobile IPv6 Protocol (In Chinese).Computer Engineering, 007, (11): 116-1 5.

[4] Zhiliang Wang, Jianping Wu, Xia Yin, and XingangShi. Protocol Interoperability Test Generation Based onMSC Test Purposes (In Chinese). Journal of BeijingUniversity of Posts and Telecommunications 006

9(S): 116-1 O. ' ,[5] Yujun Zhang and Zhongcheng Li. Hierarchy Protocol

Description and Test Generation Method for MobileIPv6 Testing (In Chinese). ACTA Electronica Sinica004, (1 A): 0- 4. '

[6] TAHI project, http://www.tahi.org/.[7] Yong Yan, Gaogang Xie, and Dafang Zhang. Design

and Implementation of Conformity Test Suit of MobileIPv6 Protocol (In Chinese). Computer Applications,

004, 4(S ): 15-17.[8] Interoperability Laboratory, Part of the university of

New Hampshire research computing center.http://www.io1.unh.edu/testsuites/ipv6/. 005.

[9] Ixia Press Releaseshttp://www.ixiacom.com/news_and_events/press_relea.ses/display.php?skey=1 , 007.

[10] Joseph Macker, etc. Interoperable Networks for SecureCommunications, Task 6 Final Report,http://cs.itd.nr1.navy.mil/pubs/docs/INSC-task6­FinalReport.pdf.

[11] W. Chao, 1. Macker, 1. Weston. The NRL MobileNetwork Emulator. In proceedings IEEE MILCOM

00 ,Oct 00 .[1 ] Xavier Perez-Costa and Marco Torrent-Moreno. A

Performance Study of Hierarchical Mobile IPv6 from aSystem Perspactive. IEEE International Conference onCommunications (ICC), 00 ,vo1.1: 468-474.

[1 ] H.Soliman, C.Castelluccia, K.El-Malki, and L.Bellier.Hierarchical MIPv6 mobility management (HMIPv6).RFC 4140, August 005.

[14] R, Koodli, Ed. Fast Handovers for Mobile IPv6.RFC4068, July 005.

[15] MIPL, Mobile IPv6 for Linux,http://www.mip1.mediapoli.com/intro.html, 007.

[16] KAME Mobile IPv6, http://www.kame.net/index.html.007.

779