This paper proposes a simple methodology for constructing extensible and high-fidelity TCP/IP simulators in BSD UNIX environments. A simulator constructed under this methodology will simulate multiple network nodes by re-entering the UNIX kernel of the simulation host multiple times. Generated simulation results are derived from executing the native TCP/IP protocol stack on the simulation host. They are thus more accurate than those generated from a TCP/IP network simulator that implements only an abstraction of a real-life TCP/IP implementation. By using this methodology, the simulator architecture creates an illusion for the BSD UNIX kernel that the simulated network is a real network. All existing application programs such as FTP, telnet and HTTP, and all network utilities such as route, ifconfig and tcpdump are immediately applicable to a simulated network for generating network traffic, configuring networks, gathering statistics, etc. Additionally, the network simulator provides the standard UNIX API on every node in a simulated network so that ally existing or future application program can run on any node in a simulated network. This allows a network simulator to be easily extended to study high-level network architecture and application issues.