In this article we advance the idea of a cognitive network, capable of perceiving current network conditions and then planning, learning, and acting according to end-to-end goals. Cognitive networks are motivated by the complexity, heterogeneity, and reliability requirements of tomorrow's networks, which are increasingly expected to self-organize to meet user and application objectives. We compare and contrast cognitive networks with related research on cognitive radios and cross-layer design. By defining cognitive networks, examining their relationship to other technologies, discussing critical design issues, and providing a framework for implementation, we aim to establish a foundation for further research and discussion. [ABSTRACT FROM AUTHOR]