To me the best internet speed is available at 2-6am, and for that purpose I want to wake up my PC automatically at 2. Can you suggest any such software to accomplish this.
Use Windows Task Scheduler - create a task, schedule it for 2am, and tick the power option,
Wake the computer to run this task.
If there isn't a particular program you wish to run, just enter
cmd /c "exit"
To make it go to sleep again at 6am, best I can think of is to make sure all applications are closed by 5:45am so the computer is idle and setup your power options in Control Panel to send your computer to sleep mode after idle for 15 minutes etc.