Yes, the underlying communication uses TCP. During initialization it uses the variables you defined for addr, port, rank, and world_size to create TCPStore instances on all workers.
https://pytorch.org/docs/master/distributed.html#torch.distributed.Store 5