"**** that man. If I think he's after me, I'm running."
As he left, he reviewed his story. He had gotten the main part from a script for a play his friend wrote. The names he had gotten for an article, and Keyser Soze he had gotten from a legend that was actually true from his hometown. A bartender he knew had been one of his ex-henchmen. If they checked out Keyser Soze they'd find that he was a crimelord who did indeed have some vampire connections. Fenster, Hockney, Keaton and McManus were also names he took from the paper.
Vader's wife was very pregnant when she died 19 years ago. All of a sudden a 19 year old who is very strong in the force and has a distinct resembalance to him in his younger days rolls in from Vader's home planet with his old Master Obi-Wan (Who was the ONLY other person preset at the time his wife died. And to boot, the kid's last name is Skywalker.
So in answer to your question, he knew Luke was his son because his name is Darth Vader, and not Darth Retard.
-Forum post on why Vader knew Luke was his son.