A Test Lab for the Performance Analysis of TCP Over Ethernet LAN on Windows Operating System

A Test Lab for the Performance Analysis of TCP Over Ethernet LAN on Windows Operating System
of 11
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
     I   E   E   E   P  r  o  o   f IEEE TRANSACTIONS ON EDUCATION, VOL. 48, NO. 2, MAY 2005 1 A Test Lab for the Performance Analysis of TCPOver Ethernet LAN on Windows Operating System Konstantinos A. Gotsis, Sotirios K. Goudos, and John N. Sahalos  , Senior Member, IEEE   Abstract— A test laboratory for the performance analysis of theTransmission Control Protocol (TCP) and the teaching of its basicconcepts is proposed. The laboratory environment is a small Eth-ernet local area network (LAN) with PCs running different ver-sions of the Windows operating system (95/98/NT/2000). To sup-port theInternet Protocol Version6 (IPv6) for Windows and to im-prove flexibility, the Netperf TCP software tool has been modified.Based on the modified Netperf and a protocol analyzer, studentsperform traffic measurements on a real network. Various aspectsof the Microsoft TCP implementation for Windows are discoveredand clearly explained. The IPv6 for Windows 2000 is also exam-ined, and comparisons with IPv4 are made.  Index Terms— Benchmarking, computer networks, IPv6, net-work performance, network traffic, throughput, TransmissionControl Protocol/Internet Protocol (TCP/IP). I. I NTRODUCTION T HE Transmission Control Protocol (TCP) [1] and the In-ternet protocol (IP) [2] are the main parts of the most pop-ular protocol suite for internetworking (TCP/IP). Well-knownInternet applications, such as World Wide Web (WWW), elec-tronic mail (e-mail), electronic commerce (e-commerce), etc.,run over TCP/IP. The popularity and widespread use of TCP/IPmake it an important educational topic for students working oncomputer networks. Details about the TCP/IP or the User Data-gramProtocol(UDP)overIPprotocolmodel(Fig.1)andpacketformat can be found in the literature [3]–[5]. In addition, theInternet standards, published by the Internet Engineering Task Force,arefreelyavailableinRequestforComments(RFCs)[6].The basic idea behind TCP is the connection-oriented,reliable transmission of data. The transmitted data is thoughtof as a stream of bytes. Reliability is accomplished with thetransmission of acknowledgment and with the help of a slidingwindow, flow-control mechanism. TCP over IP is one of themost common transport protocol layers. To achieve betterperformance, different extensions [7] and varieties [8] havebeen proposed.Specialtopics,suchasthedifferencesbetweenTCPandUDP[9], the TCP enhancement, the flow control, and the InternetProtocol Version 6 (IPv6), are not often clearly understood bystudying only the theoretical textbooks. In general, one findshelpful the teaching of a topic by introducing laboratory exper-iments. Several approaches exist in the literature. One has to Manuscript received March 25, 2003; revised October 25, 2004.The authors are with the Radiocommunications Laboratory, Department of Physics, Aristotle University of Thessaloniki, GR-54124 Thessaloniki, Greece(e-mail:; Website: Object Identifier 10.1109/TE.2004.842897Fig. 1. TCP/IP protocol suite layering diagram. do with simulation tools like COMNET III [10]. Others in areal environment apply the command-line tools like ping andtraceroute [11]. A popular approach is based on network pro-gramming[12],[13].Otherapproachescouldalsobementioned[14]–[16]. To measure round-trip time (RTT) over a local areanetwork(LAN)orawideareanetwork(WAN),thepingtoolac-commodatedwithoperatingsystemsthatsupportTCP/IPcanbeused. Students understand the dynamics of the underlying net-work by using ping. The disadvantage of this approach is thatit does not help to measure the TCP performance, and the RTTmeasured is not that of the TCP layer.Most benchmark tools for TCP require Unix [17]. A softwaretool suitable for educational and research purposes that runsover Windows is Netperf [18]. Netperf is a benchmark tool thatcan be used to measure various aspects of networking perfor-mance. It focuses on bulk data transfer and on request/responseperformance for either TCP or UDP. Netperf has been modifiedinthislaboratorytofacilitatetheeducationalprocessandtosup-port IPv6 [19] for Windows.Based on these modifications, several laboratory experimentswere created. The minimum requirements for an experiment isthe existence of at least two PCs with network cards, whichpreferably run Windows 2000/XP. These requirements are metat almost all computer laboratories in universities all over theworld. An IP protocol analyzer is also required. In this case, theMicrosoft Network Monitor, provided with Microsoft Windows2000 Server, was used. An important advantage of this choice isits support of IPv6. The experiments were organized to form thelaboratory exercises for students attending the third semester of the M.Sc. program in telecommunications. This program takesplace in the School of Science of the Aristotle University of Thessaloniki, Thessaloniki, Greece. 0018-9359/$20.00 © 2005 IEEE     I   E   E   E   P  r  o  o   f 2 IEEE TRANSACTIONS ON EDUCATION, VOL. 48, NO. 2, MAY 2005 II. N ETPERF Netperf was initially developed for Unix environmentsbut was later ported to support Microsoft Windows as well.To perform the tests in Windows, Netperf makes use of theWindows socket (winsock) interface. Netperf applies theclient–server model. It consists of the executables netperf.exeand netserver.exe. Both executables and their source code arefreely available on the Internet [20], [21].The program works in the following way. On the first PC, theexecutable netserver.exe is running. On the second PC, undercommand line, the user runs the client executable netperf.exewith the command-line arguments suitable for the specific test.Every argument corresponds to a test parameter. Details of testparameters and command-line arguments are available in [18].After the test, the results are shown on the command promptwindow on the second PC. To perform multiple tests, the usermust restart the programs to both PCs. This procedure is notpractical. Moreover, the freely distributed Netperf version doesnotsupportIPv6forWindows.Therefore,Netperfwasmodifiedto do the following funtions:1) perform multiple successive tests with one programrun;2) accept data not only in command-line arguments butalso in an input file;3) write theresults of thetests in an output file ina formatthat facilitates their processing;4) measure TCP Performance over an IPv6 network.First of all, the user must define the type of test he wantsto perform. There are five options: “TCP STREAM,”“TCPIPV6 STREAM,” “UDP STREAM,” “TCP RR,”“UDP RR.” In the first three options, the throughput forbulk data transfer between two PCs is measured. The firstoption is performed over TCP/IPv4, the second over TCP/IPv6,and the third over UDP/IPv4. Essentially, these tests measurehow fast one system can send messages (data) to another andhow fast the other system can receive them. The user definesthe message size in bytes. The last two options measure therequest/response performance over TCP/IPv4 and UDP/IPv4,respectively. This performance is quoted as “transactions/sec”for a given request and response size. A transaction is definedas the exchange of a single request and a single response. Theuser declares the request and response size in bytes. Netperf offers the ability to repeat the same measurement up to 30times, until the required confidence level is achieved. One candefine the confidence level (95% or 99%), the tolerance, and themaximum and minimum number of iterations. The confidencelevel indicates the percentage of certainty of a measurementwithin the tolerance level. However, the tolerance level maynot be achieved if variation in the TCP throughput occurs afterevery iteration. This variation can come mainly from network disorder (e.g., bursty traffic) during test time. An importantparameter is the remote socket receive size (in bytes), namely,the TCP window size on the server side. Finally, the usercan define the number of successive tests performed with oneprogram run and the duration (in seconds) of each iteration.In the output file, besides the data given in the input, the userviews the results of each successive test. These results are thethroughput, in megabits pe second (Mb/s), for stream perfor-mancetestsandthetransactionspersecondforrequest/responsetests. The number of iterations needed for the required confi-dence level and the beginning date/time of each test are alsoprinted. The format of the output file does facilitate the calcula-tion of statistical elements and the creation of useful plots.III. C OURSE  O UTLINE The laboratory described here aims at being the laboratorycomplement of an advanced postgraduate computer networkscourse. The best time for this laboratory to be given is midterm,during the advanced networking course. Every student mustcomplete five exercises:1) packet trace analysis;2) TCP throughput tests;3) LAN performance analysis for a typical workday4) TCP round-trip time measurements and UDP perfor-mance tests;5) TCP performance measurements over IPv6.  A. Laboratory Logistics The student work is divided into three phases: prelaboratory,in-laboratory, and postlaboratory. Before each laboratory ses-sion,studentsattendanintroductorytwo-hour lecture.Eachlec-ture discusses the outline and scope of the correspondent lab-oratory exercise and goes over the necessary theoretical back-ground, helping the students to participate actively in the labo-ratory.The main theoretical topics covered for each laboratory arethe first lecture: TCP/IP protocol architecture, IPv4 datagramsand addresses, encapsulation of datagrams and packets, andTCP segments; the second lecture: TCP flow control, reliablepacket delivery, three-way handshake, and maximum segmentsize (MSS); the fourth lecture: bandwidth-delay product,timeout and retransmission of lost data, unreliable packetdelivery, and UDP datagrams; the fifth lecture: IPv6 datagramsand addresses, differences between IPv4 and IPv6, and theoret-ical maximum TCP throughput. The third laboratory does notrequire any additional theoretical knowledge that is not coveredin the first two lectures.At least one day before each laboratory session, students re-ceivethe corresponding lecture notes and references. Moreover,students receive a page with some prelaboratory questions thatmust be answered and turned in by the next laboratory. Thesession lasts four hours each week and is supervised by grad-uate teaching assistants. After completing each laboratory, stu-dents must write a short report summarizing their work and re-sults. On average, they are expected to spend about ten hours aweek working in each laboratory, including lecture, in-labora-tory time, and postlaboratory report.  B. Laboratory Configuration The laboratory exercises take place in a computer laboratory.All the PCs in the laboratory are connected to the same 10-Mb/sEthernet switch. The switch also serves the university adminis-trativeservicesPCs.Intotal,30PCsrunningvariousversionsof      I   E   E   E   P  r  o  o   f GOTSIS  et al. : A TEST LAB FOR THE PERFORMANCE ANALYSIS OF TCP OVER ETHERNET LAN 3 Fig. 2. Illustration of the laboratory environment. Windows (95, 98, NT, 2000) are connected to the switch. Stu-dents perform tests mainly on Windows 2000 and NT. Amongthe PCs in the computer laboratory, there is a Web and a FTPserver. An illustration of the laboratory environment is shownin Fig. 2. Incidentally, PCs used by administrative staff are ac-tiveonlyduringworkinghours,whilealltheotherscanbeactive24 hours a day.The workstations used for the experiments have a folder con-taining the two Netperf executables and the test input file. Onevery workstation, Microsoft Network Monitor and IPv6 pro-tocol are installed. Network Monitor is a protocol analyzer usedfor packet trace analysis. The implementation of the IPv6 pro-tocol for Windows 2000 is available at the Microsoft IPv6 Web-site [22].The laboratory configuration described previously has onedisadvantage. The computer laboratory network is not isolated,but it is connected to a real network whose traffic can affectmeasurements. Therefore, the task of determining how test pa-rameters affect the network performance becomes more com-plex. On the other hand, this external traffic gives students theability to study more realistic and traffic-overloaded situations.Another potential problem is caused by the network traffic thatevery test run creates. If two or more students perform simulta-neous tests, the traffic generated by one student’s test run couldaffect the other’s performance results. To overcome the difficul-ties described, the tests are performed after working hours, andstudents are grouped in laboratory teams, performing measure-ments on different days.The design of the laboratory exercises depends on the avail-able computer resources. The best configuration is to add an ad-ditional network card to each PC connected to the productionnetwork. The extra interfaces should connect to a private net-work. With proper administration, one can perform tests eitheron the one or the other environment. This computer laboratoryaugmentation is described in [15].IV. L ABORATORY  E XERCISES In this section, the laboratory experiments are given. The lab-oratory procedures and student work that are described in thefollowing subsections could not exactly match all laboratoryconditions. The instructors should adapt the proposed labora-toryoutlinetotheavailablecomputerlaboratoryandthenumberof students taking the course, and even unify some exercises de-pending on the time and space available.  A. Packet Trace Analysis At the first laboratory session, students are asked to run aTCP STREAM test defining the send and receive TCP windowsize. After the test run, they start the protocol analyzer. Someseconds later, both test and analyzer are stopped, and studentsexamine the packets captured.Initially, the sender and receiver have to establish a TCP con-nection. The sender requests connection, the receiver acknowl-edges the request, and finally, the sender confirms the establish-ment of the connection. Students examine the three packets par-ticipating in this process. Fig. 3 shows the captured IP and TCPheaders of the packet starting the TCP connection. The sendTCP window is 16384 B (16 KB). By default, the request forTCP connection advertises a receive window size of 16 KB forWindows 2000 and 8 KB for NT [23], [24]. Students view thesequence number, the MSS, the synchronization bit, and eventhe selective acknowledgment (SACK) options [8].Then,theyare requiredtostudywhathappensduringthedatatransfer. Figs. 4 and 5 show the captured header fields of twoTCP segments (sender and receiver). One can observe the win-dows advertised by sender and receiver: 32768 B (32 KB). Thisvalueisdefinedinthetestinputfileandisobtainedafterthecon-nection establishment. The TCP acknowledgment number anddata contained in the segment are also shown.Students are then asked to run a TCP STREAM test with asend message size of 64 KB, first over Windows 2000 and thenover Windows NT. Using the protocol analyzer, they are able tofind the number of packets required by each operating systemin order to send the message. A message size of 64 KB in Win-dows 2000 requires the sending of 45 packets. The 44 packetshave a segment size of 1460 B and the final one of 1296 B:65536 B 64 KB. No extra bytes aresent. Over Windows NT, 45 packets of segment size 1460 B aresent. Therefore, the final message sent is 65700B, which indicates the existence of a padding of an additional65700-65536 164 B. This fact downgrades performance in     I   E   E   E   P  r  o  o   f 4 IEEE TRANSACTIONS ON EDUCATION, VOL. 48, NO. 2, MAY 2005 Fig. 3. IP and TCP headers of the packet requesting TCP connection. comparison with Windows 2000. If one chooses to repeat thesame test over Windows 9x, then he or she will find out that themaximum segment size is 1448 B, but no extra bytes are added.Therefore, the same 64-KB message would require 45 packetsof 1448 B and a forty-sixth packet of 376 B.This exercise shows that Netperf and the Network Monitorgive students the opportunity to study not only the protocoldetails, but also the protocol implementation related to perfor-mance. Students also study the TCP/IP implementation in rela-tion to different versions of Windows. This step is very usefulbecauseatypicalLANusuallyconsistsofcomputershavingdif-ferent versions and/or different operating systems.  B. TCP Throughput Tests The computer lab PCs are separated into a group of serversandagroupofclients.Theexecutablenetserver.exerunscontin-uously on server PCs. Students are required to perform variousTCP STREAM tests, to get an idea of how the main test pa-rameters affect TCP throughput. Typical values used for TCPwindows are integer powers of two in kilobytes. Rounding thepowers of two up to the nearest increment of the MSS of theconnectionismoreefficient[23].Forexample,16 KB 16384B, rounded up to 17520 B (twelve MSS). De facto [23], [24],the TCP window size for Windows NT ranges from 8 to 64 KB,whileforWindows2000itrangesfrom16to64KB.Thereisnorestriction on the message size. The parameters concerning theachievement of the confidence level and the test time are quite     I   E   E   E   P  r  o  o   f GOTSIS  et al. : A TEST LAB FOR THE PERFORMANCE ANALYSIS OF TCP OVER ETHERNET LAN 5 Fig. 4. Send TCP header during data transfer.Fig. 5. Receive TCP header during data transfer.TABLE IC ONFIDENCE  L EVELS  C OMPARISON significant. A confidence level of 95% is adequate for reliablemeasurements and has the obvious advantage of requiring lessiterations and, therefore, less time than a 99% confidence-leveloption. Comparison between the two options is made in Table I.A maximum of ten iterations, each lasting 30 s, is usually satis-factory.Moreiterationscanleadtolongtestswithoutsignificantdifferenceintheaccuracyoftheresults.Oneshouldfindthebestpossible values for test duration and accuracy.In the first part of this exercise, the students are asked tomeasure the average TCP throughput for the following receiveTCP window values in bytes: 8760, 17520, 32120, and 64240.The message size is constant: 4 Kbytes. in the second part, thewindow size is kept constant at 32120 B, and the message size
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks