In this project, we propose to design, implement, and evaluate a component-based software environment for simulating and emulating network protocols in a systematic manner, and for a wide variety of target network architectures. We will also explore the use of the developed protocol components on a software-programmable router platform. The software environment has been built upon a component-based software architecture, called autonomous component architecture (ACA), that deploys a message-passing, independent execution model to realize the notion of software IC. On top of ACA, a packet-based network modeling framework, called extensible internetworking framework (EIF), has been laid to de?ne generic network components that are general enough to accommodate future technology advances. To demonstrate the use of ACA and EIF, we have implemented in Java both ACA and EIF, and an (almost) complete suite of essential Internet protocols in the Internet best-e?ort service, integrated services, and di?erentiated services architectures. The resulting code, along with a scripting framework, constitutes a network simulation environment called JavaSim.