Having multiple network interfaces or gateways available, the Internet users can transfer their data through multiple paths to achieve load balancing, fault-tolerance, and more aggregate bandwidth. However, transferring the packets of the same flow over multiple paths with diverse delays could introduce reordering among the received packets at the destination. In TCP, fast-retransmit/recovery might mistake reordered packets for lost packets and hence degrades the throughput. In UDP, we require larger buffers to keep out-of-order received packets. In this thesis, we propose two approaches at the IP layer to address the reordering problem of TCP and UDP. In the case of TCP, the key observation is that the interleaved reception of the packets at the destination does not trigger the fast-retransmit/recovery mechanism, even though the packets are received reordered. Therefore, the IP layer who is in charge of alternating the packets among the multipath available paths needs to linger on the slower path for at least the delay difference between the paths. In the case of UDP, the proposed approach schedules the packets at the source to have them received in-order at the destination.