વપરાશકર્તા અને સર્વર વચ્ચેના ડેટાના પ્રવાહને નિયંત્રિત કરવા માટે TCP ફ્લો કંટ્રોલ નામનો પ્રોટોકોલ બનાવવામાં આવ્યો હતો.
તે સુનિશ્ચિત કરે છે કે ડેટા મોકલવા અને પ્રાપ્ત કરવા માટે ચોક્કસ માત્રામાં બેન્ડવિડ્થ ઉપલબ્ધ છે જેથી પ્રક્રિયા કોઈપણ ગંભીર સમસ્યાઓનો સામનો કર્યા વિના આગળ વધી શકે.
TCP પ્રોટોકોલ આને પરિપૂર્ણ કરવા માટે સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ તરીકે ઓળખાતી પદ્ધતિનો ઉપયોગ કરે છે.
અમે આ ભાગમાં TCP ફ્લો કંટ્રોલ પર ઊંડાણપૂર્વક વિચાર કરીશું, જેમાં તે કેવી રીતે કાર્ય કરે છે અને સૌથી મહત્ત્વપૂર્ણ રીતે, સ્લાઇડિંગ વિન્ડો પ્રોટોકોલનો સમાવેશ થાય છે.
TCP ફ્લો કંટ્રોલ શું છે?
TCP પ્રોટોકોલ એ સુનિશ્ચિત કરે છે કે અણધારી નેટવર્ક પર વિશ્વસનીય સંચાર ચેનલ સ્થાપિત કરી શકાય છે.
ડેટા પેકેટ ખોવાઈ શકે છે, ક્રમની બહાર આવી શકે છે, નેટવર્કમાં બેકઅપ લઈ શકે છે અથવા પ્રાપ્ત નોડ પર ઓવરલોડ થઈ શકે છે કારણ કે તે એક નોડથી બીજામાં મોકલવામાં આવી રહ્યા છે.
જો કે, એપ્લિકેશન વિકસાવતી વખતે, અમારે સામાન્ય રીતે આ જટિલતાનો સામનો કરવો પડતો નથી; તેના બદલે, અમે અમુક ડેટા સોકેટમાં મોકલીએ છીએ, અને TCP ખાતરી કરે છે કે પેકેટો પ્રાપ્તકર્તા નોડને સફળતાપૂર્વક વિતરિત કરવામાં આવે છે..
ફ્લો કંટ્રોલ એ એક નિર્ણાયક વધારાની સુવિધા છે જે TCP ઓફર કરે છે.
ફ્લો કંટ્રોલના ઉપયોગ દ્વારા, TCP અનિવાર્યપણે ખાતરી કરશે કે પ્રેષક રીસીવરને એકસાથે ઘણા બધા પેકેટો મોકલતો નથી.
ટ્રાન્સફર કંટ્રોલ પ્રોટોકોલ - ફ્લો કંટ્રોલ કેવી રીતે કાર્ય કરે છે?
આ સામાન્ય રીતે ત્યારે થાય છે જ્યારે આપણે નેટવર્ક પર ડેટાનો સંચાર કરવાની જરૂર હોય છે.
પ્રેષક એપ્લિકેશન સોકેટમાં ડેટા મોકલે છે, પરિવહન સ્તર (આ કિસ્સામાં, TCP) આ ડેટાને સેગમેન્ટમાં પેકેજ કરે છે, અને નેટવર્ક સ્તર (ઉદાહરણ તરીકે, IP) આ પેકેટને અમુક માર્ગ દ્વારા પ્રાપ્ત નોડ પર પસાર કરે છે.
નેટવર્ક લેયર આ ડેટાને વાતચીતના અંતે TCP પર ટ્રાન્સમિટ કરશે, અને TCP તેને પ્રાપ્ત કરનાર એપ્લિકેશનને આપેલા ડેટાના સમાન ડુપ્લિકેટ તરીકે ઉપલબ્ધ કરાવશે.
TCP ઓર્ડરની બહાર પેકેટો પહોંચાડશે નહીં અને જો તે બાઈટ સ્ટ્રીમ ગેપ શોધી કાઢે તો ફરીથી ટ્રાન્સમિશનની રાહ જોશે.
જો આપણે ઝૂમ ઇન કરીએ તો આ આપણે જોશું.
TCP પર ટ્રાન્સમિટ અને રીસીવ બફર્સ બંનેનો ઉપયોગ ડેટા રાખવા માટે થાય છે જે અનુક્રમે મોકલવા અને પ્રાપ્ત કરવાના હોય છે.
પ્રાપ્ત બફરમાંથી ડેટા જ્યારે તે તૈયાર થાય ત્યારે એપ્લિકેશન દ્વારા વાંચવામાં આવશે.
જ્યારે રીસીવરનું રીસીવ બફર પહેલેથી જ ભરેલું હોય ત્યારે અમે વધારાના પેકેટો ન મોકલીએ તેની ખાતરી કરવી એ ફ્લો કંટ્રોલનું મુખ્ય ધ્યેય છે કારણ કે આમ કરવાથી રીસીવરને વધારાના પેકેટો છોડવા માટે દબાણ કરવામાં આવશે જેને તે હેન્ડલ કરી શકતું નથી.
TCP ટ્રાન્સફર કરી શકે તેવા ડેટાના જથ્થાને મર્યાદિત કરવા માટે રીસીવર તેની રીસીવ વિન્ડો અથવા રીસીવ બફરમાં ઉપલબ્ધ જગ્યાની જાહેરાત કરશે.
સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ
TCP માં સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ એ સૌથી વધુ ઉપયોગમાં લેવાતી પ્રવાહ નિયંત્રણ પદ્ધતિઓમાંની એક છે. તે ચલ-કદ, બાઈટ-ઓરિએન્ટેડ પ્રક્રિયા છે.
આ અભિગમમાં, પ્રેષક અને રીસીવર કનેક્ટ થતાંની સાથે જ રીસીવર પ્રેષકને રીસીવર વિન્ડો મોકલે છે.
રીસીવરના વર્તમાન બફરના કદને રીસીવર વિન્ડો તરીકે ઓળખવામાં આવે છે.
ઉપલબ્ધ રીસીવર વિન્ડોના આધારે હવે TCP દ્વારા સ્વીકૃતિ વિના આગળ મોકલી શકાય તેવા ડેટાની માત્રાની ગણતરી કરવામાં આવે છે.
જો કે, જો રીસીવર વિન્ડોની સાઇઝ 0 હોય અને તે વધવાની રાહ જુએ તો TCP ડેટા ટ્રાન્સફર બંધ કરે છે.
રીસીવર વિન્ડોનું કદ TCP ફ્રેમનો એક ઘટક છે.
વિન્ડોની મહત્તમ સાઇઝ 65,535 બાઇટ્સ છે કારણ કે તેમાં 16 બિટ્સની વિન્ડો સાઇઝ છે.
વિન્ડોનાં પરિમાણો પ્રાપ્તકર્તા દ્વારા પસંદ કરવામાં આવે છે. દરેક સ્વીકૃતિ સંદેશ સાથે, રીસીવર રીસીવર વિન્ડોના કદને પ્રસારિત કરે છે જે હાલમાં ઉપલબ્ધ છે.
સ્લાઇડિંગ વિન્ડો પ્રોટોકોલની પ્રક્રિયા
સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ ટેકનિકનો ઉપયોગ કરતી વખતે, મોકલનાર અને રીસીવર કનેક્ટ થતા હોય ત્યારે બે બફર સ્થાપિત થાય છે.
આ બે બફર્સને બે જૂથોમાં વિભાજિત કરવામાં આવ્યા છે: મોકલવાની વિન્ડો, જે પ્રેષકની છે, અને પ્રાપ્ત કરવાની વિન્ડો, જે પ્રાપ્તકર્તાની છે.
જ્યારે મોકલનાર રીસીવરને ડેટા ટ્રાન્સમિટ કરે છે ત્યારે રીસીવિંગ વિન્ડો બાકીની રીસીવિંગ બફર સ્પેસ પાછી આપે છે.
પરિણામે, પ્રેષક ડેટાની માત્રા સુધી મર્યાદિત છે જે પ્રાપ્ત કરનાર બફરમાં ફિટ થઈ શકે છે.
ઉપરના ઉદાહરણમાં ટ્રાન્સમિટિંગ વિન્ડો પ્રાપ્ત વિન્ડોમાં ડેટા ટ્રાન્સમિટ કરે છે.
ડેટા પ્રાપ્ત કર્યા પછી, પ્રાપ્ત વિન્ડો એક સ્વીકૃતિ મોકલે છે, અને પછી ટ્રાન્સમિટિંગ વિન્ડો એક નવી ડેટા ફ્રેમ ટ્રાન્સમિટ કરે છે.
આ વખતે, જોકે, પ્રાપ્તિ વિન્ડો વધુમાં એક સંદેશ મોકલે છે જેમાં જણાવવામાં આવ્યું છે કે ઉપલબ્ધ મેમરી તેને પ્રાપ્ત થયેલી સ્વીકૃતિ ઉપરાંત ભરેલી છે.
ટ્રાન્સમિટિંગ વિન્ડો ડેટા ટ્રાન્સમિશનને ત્યાં સુધી થોભાવે છે જ્યાં સુધી તેને રિસિવિંગ વિન્ડોમાંથી ખાતરી ન મળે કે જગ્યા ખાલી કરવામાં આવી છે, તે સમયે તે ડેટા ટ્રાન્સમિશન ફરી શરૂ કરી શકે છે.
ઉપસંહાર
નિષ્કર્ષમાં, ડેટા કનેક્શન લેયર અને ટ્રાન્સપોર્ટ લેયર ફ્લો કંટ્રોલની ચિંતાઓને હેન્ડલ કરવા માટે જવાબદાર છે.
ફ્લો કંટ્રોલ મિકેનિઝમનો મૂળ ઉદ્દેશ રીસીવરને ઝડપી-ટ્રાન્સમિટિંગ પ્રેષકના ડેટા સાથે વધુ પડતા બોજથી અટકાવવાનો છે.
જો પ્રેષક દ્વારા ટ્રાન્સફર કરવામાં આવતો ડેટા ભૂલ-મુક્ત હોય અને શક્તિશાળી મશીનને કારણે ઝડપી દરે મોકલવામાં આવે તો પણ, શક્ય છે કે ધીમા છેડાનો રીસીવર ઝડપી ડેટા રેટને હેન્ડલ કરવામાં અસમર્થ હશે અને તેથી તે કેટલોક ડેટા ગુમાવશે.
એક જવાબ છોડો