NDN has three core concepts that distinguish NDN from other network architectures. First, applications name data and data names will directly be used in network packet forwarding; consumer applications request desired data by its name, so communications in NDN are consumer-driven. Second, NDN communications are secured in a data-centric manner, that is, each piece of data (called a Data packet) will be cryptographically signed by its producer and sensitive payload or name components can also be encrypted for the purpose of privacy; in this way, consumers can verify the packet regardless of how the packet is fetched. Third, NDN adopts a stateful forwarding plane where forwarders will keep a state for each data request (called an Interest packet) and erase the state when a corresponding Data packet comes back; NDN's stateful forwarding allows intelligent forwarding strategies and eliminates loops.