next up previous contents
Next: The router Entry Up: File xsim.data Specification Previous: The convert Entry

The net Entry

 

The net entries in the xsim.data file specify the kinds of networks to include in the simulated internet, the parameters for these networks (e.g., bandwidth, latency), and the IP addresses for all networks, routers, and hosts involved in the simulation. The connectivity for the entire internetwork is specified by the

net entries alone.

In the xsim.data file, a particular net entry must come after the entries of all hosts and routers that it connects. The syntax of a network entry is defined as follows:

net <type> <net address>;
  connections = <name> [instance] <address>, <name> [instance] <address>,... ;
  args = <arg>, <arg>, ... ;

The net line specifies the type of network. Two types of networks are currently defined: Ethernet ( ETH) and point-to-point ( PP). The properties of each type are documented in subsequent sections. The <net address> field specifies the network IP address. The host portion of this address can be 0, although the full address may be specified, as is done in the example given in the previous section.

The connections line lists the IP addresses of the hosts and routers connected to this particular network; only the host part of the IP address should be specified. The optional instance is used only when specifying a host, and indicates the name of the driver instance that is connected at that IP address (e.g., ethd/1).

There are several things to keep in mind when specifying IP addresses for networks, hosts, and routers.

The args line includes parameters specific to the type of the network being defined, and are used to define aspects of the network such as its bandwidth, the network MTU, and the associated framing overhead. Parameters for Ethernet are listed in Section 3.3.1, paremeters for point-to-point links are given in Section 3.3.2. A syntactic point to be aware of is that no spaces should be included anywhere between the argument and its value: rate=10Mb.

Ethernet ( ETH)

 

The Ethernet network type simulates a multiple access network with optional collision detection. Note that this is really an abstract network type, capable of simulating networks with a variety of characteristics. If no arguments are specified, the network's default configuration is that of a 10Mbps Ethernet, with the exception that collision detection is disabled. However, the bandwidth, latency, packet overhead, and MTU can be changed to produce networks with behaviors different from that of the standard Ethernet.

The following arguments can be specified on the args line of an Ethernet entry.

collisions= on | off

Enables/disables Ethernet collisions. When this option is off, two or more hosts are allowed to successfully transmit on the Ethernet simultaneously. When on, if two hosts send simultaneously, a collision is detected and the hosts perform the Ethernet exponential backoff algorithm. The default is off.

delay=<integer>[unit]

Sets the latency, that is, the time it takes for a packet to propagate from one end of the network to the other. The optional unit can be us (microseconds), ms (milliseconds), or s (seconds). The default value is 0, and the default unit is microseconds.

maxPacket=<integer>

Specifies, in bytes, the maximum packet size for the network. Packets larger than this maximum should be fragmented by a higher-level protocol; if they are not, they will be dropped. The default

maxPacket for ETH is 1518, comprising 1500 bytes of payload, 14 bytes of Ethernet header, and a 4-byte CRC.

minPacket=<integer>

Specifies, in bytes, the minimum packet size for that network. Packets smaller than the minimum will be padded. The default

minPacket for ETH networks is 64 bytes, 14 of which are for the Ethernet header, and 4 for the CRC.

pktHeader=<integer>

For use with minPacket and maxPacket. The simulator adds the value of pktHeader to the length of the message pushed to SIM to determine the packet's length. In ETH, since the header is attached by the ethd protocol, the network's

pktHeader defaults to 0. In other words, the size of a packet is given by the size of the message pushed to SIM, plus

pktHeader. If packet < minPacket, it is padded; if packet > maxPacket, it is dropped. When using

ETH networks to model other types of networks, one may want to use negative values for pktHeader when the modeled network's header is less than 14 bytes.

pktOverhead=<integer>

Conceptually, this option adds the specified number of bytes to each packet as it is transmitted on the network. The intended use is to model the overhead consumed by framing information. The added

pktOverhead does not count as part of the packet length from the standpoint of minPacket or maxPacket. The default is 8, as Intel's Lance uses 8 bytes for framing.

rate=<real>[unit] | T1 | T3

Sets the bandwidth, in units per second, for the network. The rate can be a positive real number followed immediately by an optional unit. The unit is one of: MB, Mb, KB, Kb, B, or b. A B in all units represents bytes and b denotes bits. For instance, 4.5Mb specifies a bandwidth of 4.5 megabits per second. If no unit is specified, the default is bytes. T1 and T3 can also be specified as rates. T1 corresponds to approximately 1.5Mbps, and

T3 is about 45Mbps. For Ethernet, the default bandwidth is 10Mbps.

Point-to-point Links (PP)

 

The point-to-point network type can be used to connect two routers or hosts. It differs from the Ethernet in that it should be thought of as two links, one in each direction. Packets flowing in one direction cannot affect flows in the other direction.

The following arguments can be used to modify the behavior of a simulated point-to-point link. They have the same meanings as those specified above for the Ethernet.

delay=<integer>[unit]                  # default is 0
minPacket=<integer>                    # default is 0
maxPacket=<integer>                    # default is 1500
pktHeader=<integer>                    # default is 0
pktOverhead=<integer>                  # default is 0
rate=<real>[unit] | T1 | T3            # MUST be specified



next up previous contents
Next: The router Entry Up: File xsim.data Specification Previous: The convert Entry



Larry Peterson
Tue Jul 1 18:43:36 MST 1997