ਉਪਭੋਗਤਾ ਅਤੇ ਸਰਵਰ ਵਿਚਕਾਰ ਡੇਟਾ ਪ੍ਰਵਾਹ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ TCP ਫਲੋ ਕੰਟਰੋਲ ਨਾਮਕ ਇੱਕ ਪ੍ਰੋਟੋਕੋਲ ਬਣਾਇਆ ਗਿਆ ਸੀ।
ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡਾਟਾ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਬੈਂਡਵਿਡਥ ਦੀ ਇੱਕ ਨਿਸ਼ਚਿਤ ਮਾਤਰਾ ਉਪਲਬਧ ਹੈ ਤਾਂ ਜੋ ਪ੍ਰੋਸੈਸਿੰਗ ਬਿਨਾਂ ਕਿਸੇ ਗੰਭੀਰ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕੀਤੇ ਅੱਗੇ ਵਧ ਸਕੇ।
ਇਸ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ TCP ਪ੍ਰੋਟੋਕੋਲ ਇੱਕ ਢੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਅਸੀਂ ਇਸ ਟੁਕੜੇ ਵਿੱਚ TCP ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ 'ਤੇ ਡੂੰਘਾਈ ਨਾਲ ਵਿਚਾਰ ਕਰਾਂਗੇ, ਜਿਸ ਵਿੱਚ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ, ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਤੌਰ 'ਤੇ, ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ ਵੀ ਸ਼ਾਮਲ ਹੈ।
TCP ਫਲੋ ਕੰਟਰੋਲ ਕੀ ਹੈ?
TCP ਪ੍ਰੋਟੋਕੋਲ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਭਰੋਸੇਮੰਦ ਸੰਚਾਰ ਚੈਨਲ ਇੱਕ ਅਣਪਛਾਤੇ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਡਾਟਾ ਪੈਕੇਟ ਗੁੰਮ ਹੋ ਸਕਦੇ ਹਨ, ਕ੍ਰਮ ਤੋਂ ਬਾਹਰ ਆ ਸਕਦੇ ਹਨ, ਨੈਟਵਰਕ ਵਿੱਚ ਬੈਕਅੱਪ ਲੈ ਸਕਦੇ ਹਨ, ਜਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਨੋਡ 'ਤੇ ਓਵਰਲੋਡ ਹੋ ਸਕਦੇ ਹਨ ਕਿਉਂਕਿ ਉਹ ਇੱਕ ਨੋਡ ਤੋਂ ਦੂਜੇ ਨੂੰ ਭੇਜੇ ਜਾ ਰਹੇ ਹਨ।
ਹਾਲਾਂਕਿ, ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਸਿਤ ਕਰਦੇ ਸਮੇਂ, ਸਾਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਇਸ ਜਟਿਲਤਾ ਨਾਲ ਨਜਿੱਠਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ; ਇਸਦੀ ਬਜਾਏ, ਅਸੀਂ ਸਿਰਫ ਇੱਕ ਸਾਕਟ ਵਿੱਚ ਕੁਝ ਡੇਟਾ ਭੇਜਦੇ ਹਾਂ, ਅਤੇ TCP ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪੈਕਟ ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਾਪਤਕਰਤਾ ਨੋਡ ਤੱਕ ਪਹੁੰਚਾਏ ਗਏ ਹਨ.
ਵਹਾਅ ਨਿਯੰਤਰਣ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਵਾਧੂ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਜੋ TCP ਪੇਸ਼ ਕਰਦੀ ਹੈ।
ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਦੀ ਵਰਤੋਂ ਦੁਆਰਾ, TCP ਲਾਜ਼ਮੀ ਤੌਰ 'ਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਏਗਾ ਕਿ ਇੱਕ ਭੇਜਣ ਵਾਲਾ ਇੱਕ ਪ੍ਰਾਪਤਕਰਤਾ ਨੂੰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਪੈਕੇਟ ਨਹੀਂ ਭੇਜ ਰਿਹਾ ਹੈ।
ਟ੍ਰਾਂਸਫਰ ਕੰਟਰੋਲ ਪ੍ਰੋਟੋਕੋਲ - ਫਲੋ ਕੰਟਰੋਲ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?
ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਸਾਨੂੰ ਕਿਸੇ ਨੈੱਟਵਰਕ 'ਤੇ ਡਾਟਾ ਸੰਚਾਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਭੇਜਣ ਵਾਲਾ ਐਪਲੀਕੇਸ਼ਨ ਇੱਕ ਸਾਕਟ ਵਿੱਚ ਡੇਟਾ ਭੇਜਦਾ ਹੈ, ਟ੍ਰਾਂਸਪੋਰਟ ਲੇਅਰ (ਇਸ ਕੇਸ ਵਿੱਚ, TCP) ਇਸ ਡੇਟਾ ਨੂੰ ਇੱਕ ਹਿੱਸੇ ਵਿੱਚ ਪੈਕੇਜ ਕਰਦਾ ਹੈ, ਅਤੇ ਨੈਟਵਰਕ ਲੇਅਰ (ਉਦਾਹਰਨ ਲਈ, IP) ਇਸ ਪੈਕੇਟ ਨੂੰ ਕੁਝ ਰੂਟ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਨੋਡ ਨੂੰ ਭੇਜਦਾ ਹੈ।
ਨੈੱਟਵਰਕ ਪਰਤ ਗੱਲਬਾਤ ਦੇ ਪ੍ਰਾਪਤ ਹੋਣ 'ਤੇ ਇਸ ਡੇਟਾ ਨੂੰ TCP ਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕਰੇਗੀ, ਅਤੇ TCP ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਦਿੱਤੇ ਗਏ ਡੇਟਾ ਦੇ ਸਮਾਨ ਡੁਪਲੀਕੇਟ ਵਜੋਂ ਉਪਲਬਧ ਕਰਵਾਏਗਾ।
TCP ਪੈਕੇਟਾਂ ਨੂੰ ਆਰਡਰ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਦੇਵੇਗਾ ਅਤੇ ਮੁੜ ਪ੍ਰਸਾਰਣ ਦੀ ਉਡੀਕ ਕਰੇਗਾ ਜੇਕਰ ਇਹ ਬਾਈਟ ਸਟ੍ਰੀਮ ਗੈਪ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ।
ਇਹ ਉਹ ਹੈ ਜੋ ਅਸੀਂ ਦੇਖਾਂਗੇ ਜੇਕਰ ਅਸੀਂ ਜ਼ੂਮ ਇਨ ਕਰਦੇ ਹਾਂ।
TCP 'ਤੇ ਟ੍ਰਾਂਸਮਿਟ ਅਤੇ ਰਿਸੀਵ ਬਫਰਾਂ ਦੀ ਵਰਤੋਂ ਕ੍ਰਮਵਾਰ ਡਾਟਾ ਰੱਖਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਸ ਨੂੰ ਭੇਜਿਆ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨਾ ਹੁੰਦਾ ਹੈ।
ਪ੍ਰਾਪਤ ਬਫਰ ਤੋਂ ਡਾਟਾ ਤਿਆਰ ਹੋਣ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੁਆਰਾ ਪੜ੍ਹਿਆ ਜਾਵੇਗਾ।
ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਅਸੀਂ ਵਾਧੂ ਪੈਕੇਟ ਨਹੀਂ ਭੇਜਦੇ ਹਾਂ ਜਦੋਂ ਕਿ ਰਿਸੀਵਰ ਦਾ ਰਿਸੀਵ ਬਫਰ ਪਹਿਲਾਂ ਹੀ ਭਰਿਆ ਹੋਇਆ ਹੈ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਦਾ ਮੁੱਖ ਟੀਚਾ ਹੈ ਕਿਉਂਕਿ ਅਜਿਹਾ ਕਰਨ ਨਾਲ ਰਿਸੀਵਰ ਨੂੰ ਵਾਧੂ ਪੈਕੇਟ ਛੱਡਣ ਲਈ ਮਜ਼ਬੂਰ ਕੀਤਾ ਜਾਵੇਗਾ ਜਿਨ੍ਹਾਂ ਨੂੰ ਉਹ ਸੰਭਾਲ ਨਹੀਂ ਸਕਦਾ ਹੈ।
ਟੀਸੀਪੀ ਦੁਆਰਾ ਟ੍ਰਾਂਸਫਰ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ ਪ੍ਰਾਪਤਕਰਤਾ ਆਪਣੀ ਪ੍ਰਾਪਤ ਵਿੰਡੋ, ਜਾਂ ਪ੍ਰਾਪਤ ਬਫਰ ਵਿੱਚ ਉਪਲਬਧ ਸਪੇਸ ਦੀ ਘੋਸ਼ਣਾ ਕਰੇਗਾ।
ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ
TCP ਵਿੱਚ ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਵਿਧੀਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਇਹ ਇੱਕ ਵੇਰੀਏਬਲ-ਆਕਾਰ, ਬਾਈਟ-ਅਧਾਰਿਤ ਪ੍ਰਕਿਰਿਆ ਹੈ।
ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਪ੍ਰਾਪਤਕਰਤਾ ਭੇਜਣ ਵਾਲੇ ਅਤੇ ਪ੍ਰਾਪਤਕਰਤਾ ਦੇ ਜੁੜੇ ਹੁੰਦੇ ਹੀ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਭੇਜਦਾ ਹੈ।
ਰਿਸੀਵਰ ਦੇ ਮੌਜੂਦਾ ਬਫਰ ਦੇ ਆਕਾਰ ਨੂੰ ਰਿਸੀਵਰ ਵਿੰਡੋ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਜੋ ਬਿਨਾਂ ਰਸੀਦ ਦੇ ਅੱਗੇ ਭੇਜੀ ਜਾ ਸਕਦੀ ਹੈ, ਹੁਣ ਉਪਲਬਧ ਰਿਸੀਵਰ ਵਿੰਡੋ ਦੇ ਅਧਾਰ ਤੇ ਟੀਸੀਪੀ ਦੁਆਰਾ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
TCP, ਹਾਲਾਂਕਿ, ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਨੂੰ ਰੋਕਦਾ ਹੈ ਜੇਕਰ ਰਿਸੀਵਰ ਵਿੰਡੋ ਦਾ ਆਕਾਰ 0 ਹੈ ਅਤੇ ਇਸਦੇ ਵਧਣ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ।
ਰਿਸੀਵਰ ਵਿੰਡੋ ਦਾ ਆਕਾਰ TCP ਫਰੇਮ ਦਾ ਇੱਕ ਹਿੱਸਾ ਹੈ।
ਵਿੰਡੋ ਦਾ ਅਧਿਕਤਮ ਆਕਾਰ 65,535 ਬਾਈਟਸ ਹੈ ਕਿਉਂਕਿ ਇਸਦੀ ਵਿੰਡੋ ਦਾ ਆਕਾਰ 16 ਬਿੱਟ ਹੈ।
ਵਿੰਡੋ ਦੇ ਮਾਪ ਪ੍ਰਾਪਤਕਰਤਾ ਦੁਆਰਾ ਚੁਣੇ ਜਾਂਦੇ ਹਨ। ਹਰੇਕ ਰਸੀਦ ਸੰਦੇਸ਼ ਦੇ ਨਾਲ, ਪ੍ਰਾਪਤਕਰਤਾ ਪ੍ਰਾਪਤਕਰਤਾ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕਰਦਾ ਹੈ ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।
ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਪ੍ਰਕਿਰਿਆ
ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ ਪ੍ਰੋਟੋਕੋਲ ਤਕਨੀਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਭੇਜਣ ਵਾਲੇ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਕਨੈਕਟ ਹੋਣ 'ਤੇ ਦੋ ਬਫਰ ਸਥਾਪਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
ਇਹ ਦੋ ਬਫਰਾਂ ਨੂੰ ਦੋ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ: ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ, ਜੋ ਭੇਜਣ ਵਾਲੇ ਨਾਲ ਸਬੰਧਤ ਹੈ, ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ, ਜੋ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਨਾਲ ਸਬੰਧਤ ਹੈ।
ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਬਾਕੀ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਬਫਰ ਸਪੇਸ ਵਾਪਸ ਦਿੰਦੀ ਹੈ ਜਦੋਂ ਭੇਜਣ ਵਾਲਾ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਨੂੰ ਡੇਟਾ ਭੇਜਦਾ ਹੈ।
ਨਤੀਜੇ ਵਜੋਂ, ਭੇਜਣ ਵਾਲਾ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਤੱਕ ਸੀਮਿਤ ਹੈ ਜੋ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਬਫਰ ਵਿੱਚ ਫਿੱਟ ਹੋ ਸਕਦਾ ਹੈ।
ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ ਟ੍ਰਾਂਸਮੀਟਿੰਗ ਵਿੰਡੋ ਡੇਟਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਵਿੱਚ ਪ੍ਰਸਾਰਿਤ ਕਰਦੀ ਹੈ।
ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਇੱਕ ਰਸੀਦ ਭੇਜਦੀ ਹੈ, ਅਤੇ ਫਿਰ ਸੰਚਾਰਿਤ ਵਿੰਡੋ ਇੱਕ ਨਵਾਂ ਡੇਟਾ ਫਰੇਮ ਪ੍ਰਸਾਰਿਤ ਕਰਦੀ ਹੈ।
ਇਸ ਵਾਰ, ਹਾਲਾਂਕਿ, ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਇੱਕ ਸੁਨੇਹਾ ਵੀ ਭੇਜਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਕਿਹਾ ਗਿਆ ਹੈ ਕਿ ਉਪਲਬਧ ਮੈਮੋਰੀ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਹੋਈ ਰਸੀਦ ਤੋਂ ਇਲਾਵਾ ਭਰੀ ਗਈ ਹੈ।
ਟ੍ਰਾਂਸਮਿਟ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਡੇਟਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਨੂੰ ਉਦੋਂ ਤੱਕ ਰੋਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਤੋਂ ਪੁਸ਼ਟੀ ਨਹੀਂ ਹੋ ਜਾਂਦੀ ਕਿ ਸਪੇਸ ਖਾਲੀ ਕਰ ਦਿੱਤੀ ਗਈ ਹੈ, ਜਿਸ ਸਮੇਂ ਇਹ ਡੇਟਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਨੂੰ ਮੁੜ ਸ਼ੁਰੂ ਕਰ ਸਕਦਾ ਹੈ।
ਸਿੱਟਾ
ਸਿੱਟੇ ਵਜੋਂ, ਡੇਟਾ ਕਨੈਕਸ਼ਨ ਲੇਅਰ ਅਤੇ ਟ੍ਰਾਂਸਪੋਰਟ ਲੇਅਰ ਵਹਾਅ ਨਿਯੰਤਰਣ ਚਿੰਤਾਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹਨ।
ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਵਿਧੀ ਦਾ ਮੂਲ ਉਦੇਸ਼ ਪ੍ਰਾਪਤਕਰਤਾ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸੰਚਾਰਿਤ ਕਰਨ ਵਾਲੇ ਭੇਜਣ ਵਾਲੇ ਦੇ ਡੇਟਾ ਦੇ ਨਾਲ ਬੋਝ ਬਣਨ ਤੋਂ ਰੋਕਣਾ ਹੈ।
ਭਾਵੇਂ ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਟ੍ਰਾਂਸਫਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਡੇਟਾ ਗਲਤੀ-ਮੁਕਤ ਹੈ ਅਤੇ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮਸ਼ੀਨ ਦੇ ਕਾਰਨ ਇੱਕ ਤੇਜ਼ ਦਰ 'ਤੇ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ, ਇਹ ਸੰਭਵ ਹੈ ਕਿ ਹੌਲੀ ਸਿਰੇ ਦਾ ਪ੍ਰਾਪਤਕਰਤਾ ਤੇਜ਼ ਡਾਟਾ ਦਰ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਅਸਮਰੱਥ ਹੋਵੇਗਾ ਅਤੇ ਇਸ ਲਈ ਕੁਝ ਡੇਟਾ ਗੁਆ ਦੇਵੇਗਾ।
ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ