  In string theory, the concept of T-duality between two principal T^n-bundles
E_1 and E_2 over the same base space B, together with cohomology classes h_1\in
H^3(E_1) and h_2\in H^3(E_2), has been introduced. One of the main virtues of
T-duality is that h_1-twisted K-theory of E_1 is isomorphic to h_2-twisted
K-theory of E_2. In this paper, a new, very topological concept of T-duality is
introduced. We construct a classifying space for pairs as above with additional
"dualizing data", with a forgetful map to the classifying space for pairs (also
constructed in the paper). On the first classifying space, we have an
involution which corresponds to passage to the dual pair, i.e. to each pair
with dualizing data exists a well defined dual pair (with dualizing data). We
show that a pair (E,h) can be lifted to a pair with dualizing data if an only
if h belongs to the second step of the Leray-Serre filtration of E (i.e. not
always), and that in general many different lifts exist, with topologically
different dual bundles. We establish several properties of the T-dual pairs. In
particular, we prove a T-duality isomorphism of degree -n for twisted K-theory.
