* Augment system performance * Optimize protocol implementation * Increase code maintainability Create network communications software with a thorough understanding of the essential system-level design and implementation choices and how they affect the p