TCP સ્લાઈડીંગ વિન્ડોનો ઉપયોગ કરી ફલો-નિયંત્રણ હાથ ધરે છે. મોકલનાર તરફથી મોકલતા ડેટા ને મેળવનાર ના ડેટા નિયંત્રણ દ્વારા ઝીલાય છે. આનાથી મોકલનાર તરફથી (આવતા) વધી જતા ડેટાનું નિયંત્રણ કરવા End-to-End ફ્લો નિયંત્રણ પ્રોટોકોલનો ઉપયોગ કરે છે. TCP ક્રમાંક આપવાની પધ્ધતિથી બાઈટ આધારિત ફલો નિયંત્રણ કરે છે. TCP ફલો નિયંત્રણ માટે વિવિધ પર્યાવરણો અનુસાર તેની વાર્તાલાપની ઝડપ માં વધારો ઘટાડો કરે છે. ઉદાહરણ તરીકે, જયારે કોઈ કમ્પ્યુટર કોઈ સ્માર્ટફોનને ડેટા મોકલે ત્યારે ફોનની ડેટા મેળવવાની ક્રિયા ધીરી હોવાથી ફોન ડેટા-પ્રવાહને નિયંત્રિત કરે છે. 

TCP સ્લાઈડીંગ વિન્ડોની મદદથી ફલો નિયંત્રણ કરે છે. દરેક TCP સેગ્મેન્ટમાં મેળવનાર તેની રીસીવ-વિન્ડો ફિલ્ડમાં સ્પષ્ટ કરે છે કે, તે વધારાનો કેટલો ડેટા (બાઈટમાં) મેળવી શકે છે તે પ્રમાણે જોડાણ માટે બફર તૈયાર થાય છે. મોકલનાર હોસ્ટ આટલાજ ડેટા મોકલે છે અને બીજા ડેટા મોકલતા પહેલા માટે મેળવનાર હોસ્ટ તરફથી સ્વીકૃતિ રસીદ અને નવા વિન્ડો-સુધારાની રાહ જોવી જ પડે છે. 

જયારે મેળવનાર હોસ્ટ દ્વારા ૦(શૂન્ય) માપની વિન્ડોની જાહેરાત થતા, મોકલનાર હોસ્ટ ડેટા મોકલવાનું બંધ કરે છે અને ટાઈમર ચાલુ કરી દે છે. આ ટાઈમરનો ઉપયોગ કરીને TCP ડેડલોક પરિસ્થિતિથી બચાવે છે. જયારે મેળવનાર હોસ્ટ અનુગામી વિન્ડો-માપના સુધારાને ગુમાવે છે ત્યારે મોકલનાર જ્યાં સુધી નવી વિન્ડો-માપ સુધારો મળે નહિ ત્યાં સુધી ડેટા મોક્લાતો નથી. જયારે ટાઈમર નિવૃત થાય ત્યાર બાદ મોકલનાર TCP એક નાનું સેગ્મેન્ટ મોકલી ખાતરી કરે છે કે, મેળવનાર હોસ્ટ આનો કોઈ જવાબ નવી સ્વીકૃતિ રસીદ અને વિન્ડો-માપથી આપે છે કેમ...!

જો મેળવનાર તેની અંદર આવતા ડેટા પર નાના વૃદ્ધિદરે પ્રક્રિયા કરતો હોયતો, તે હોસ્ટ તે પ્રમાણે નાના માપની પ્રાપ્ત-વિન્ડોની જાહેરાત કરે છે. આ અવિવેકી વિન્ડો લક્ષણસમૂહ તરીકે ઓળખાય છે કેમકે, જ્યાં સુધી TCP સેગ્મેન્ટમાં માત્ર થોડાજ બાઈટ ભરીને મોકલવા બિનકાર્યક્ષમ હોય, અને જે તે TCP મથાળા માટે મોટા ઓવરહેડ આપે છે. TCP મોકલનાર અને મેળવનાર બંને મોટેભાગે નાના સેગ્મેન્ટોને વાંરવારન મોકલવા પડે તે માટે તાર્કિક ફલો નિયંત્રણની નિમણુંક કરે છે. મોકલનારની બાજુથી અવિવેકી વિન્ડોના લક્ષણોને ટાળનાર તર્ક(પ્રમેય) ને Nagle અલ્ગોરીથમ કહેવાય છે.

ફ્લો નિયંત્રણ
જોડાણનું અપહરણ
વિશ્વસનીય પ્રસારણ
વિન્ડો માપન