Kademlia has 4 RPC messages:
pingstorefind_nodefind_value
How does a Kademlia node find the value for a given key? Given an id, it is clear that it will take only $log(n)$ steps for a node in a network of size $n$ to find the node with that id. But how can a node efficiently find another node that has stored a given key-value pair? It would have to be of the order of $n$ nodes to retrieve the value for a key if one knew nothing about the node holds it.