The recent advances in high speed network technologies have made parallel and distributed computing over a Network of Workstations (NOW) an attractive and a cost effective computing environment. However, the performance of parallel and distributed applications running on NOW resources suffers from high latency and low throughput even when the network speed is in Megabit or Gegabit per second range. The main reasons for the low performance can be contributed to the design of the host network interface (HNI) and the software mechanisms used to transmit data from the host to the network and vice versa. We review HNI designs and propose a hierarchical taxonomy to characterize and describe the architectures of HNI. The taxonomy consists of two levels of characterization: architectural level and protocol level. In the architectural level, we describe the main components used to implement any HNI and how they interact with each other to perform the HNI functions. In the protocol level, we describe how the software functions (data copying, transport protocol functions, etc.) are mapped into the main HNI components identified at the architecture level. We provide several examples that show how our taxonomy can accurately describe the architectures of HNI and also characterize the performance limitations of any HNI design.