title: Multi-source
text: # Multi-source
  
  Multi-source, as it applies to downloading data, or files from the internet, is a method of decreasing download time for large files by getting data from two or more sources.
  
  ## Overview
  
  A program that can handle multi-source downloads will connect to one computer and begin downloading the desired file, then find another computer hosting the same file and begin downloading that file as well. The program controls downloads so that each source file provides separate data and the user does not download the same part of the file twice. The program then builds the file on the downloader's computer much faster than it would if it had to wait for the entire file to be downloaded from a single source.
  
  This works faster because the rate at which the file servers upload is finite and download rates are generally faster than upload rates. Therefore, downloading from a single server would create a bottleneck if the server's upload rate does not equal your maximum download rate. So distributing the download across multiple servers allows you to utilize all of your download rate potential.
  
  Many download managers use the principles of multi-source downloading.
  
  ## Examples of programs that use Multi-source downloading
  
  ApexDC++ is an example of a program that uses multi-source downloading. The program uses a DC (direct connect) protocol and downloads a large file by dividing it into smaller parts and downloading the smaller parts from different hosts.
  
  