Next:
1. Introduction
Up:
The Manual (formerly Notes
Previous:
The Manual (formerly Notes
Contents
Contents
1. Introduction
2. Undocumented Facilities
1. Interface to the Interpreter
3. 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/fro 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
3.4 Class TclObject
3.4.1 Creating and Destroying TclObjects
3.4.2 Variable Bindings
3.4.3 Variable Tracing
3.4.4 command Methods: Definition and Invocation
3.5 Class TclClass
3.6 Class TclCommand
3.7 Class EmbeddedTcl
3.8 Class InstVar
2. Simulator Basics
4. The Class Simulator
4.1 Simulator Initialization
4.2 Schedulers and Events
4.2.1 The List Scheduler
4.2.2 the heap scheduler
4.2.3 The Calendar Queue Scheduler
4.2.4 The Real-Time Scheduler
4.3 Other Methods
5. Nodes and Packet Forwarding
5.1 Simulator Methods: Creating the Topology
5.2 Node Methods: Configuring the Node
5.3 The Classifier
5.3.1 Address Classifiers
5.3.2 Multicast Classifiers
5.3.3 MultiPath Classifier
5.3.4 Hash Classifier
5.3.5 Replicator
5.4 Commands at a glance
6. Links: Simple Links
6.1 Instance Procedures for Links and SimpleLinks
6.2 Connectors
6.3 Object hierarchy
6.4 Commands at a glance
7. Queue Management and Packet Scheduling
7.1 The C++ Queue Class
7.1.1 Queue blocking
7.1.2 PacketQueue Class
7.2 Example: Drop Tail
7.3 Different types of Queue objects
7.4 Commands at a glance
8. Delays and Links
8.1 The LinkDelay Class
8.2 Commands at a glance
9. Agents
9.1 Agent state
9.2 Agent methods
9.3 Protocol Agents
9.4 OTcl Linkage
9.4.1 Creating and Manipulating Agents
9.4.2 Default Values
9.4.3 OTcl Methods
9.5 Examples: Tcp, TCP Sink Agents
9.5.1 Creating the Agent
9.5.2 Starting the Agent
9.5.3 Processing Input at Receiver
9.5.4 Processing Responses at the Sender
9.5.5 Implementing Timers
9.6 Creating a New Agent
9.6.1 Example: A ``ping'' requestor (Inheritance Structure)
9.6.2 The
recv
() and
timeout
() Methods
9.6.3 Linking the ``ping'' Agent with OTcl
9.6.4 Using the agent through OTcl
9.7 The Agent API
9.8 Different agent objects
9.9 Commands at a glance
10. Timers
10.1 C++ abstract base class TimerHandler
10.1.1 Definition of a new timer
10.1.2 Example: Tcp retransmission timer
10.2 OTcl Timer class
10.3 Commands at a glance
11. Packet Headers and Formats
11.1 A Protocol-Specific Packet Header
11.1.1 Adding a New Packet Header Type
11.2 Packet Classes
11.2.1 The Packet Class
11.2.2 p_info Class
11.2.3 The hdr_cmn Class
11.2.4 The PacketHeaderManager Class
11.3 Commands at a glance
12. Error Model
12.1 Implementation
12.2 Configuration
12.3 Multi-state error model
12.4 Commands at a glance
13. Local Area Networks
13.1 Tcl configuration
13.2 Components of a LAN
13.3 Channel Class
13.3.1 Channel State
13.3.2 Example: Channel and classifier of the physical layer
13.3.3 Channel Class in C++
13.4 MacClassifier Class
13.5 MAC Class
13.5.1 Mac State
13.5.2 Mac Methods
13.5.3 Mac Class in C++
13.5.4 CSMA-based MAC
13.6 LL (link-layer) Class
13.6.1 LL Class in C++
13.6.2 Example: Link Layer configuration
13.7 LanRouter class
13.8 Other Components
13.9 LANs and routing
13.10 Commands at a glance
14. The (Revised) Addressing Structure in NS
14.1 The Default Address Format
14.2 The Hierarchical Address Format
14.2.1 Default Hierarchical Setting
14.2.2 Specific Hierarchical Setting
14.3 The Expanded Node-Address Format
14.4 Expanding port-id field
14.5 Errors in setting address format
14.6 Commands at a glance
15. Mobile Networking in ns
15.1 The basic wireless model in ns
15.1.1 Mobilenode: creating wireless topology
15.1.2 Creating Node movements
15.1.3 Network Components in a mobilenode
15.1.4 Different types of Routing Agents in mobile networking
15.1.5 Trace Support
15.1.6 Revised format for wireless traces
15.1.7 Generation of node-movement and traffic-connection for wireless scenarios
15.2 Extensions made to CMU's wireless model
15.2.1 wired-cum-wireless scenarios
15.2.2 MobileIP
15.3 Commands at a glance
16. Satellite Networking in
16.1 Overview of satellite models
16.1.1 Geostationary satellites
16.1.2 Low-earth-orbiting satellites
16.2 Using the satellite extensions
16.2.1 Nodes and node positions
16.2.2 Satellite links
16.2.3 Handoffs
16.2.4 Routing
16.2.5 Trace support
16.2.6 Error models
16.2.7 Other configuration options
16.2.8 support
16.2.9 Integration with other modules
16.2.10 Example scripts
16.3 Implementation
16.3.1 Use of linked lists
16.3.2 Node structure
16.3.3 Detailed look at satellite links
16.4 Commands at a glance
17. Restructuring ns node and new node APIs
17.1 New Node API
17.1.1 Node configuration
17.1.2 Node Creation
17.2 Comparison of new API vs old API
17.3 Advantages of the new node structure
17.4 Compatibility
17.5 Example scripts
17.6 Validation tests for new node API
17.7 Commands at a glance
18. Debugging ns
18.1 Tcl-level Debugging
18.2 C++-Level Debugging
18.3 Mixing Tcl and C debugging
18.4 Memory Debugging
18.4.1 Using dmalloc
18.4.2 Memory Conservation Tips
18.4.3 Some statistics collected by dmalloc
18.5 Memory Leaks
18.5.1 OTcl
18.5.2 C/C++
19. Energy Model in ns
19.1 The C++ EnergyModel Class
19.2 The OTcl interface
3. Support
20. Mathematical Support
20.1 Random Number Generation
20.2 Random Variables
20.3 Integrals
20.4 ns-random
20.5 Some mathematical-support related objects
20.6 Commands at a glance
21. Trace and Monitoring Support
21.1 Trace Support
21.1.1 OTcl Helper Functions
21.2 Library support and examples
21.3 The C++ Trace Class
21.4 Trace File Format
21.5 Packet Types
21.6 Queue Monitoring
21.7 Per-Flow Monitoring
21.7.1 The Flow Monitor
21.7.2 Flow Monitor Trace Format
21.7.3 The Flow Class
21.8 Commands at a glance
22. Nam Trace
22.1 Nam Trace format
22.1.1 Packet Traces
22.1.2 Node state
22.1.3 Node Marking
22.1.4 Link/Queue State
22.1.5 Agent Tracing
22.1.6 Variable Tracing
22.1.7 Miscellaneous Trace Events
22.2 Ns commands for creating and controlling nam animations
22.2.1 Node
22.2.2 Link/Queue
22.2.3 Agent and Features
22.2.4 Some Generic Commands
4. Routing
23. Unicast Routing
23.1 The Interface to the Simulation Operator (The API)
23.2 Other Configuration Mechanisms for Specialised Routing
23.3 Protocol Specific Configuration Parameters
23.4 Internals and Architecture of Routing
23.4.1 The classes
23.4.2 Interface to Network Dynamics and Multicast
23.5 Protocol Internals
23.6 Unicast routing objects
23.7 Commands at a glance
24. Multicast Routing
24.1 Multicast API
24.1.1 Multicast Behavior Monitor Configuration
24.1.2 Protocol Specific configuration
24.2 Internals of Multicast Routing
24.2.1 The classes
24.2.2 Extensions to other classes in
24.2.3 Protocol Internals
24.2.4 The internal variables
24.3 Commands at a glance
25. Network Dynamics
25.1 The user level API
25.2 The Internal Architecture
25.2.1 The class rtModel
25.2.2 rtQueue../ns-2/dynamics.tcl
25.3 Interaction with Unicast Routing
25.3.1 Extensions to Other Classes
25.4 Deficencies in the Current Network Dynamics API
25.5 Commands at a glance
26. Hierarchical Routing
26.1 Overview of Hierarchical Routing
26.2 Usage of Hierarchical routing
26.3 Creating large Hierarchical topologies
26.4 Hierarchical Routing with SessionSim
26.5 Commands at a glance
5. Transport
27. UDP Agents
27.1 UDP Agents
27.2 Commands at a glance
28. TCP Agents
28.1 One-Way TCP Senders
28.1.1 The Base TCP Sender (Tahoe TCP)
28.1.2 Configuration
28.1.3 Simple Configuration
28.1.4 Other Configuration Parameters
28.1.5 Other One-Way TCP Senders
28.2 TCP Receivers (sinks)
28.2.1 The Base TCP Sink
28.2.2 Delayed-ACK TCP Sink
28.2.3 Sack TCP Sink
28.3 Two-Way TCP Agents (FullTcp)
28.3.1 Simple Configuration
28.4 Architecture and Internals
28.5 Tracing TCP Dynamics
28.6 One-Way Trace TCP Trace Dynamics
28.7 One-Way Trace TCP Trace Dynamics
28.8 Commands at a glance
29. Agent/SRM
29.1 Configuration
29.1.1 Trivial Configuration
29.1.2 Other Configuration Parameters
29.1.3 Statistics
29.1.4 Tracing
29.2 Architecture and Internals
29.3 Packet Handling: Processing received messages
29.4 Loss Detection--The Class SRMinfo
29.5 Loss Recovery Objects
29.6 Session Objects
29.7 Extending the Base Class Agent
29.7.1 Fixed Timers
29.7.2 Adaptive Timers
29.8 SRM objects
29.9 Commands at a glance
30. PLM
30.1 Configuration
30.2 The Packet Pair Source Generator
30.3 Architecture of the PLM Protocol
30.3.1 Instantiation of a PLM Source
30.3.2 Instantiation of a PLM Receiver
30.3.3 Reception of a Packet
30.3.4 Detection of a Loss
30.3.5 Joining or Leaving a Layer
30.4 Commands at a Glance
6. Application
31. Applications and transport agent API
31.1 The class Application
31.2 The transport agent API
31.2.1 Attaching transport agents to nodes
31.2.2 Attaching applications to agents
31.2.3 Using transport agents via system calls
31.2.4 Agent upcalls to applications
31.2.5 An example
31.3 The class TrafficGenerator
31.3.1 An example
31.4 Simulated applications: Telnet and FTP
31.5 Applications objects
31.6 Commands at a glance
32. Web cache as an application
32.1 Using application-level data in
32.1.1 ADU
32.1.2 Passing data between applications
32.1.3 Transmitting user data over UDP
32.1.4 Transmitting user data over TCP
32.1.5 Class hierarchy related to user data handling
32.2 Overview of web cache classes
32.2.1 Managing HTTP connections
32.2.2 Managing web pages
32.2.3 Debugging
32.3 Representing web pages
32.4 Page pools
32.4.1 PagePool/Math
32.4.2 PagePool/CompMath
32.4.3 PagePool/ProxyTrace
32.4.4 PagePool/Client
32.5 Web client
32.6 Web server
32.7 Web cache
32.7.1 Http/Cache
32.8 Putting together: a simple example
32.9 Http trace format
32.10 Commands at a glance
7. Scale
33. Session-level Packet Distribution
33.1 Configuration
33.1.1 Basic Configuration
33.1.2 Inserting a Loss Module
33.2 Architecture
33.3 Internals
33.3.1 Object Linkage
33.3.2 Packet Forwarding
33.4 Commands at a glance
8. Emulation
34. Emulation
34.1 Introduction
34.2 Real-Time Scheduler
34.3 Tap Agents
34.4 Network Objects
34.4.1 Pcap/BPF Network Objects
34.4.2 IP Network Objects
34.4.3 IP/UDP Network Objects
34.5 An Example
34.6 Commands at a glance
9. Nam and Animation
35. Nam
35.1 Animations from nam
Bibliography
Index
1. Introduction
2. Undocumented Facilities
2000-08-24