The VINT Project A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC. Kevin Fall kfall@ee.lbl.gov , Editor Kannan Varadhan kannan@catarina.usc.edu , Editor
November 4, 2011
ns c is LBNL’s Network Simulator [24]. The simulator is written in C++; it uses OTcl as a command and configuration interface. ns v2 has three substantial changes from ns v1: (1) the more complex objects in ns v1 have been decomposed into simpler components for greater flexibility and composability; (2) the configuration interface is now OTcl, an object oriented version of Tcl; and (3) the interface code to the OTcl interpreter is separate from the main simulator. Ns documentation is available in html, Postscript, and PDF formats. See http://www.isi.edu/nsnam/ns/ns-documentation. html for pointers to these.
1 The VINT project is a joint effort by people from UC Berkeley, USC/ISI, LBL, and Xerox PARC. The project is supported by the Defense Advanced Research Projects Agency (DARPA) at LBL under DARPA grant DABT63-96-C-0105, at USC/ISI under DARPA grant ABT63-96-C-0054, at Xerox PARC under DARPA grant DABT63-96-C-0105. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the DARPA.
Contents
1 2 Introduction Undocumented Facilities 12 16
I
3
Interface to the Interpreter
OTcl Linkage 3.1 Concept Overview . . . . . . . . . . . . . . . . . . . . 3.2 Code Overview . . . . . . . . . . . . . . . . . . . . . . 3.3 Class Tcl . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Obtain a Reference to the class Tcl instance . . . 3.3.2 Invoking OTcl Procedures . . . . . . . . . . . . 3.3.3 Passing Results to/from the Interpreter . . . . . . 3.3.4 Error Reporting and Exit . . . . . . . . . . . . . 3.3.5 Hash Functions within the Interpreter . . . . . . 3.3.6 Other Operations on the Interpreter . . . . . . .
Bibliography: [1] C. Alaettino˘ lu, A.U. Shankar, K. Dussa-Zeiger, and I. Matta. Design and implementation of MaRS: A routing testbed. g Internetworking: Research and Experience, 5:17–41, 1994. [2] Sandeep Bajaj, Lee Breslau, Deborah Estrin, Kevin Fall, Sally Floyd, Padma Haldar, Mark Handley, Ahmed Helmy, John Heidemann, Polly Huang, Satish Kumar, Steven McCanne, Reza Rejaie, Puneet Sharma, Kannan Varadhan, Ya Xu, Haobo Yu, and Daniel Zappala. Improving simulation for network research. Technical Report 99-702b, University of Southern California, March 1999. (revised September 1999). [3] Paul Barford and Mark Crovella. Generating representative web workloads for network and server peformance evaluation. In Proceedings of the ACM SIGMETRICS, pages 151–160, June 1998. [4] L.S. Brakmo, S. O’Malley, and L.L. Peterson. TCP vegas: New techniques for congestion detection and avoidance. In Proceedings of the ACM SIGCOMM, pages 24–35, October 1994. [5] L.S. Brakmo, S. O’Malley, and L.L. Peterson. TCP vegas: New techniques for congestion detection and avoidance. Technical Report TR 94 04, Department of Computer Science, The University of Arizona, Tucson, AZ 85721, February 1994. [6] R. Brown. Calendar queues: A fast O(1) priority queue implementation for the simulation event set problem. Communications of the ACM, 31(10):1220–1227, October 1988. [7] Pei Cao and Chengjie Liu. Maintaining strong cache consistency in the World-Wide Web. In Proceedings of the IEEE ICDCS, pages 12–21, May 1997. [8] N. Christin, J. Liebeherr, and T. Abdelzaher. A quantitative assured forwarding service. In Proceedings of IEEE INFOCOM 2002, volume 2, pages 864–873, New York, NY, June 2002. [9] S. Deering, D. Estrin, D. Farinacci, V. Jacobson, Ching-Gung Liu, and L. Wei. An architecture for wise-area multicast routing. Technical Report USC-SC-94-565, Computer Science Department, University of Southern California, Los Angeles, CA 90089., 1994. [10] Anja Feldmann, Anna C. Gilbert, Polly Huang, and Walter Willinger. Dynamics of IP traffic: A study of the role of variability and the impact of control. pages 301–313, Cambridge, MA, USA, August 1999. [11] S. Floyd, V. Jacobson, C. Liu, S. McCanne, and L. Zhang. A reliable multicast framework for light-weight sessions and application level framing. In Proceedings of the ACM SIGCOMM, pages 342–356, August 1995. [12] H. T. Friis. A note on a simple transmission formula. Proc. IRE, 34, 1946. [13] H. W. Hethcote. The mathematics of infectious diseases. SIAM Review, 42(4):599–653, October 2000. [14] A. Heybey. Netsim Manual. MIT, 1989. [15] R. Jain. The Art of Computer Systems Performance Analysis. John Wiley and Sons, Inc., 1996. [16] Pierre L’Ecuyer. Good parameters and implementations for combined multiple recursive random number generators. Operations Research, 47(1):159–164, 1999. 432 [17] Pierre L’Ecuyer. Software for uniform random number generation: Distinguishing the good and the bad. In Proceedings of the 2001 Winter Simulation Conference, pages 95–105, December 2001. [18] Pierre L’Ecuyer, Richard Simard, E. Jack Chen, and W. David Kelton. An object-oriented random number package with many long streams and substreams. Operations Research, 2001. [19] A. Legout and E.W. Biersack. PLM: Fast convergence for cumulative layered multicast transmission schemes. In Proceedings of the ACM SIGMETRICS, Santa Clara, CA, U.S.A., June 2000. [20] J. Liebeherr and N. Christin. JoBS: Joint buffer management and scheduling for differentiated services. In Proceedings of IWQoS 2001, pages 404–418, Karlsruhe, Germany, June 2001. [21] J. Liebeherr and N. Christin. Rate allocation and buffer management for differentiated services. Computer Networks, 40(1):89–110, September 2002. [22] M. Mathis and J. Mahdavi. Forward acknowledgement: Refining TCP congestion control. In Proceedings of the ACM SIGCOMM, August 1996. [23] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanov. TCP Selective Acknowledgement Options, RFC 2018 edition, 1996. [24] S. McCanne and S. Floyd. ns—Network Simulator. http://www-mash.cs.berkeley.edu/ns/. [25] S. McCanne and V. Jacobson. The bsd packet filter: A new architecture for user-level packet capture. pages 259–269, January 1993. [26] John Ousterhout. Scripting: Higher-level programming for the 21st century. IEEE Computer, 31(3):23–30, March 1998. [27] S.K. Park and R.W. Miller. Random number generation: Good ones are hard to find. Communications of the ACM, 31(10):1192–1201, October 1988. [28] Peter Pieda, Jeremy Ethridge, Mandeep Baines, and Farhan Shallwani. A Network Simulator, Differentiated Services Implementation. Open IP, Nortel Networks, 2000. [29] T. S. Rappaport. Wireless communications, principles and practice. Prentice Hall, 1996. [30] Kah Leong Tan and Li-Jin Thng. Snoopy calendar queue. In Proceedings of the 32nd conference on Winter simulation Orlando, Florida, pages 487–495, 2000. [31] D. Waitzman, C. Partridge, and S.E. Deering. Distance Vector Multicast Routing Protocol, RFC 1075 edition, 1988. [32] Xiaoliang (David) Wei. A mini-tutorial for TCP-Linux in NS-2. http://netlab.caltech.edu/projects/ns2tcplinux/. [33] Xiaoliang (David) Wei and Pei Cao. NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux. In WNS2 ’06: Proceeding from the 2006 workshop on ns-2: the IP network simulator, page 9, New York, NY, USA, 2006. ACM Press. 433