一些应用程序中需要传输大量的数据,有时能达到很多千兆字节 (GB)。因此,将所有数据放在一个大数据片段中发送并不现实。因为这样的话,网络将不能传输其它任何通信,而且发送大段数据少则需要几分钟,多则需要数个小时。此外,传输过程中一旦发生错误,整个数据文件都将丢失或需要重发。而在数据传输或接收过程中,网络设备中也没有足够的内存缓冲区来存储如此大量的数据。当然,这种局限性与网络技术和所使用的特定物理介质有关。

 
如果将应用程序数据分割成若干段,既可以保证所传输数据的大小符合传输介质的限制要求,也可以确保不同应用程序发出的数据能在介质中多路传输。
 
TCP 和 UDP 处理数据段的方式不同。
 
在 TCP 中,每个数据段报头中都包含一个序列号。该序列号允许传输层在目的主机上按原次序重组数据段。这样就确保目的应用程序收到的数据与发送设备发送的数据完全相同。
 
尽管使用 UDP 的服务也跟踪应用程序间的会话,但它们并不关注信息传输的次序,也不维护连接。UDP 报头中没有序列号。与 TCP 相比,UDP 是一种简单设计,所需开销较低,因此数据传输速度较快。
 
由于不同数据包是经由不同的网络路径传输的,因此信息到达的次序可能不同。采用 UDP 协议的应用程序必须接受数据到达的顺序和发送的次序不同这一后果。