This paper presents a randomized Las Vegas distributed algorithm that
constructs a minimum spanning tree (MST) in weighted networks with optimal (up
to polylogarithmic factors) time and message complexity. This algorithm runs in
O~(D+n) time and exchanges O~(m) messages (both with
high probability), where n is the number of nodes of the network, D is the
diameter, and m is the number of edges. This is the first distributed MST
algorithm that matches \emph{simultaneously} the time lower bound of
Ω~(D+n) [Elkin, SIAM J. Comput. 2006] and the message
lower bound of Ω(m) [Kutten et al., J.ACM 2015] (which both apply to
randomized algorithms).
The prior time and message lower bounds are derived using two completely
different graph constructions; the existing lower bound construction that shows
one lower bound {\em does not} work for the other. To complement our algorithm,
we present a new lower bound graph construction for which any distributed MST
algorithm requires \emph{both} Ω~(D+n) rounds and
Ω(m) messages