Dogs pull on leash to get where they want to go, when it works it reinforces the pulling behavior.
Dogs pull on leash to get to where they are going. If pulling didn't work, they wouldn't perform the behavior. We must assume then that getting to where they would like to go is a potent reinforcer. For this exercise, you won't need any treats, movement forward will be the reward.
When the dog pulls, stop moving, and don't let the leash extend any further than it has so far. Wait until your pup pays attention to you once again, then praise your dog while you begin walking again. If at any time the leash becomes tight, simply stop moving and wait. The dog will quickly learn that his actions control the walk.
Avoid walking your dog on a retractable leash, aside from retractable leashes being incredibly dangerous for both you and your dog, they tend to hold a constant pressure. This will make it harder for your dog to tell the difference between when they are pulling and when they are not. For the best chances of success, you will need a plain leash that can go slack.
One of the big concerns I hear with this approach is "I need to walk X amount of miles for my dog to get tired!" Walking in circles in your driveway and making your pup think and problem solve will tire him just as much as an impolite marathon. When exercising your pup's body alone, your dog may build a tolerance, and with time you have to add more and more physical exercise to tire your dog. However combining training and mental stimulation into your exercise routine can relieve both mental and physical energy leading to a calmer dog and a better relationship for the both of you.
Consistency is key to training, to communicate effectively with your dog the rules must always be the same. Never allow a dog that is pulling to move forward, and the behavior will disappear.
The golden rule: When your dog pulls on the leash, stand still and wait for your dog's attention before moving forward.