Performing random walks in networks is a fundamental primitive that has found applications in many areas of computer science, including distributed computing. In this paper, we focus on the problem of performing random walks efficiently in a distributed network. Given bandwidth constraints, the goal is to minimize the number of rounds required to obtain a random walk sample. All previous algorithms that compute a random walk sample of length as a subroutine always do so naively, i.e., in O( ) rounds. The main contribution of this paper is a fast distributed algorithm for performing random walks. We show that a random walk sample of length can be computed in ~O( 2/3 D1/3 ) rounds on an undirected unweighted network, where D is the diameter of the network.1 When = (D log n), this is an improvement over the naive O( ) bound. (We show that (min{D, }) is a lower bound and hence in general we cannot have a running time faster than the diameter of the graph.) We also show that our algorithm ...