While the traditional division between hardware and software development provides a useful layer of abstraction that allows developers to create complex software applications with limited knowledge of the underlying hardware, it has led to an inflexible boundary between the division of labor in hardware and software. This abstraction has been necessary to allow developers to create innovative and complex software applications efficiently, while the underlying hardware evolved separately. Recently, however, hardware design has become much simpler with the advent of high-performance programmable and reconfigurable logic. With these devices, developers now have the choice to develop custom hardware efficiently and cost-effectively. This thesis argues that developers now need to look at the boundary between hardware and software when developing performance-critical applications in networked systems. This thesis shows that, for a variety of applications, using custom hardware can be a better choice than a pure software design running on commodity hardware. To demonstrate this argument, a hardware-amenable Internet routing protocol is developed that outperforms the Border Gateway Protocol (BGP), due to its increased performance in a pure hardware implementation. To demonstrate the generality of this technique, a hardware-based network simulator is developed that can outperform ns-2 for a specific class of simulations. These implementations show that, with only a moderate amount of design complexity, hardware-aware and hardware-amenable designs can significantly improve performance.