One can always use a set of interconnected virtual machines, but even pared-down virtual machines consume sufficient resources that it is hard to create a network of more than a handful of nodes. Sometimes simulations are not possible or not practical, and network experiments must be run on actual machines.
30.5 IP Routers With Simple Distance-Vector Implementation.