As network applications are becoming increasingly sophisticated and internet traffic is getting heavier, future network processors must continue processing computation-intensive network applications at line rates. In this paper, we identify and describe in detail the specific computational features of network applications such as packet parallelism and dependency, the categorization and kernels of network applications, and the design issues for the next generation of network applications such as deep packet classification processing and security-related processing. We investigate the candidate baseline architectures of network processors to support the next generation of network applications, the desired cache and memory organization for these same applications, and how some packet dependency solutions require the processing of packets in a multiprocessor or a multithreaded environment.