In Our communication systems we have limitations like signal strength to achieve communication between two points in the same country we have to build towers / etc .. my question is how does NASA communicate with spacecrafts which are billions of miles away ?
Fundamentally, they use really big, steerable satellite dishes that can point directly at the location of the spacecraft.
To add more detail to that, they use the Deep Space Network, which is a geographically dispersed set of sites where the aforementioned satellite dishes are located. The sites were selected to be spread out such that they can cover the entire sky constantly as the earth rotates (so deep space satellites always have something to talk to if needed) and located in places where the terrain blocks terrestrial radio interference (because the signal strength from satellites is faint by the time it gets back to earth).
Each of the DSN sites have multiple dishes of varying sizes to enable communication with different satellites simultaneously. To show what each site/dish is communicating with NASA provides the DSN Now page. As I'm posting this the Goldstone, USA site is communicating with the Juno spacecraft using antenna DSS 14 at a distance of 870 million km.