ISP's normally rate their speeds in Mb/sec (megabits per second) and not
MB/sec (megabytes per second). A bit is a one or zero, a byte consists of 8
bits. In your example a 2 MB file, which is two million bytes, translates to
sixteen million bits. When a file transfer is started several things must be
agreed upon between your computer and the remote computer. One of which is
the packet size. On average the default packet size in windows is 64 kB
(KiloBytes), 64000 Bytes or 512000 bits, this means your 2 MB file has to be
broken down into 64 KB chunks. This chunks are then sent and an
acknowledgement has to be received from the remote computer stating the
packet has been received. Your upstream bandwith is 1.5 Mb/sec, 1500000 bits
per second or 187 KiloBytes per second. Your total upstream bandwith is .187
MB/sec or 187 KB/sec, a packet size or 64 KB allows 2 packets per second with
acknowledgments.
Total File Size 2 MB or 2,000,000 Bytes
Packet Size 64 KB or 64000 Bytes
Total number of packets for 2 MB file is 31,250
Theoritical transfer rate 187 KB/sec or 2 packets per second
Theoritical time to transfer 4.5 minutes
Now that is in theory, in actuality your packet size may and more than
likely will be smaller, the packet size is determined by negotiating with the
remote computer.
I hope I have helped more than I have confused.