In the recent decade, a significant discrepancy has been identified between the IP-based Internet architecture and its primary use. Despite being fundamentally designed for facilitating ubiquitous interconnectivity between communication endpoints, the TCP/IP protocol suite is overwhelmingly used for content distribution. In fact, the IP-based architecture has several limitations when dealing with large-scale content distribution, including multicasting efficiency, handshaking overhead, mobility, routing scalability, and security. These limitations, facing the IP paradigm, have fostered the design of novel Internet architectures to meet the accelerating expansion in consumer Internet traffic. Named Data Networking (NDN) is a data-centric Internet architecture solution. It has recently received much attention as an efficient alternative Internet architecture to the IP-based Internet architecture. Generally, NDN represents a clean-slate receiver-oriented design which utilizes the Interest/Data model to retrieve data from possible source nodes [ZAB+14]. NDN architecture is based on four main concepts: content forwarding, in-network caching, multicasting, and built-in security at the data level. In-network caching and multipath forwarding strategies are the two significant features of NDN architecture. Content forwarding directly leverages data names—that carry application semantics - to exchange two types of packets, i.e. Interest and Data. In fact, the current routing algorithms of NDN networks do not make use of the unique NDN primitives, such as in-network caching and multipath forwarding. Therefore, this thesis is devoted to the development of a novel routing algorithm that improves the performance of NDN networking in terms of overall network resource-usage efficiency, data retrieval delay, and bandwidth. Aside from routing, the caching strategy of NDN networks completely ignores the topology structure of the network, thus the cache memories are exhausted in vain. Accordingly, a challenge of improving the routing strategy together with increasing the caching efficiency emerges. To tackle this challenge, three different methods to optimize the performance of the current caching capability and the forwarding mechanism of NDN are proposed, namely the Hop Distance Aware Caching (HDAC) strategy, the Segmented Data Aware Routers (SDAR) method, and the Knowledge Sharing-Based Forwarding (KSBF) strategy. The purposed KSBF strategy employs statistical information shared by neighbor routers and makes a forwarding decision for an Interest packet based on this knowledge. In other words, each NDN router selects the next hop based on what is called the “most probable path” rather than the best path determined by computing the Dijkstra algorithm. The process of sharing of statistical information is mainly controlled by the NDN forwarding mechanism. The SDAR method focuses on reducing the segmented data retrieval latency. In addition, a novel caching policy, i.e. HDAC strategy, is proposed to make a decision of whether to store the incoming packets in the memory based on the distance between the various NDN routers. Through evaluating the performance of the proposed methods, it is found that they significantly reduce the data retrieval time, the total resource usage and the overall bandwidth consumption.