From rjiang@sjuphil.sju.edu Sat May 3 21:59:24 1997 Received: from dunx1.ocs.drexel.edu by sjuphil.sju.edu (4.1/1.35) id AA00185; Sat, 3 May 97 21:59:23 EDT Received: from upenn.upenn.edu (TS7-04.UPENN.EDU [128.91.200.246]) by dunx1.ocs.drexel.edu (8.8.5/8.6.12) with SMTP id WAA14293 for ; Sat, 3 May 1997 22:01:16 -0400 (EDT) Date: Sat, 3 May 1997 22:01:16 -0400 (EDT) Message-Id: <199705040201.WAA14293@dunx1.ocs.drexel.edu> X-Sender: yanggn@dunx1.ocs.drexel.edu (Unverified) X-Mailer: Windows Eudora Version 1.4.3 Mime-Version: 1.0 To: jhodgson@sjuphil.sju.edu From: rjiang@sjuphil.sju.edu (Rongnan Jiang) Subject: about hw5 X-Lines: 209 Status: RO Content-Type: text/plain; charset="us-ascii" Content-Length: 7275 Dear Dr.hodgson I hand in my hw#5 to you.I use html format.I also put the hw5 to my homepage. my homepage address is ~rjiang/home.html.You can check it. Thank you ! Rongnan jiang ----------------------------------------------------------------------- Hw#5

Dummynet: a simple approach to the evaluation of network protocols

Studies on the effectiveness and performance of network protocols are usually done in operation networks, and/or through simulations. The former approach is limited by the availability of an operational network with the desired features. Also, the actual operating conditions (queue sizes, delays, external traffic sources)are often unknown and/or not easily controllable. On the other hand, testing in a real network relieves the researcher from the need of modeling and building the various traffic sources to be used in the experiments, as real world applications can be used for this purpose.

Simulations have the advantage of being much more controllable and reproducible. However, a simulated environment is always just an approximation of the reality; this is especially true for the various traffic generators which usually interact with the protocol itself. As an example, consider a simple FTP transfer over TCP. The flow of data is regulated by a number of factors, such as the size of windows, the speed of disks at the sender and the receiver side, the CPU load and scheduling of processes at the two nodes, the acknowledgment generation policy, etc. Such factors are often hard to model accurately in simulators, possibly resulting in the inaccurate or unreliable results. Nevertheless, the difficulties of setting up a real network with the desired features has simulated the development of a number of network simulators, such as REAL, Netsim and ns. The x_kernel framework has also been used for the implantation and testing of network protocols.

In most cases, the aim of experiments on network protocols is to determine their behavior in a complex network made of many nodes, routers and links, with different queuing policies, queue sizes, bandwidths, propagation delays. The difficulty of modeling complex environments often suggests the use of simplified networks where the connection under observation goes through a pair of routers (which mode the presence of queues of finite size) and a bottleneck link with given bandwidth and delay, modeling the overall bandwidth and delay. Quite often, in experiments on introducing artificial delays, real networks, one of the routers is modified to act as a "flakeway", introducing artificial delays, random packet losses and reordering. In some cases, the effects of bandwidth limitations can be simulated. Still, a couple of workstations and a bottleneck link or a local network are generally necessary to set up an experimental testbed.

In this paper it extend the concept of a flakeway and propose a simple yet very effective approach to insert a model of this simplified network in an operational protocol stack, and run experiments on a standalone system. The approach, called dummynet, is applicable to any protocol. It works by simply intercepting communication between the protocol layer under analysis and the underlying one, and simulating the presence of a real network with finite-size queues, bandwidth limitations, communication delays, and possibly lossy links. The dummynet approach gives most of the advantages of both simulation and real-world testing: great control over operating parameters, simplicity, ability to use real traffic generators. With the tool one can run experiments such as the one mentioned in a single workstation, by using unmodified real-world applications (e.g. FTP, Telnet, Web browser) as traffic generators. As a consequence, running an experiment is as easy (and quick)as running the desired set of applications on a workstation. Since dummynet introduces almost no overhead in communication, experiments can be done up to the maximum operating speed supported by the system in use.

The approach allows experiments to be run on a standalone system, without the need of a network, and can be used to simulate networks with arbitrary topologies.

In a typical protocl, each layer communicate with the adjacent ones, where the upper layer is generally connected to one of the communicating peers, and the lower layer connects to "the network". In order to simulate the present of a network between two communicating peers, the following elements need to be insert in the flow of data: *routers with bounded queue size and a given queueing policy; *communication links (pipe)with a given bandwidth and delay. Additionally, random packet reordering and losses can be introduced to simulate the unreliability of real networks. Such features are important when the real network has redundant path.

The simplest setting usually includes one or two routers and one pipe. Both elements can be easily modeled by a couple of queues, rq and pq, insert between the protocol layer under observation and lower layer. The following processing is necessary on traffic exchanged between two layers: 1. when a layer communicates with the next one (above or below), packets are inserted in rq. Random reordering of packets can be introduced at this stage. 2. packets are moves from rq to pq at a maximum rate of B bytes per second. 3. packets remain in pq for tp second, after which they are dequeued and sent to the next protocol layer. Random losses can be introduced at this stage. The resulting system can almost simulate all settings used in the literature where a bottleneck can be identified.

dummynet is particularly useful when studding the interaction between protocols and application programs in unsual or hard to reproduce settings. It also can be used in: 1. Debugging, 2. Study of new protocol, 3. Performance evaluation.

Above have shown how experiments on network protocols can be done easily on a standalone system using real world applications as traffic generators. The approach gives the advantages of both real-world testing and simulation: simplicity of use, high control over operating parameters, high accuracy, no need for complex hardware settings, no overhead for running simulations. Especially, experiments can be run using a single workstation and do not require the presence of a real network.

The convenience of use of a system such as dummynet really encourages to make experiment with different system configurations, and do not try variation to existing protocols. dummynet is especially useful when developing completely new protocols, as a suitable tested might simply not exist. The use of dummynet can speed up dramatically the analysis and development of protocols, making the simulation environment readily available in a production environment and easily interfaced with other working systems.

this paper is summerized from Luigi Rizzo " Dummynet :a simple approach to the evaluation of network protocols", January 1997 valume 27,number 1 Computer Communication Review