Die maximale Datengröße, die die Anwendungsschicht unten an TCP weitergeben kann, hängt vom Betriebssystem, der Hardwarearchitektur des Hostcomputers und der Netzwerküberlastung ab. Im Allgemeinen ist die maximale Datengröße, die an TCP weitergegeben werden kann, durch die maximale Segmentgröße (MSS) begrenzt. Der MSS ist ein Parameter, der zwischen Sender und Empfänger einer TCP-Verbindung ausgehandelt wird und der die maximale Datenmenge darstellt, die in einem einzelnen TCP-Segment gesendet werden kann. Der MSS wird normalerweise auf einen Wert eingestellt, der etwas kleiner ist als die maximale Übertragungseinheit (MTU) der Netzwerkschnittstelle. Dies ist die größte Paketgröße, die im Netzwerk ohne Fragmentierung übertragen werden kann. Das MSS liegt je nach Netzwerkschnittstelle typischerweise zwischen 536 und 1460 Byte.
Beispielsweise beträgt in einem typischen Ethernet-Netzwerk mit einer MTU von 1500 Byte die maximale Datengröße, die die Anwendungsschicht an TCP weitergeben kann, 1460 Byte, was dem MSS für Ethernet-Netzwerke entspricht. Auf einer anderen Netzwerkschnittstelle mit einer anderen MTU wäre die maximale Datengröße, die die Anwendungsschicht unten an TCP weitergeben kann, unterschiedlich.
Die maximale Datengröße, die nachfolgend an TCP weitergegeben werden kann, kann auch durch den auf dem Host-Computer verfügbaren Pufferspeicher begrenzt werden. Wenn der verfügbare Pufferplatz kleiner als der MSS ist, muss die Anwendungsschicht ihre Daten in kleinere Blöcke aufteilen, bevor sie sie an TCP weitergibt.