TCP ਦਾ ਗੁਪਤ ਹਥਿਆਰ: ਨੈੱਟਵਰਕ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਅਤੇ ਨੈੱਟਵਰਕ ਭੀੜ ਨਿਯੰਤਰਣ

TCP ਭਰੋਸੇਯੋਗਤਾ ਟ੍ਰਾਂਸਪੋਰਟ
ਅਸੀਂ ਸਾਰੇ TCP ਪ੍ਰੋਟੋਕੋਲ ਤੋਂ ਇੱਕ ਭਰੋਸੇਯੋਗ ਟ੍ਰਾਂਸਪੋਰਟ ਪ੍ਰੋਟੋਕੋਲ ਵਜੋਂ ਜਾਣੂ ਹਾਂ, ਪਰ ਇਹ ਟ੍ਰਾਂਸਪੋਰਟ ਦੀ ਭਰੋਸੇਯੋਗਤਾ ਨੂੰ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ?

ਭਰੋਸੇਯੋਗ ਸੰਚਾਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਬਹੁਤ ਸਾਰੇ ਕਾਰਕਾਂ 'ਤੇ ਵਿਚਾਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਡੇਟਾ ਭ੍ਰਿਸ਼ਟਾਚਾਰ, ਨੁਕਸਾਨ, ਡੁਪਲੀਕੇਸ਼ਨ, ਅਤੇ ਕ੍ਰਮ ਤੋਂ ਬਾਹਰ ਸ਼ਾਰਡ। ਜੇਕਰ ਇਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਤਾਂ ਭਰੋਸੇਯੋਗ ਸੰਚਾਰ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।

ਇਸ ਲਈ, TCP ਭਰੋਸੇਯੋਗ ਪ੍ਰਸਾਰਣ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕ੍ਰਮ ਨੰਬਰ, ਪ੍ਰਾਪਤੀ ਜਵਾਬ, ਦੁਬਾਰਾ ਭੇਜਣ ਨਿਯੰਤਰਣ, ਕਨੈਕਸ਼ਨ ਪ੍ਰਬੰਧਨ, ਅਤੇ ਵਿੰਡੋ ਨਿਯੰਤਰਣ ਵਰਗੇ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਇਸ ਪੇਪਰ ਵਿੱਚ, ਅਸੀਂ TCP ਦੀ ਸਲਾਈਡਿੰਗ ਵਿੰਡੋ, ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਅਤੇ ਭੀੜ ਨਿਯੰਤਰਣ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਾਂਗੇ। ਅਗਲੇ ਭਾਗ ਵਿੱਚ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਵਿਧੀ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਕਵਰ ਕੀਤਾ ਗਿਆ ਹੈ।

ਨੈੱਟਵਰਕ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ
ਨੈੱਟਵਰਕ ਫਲੋ ਕੰਟਰੋਲ ਜਾਂ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਕੰਟਰੋਲ ਦੇ ਤੌਰ 'ਤੇ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਅਸਲ ਵਿੱਚ ਉਤਪਾਦਕਾਂ ਅਤੇ ਖਪਤਕਾਰਾਂ ਵਿਚਕਾਰ ਸੂਖਮ ਸਬੰਧਾਂ ਦਾ ਪ੍ਰਗਟਾਵਾ ਹੈ। ਤੁਸੀਂ ਸ਼ਾਇਦ ਕੰਮ 'ਤੇ ਜਾਂ ਇੰਟਰਵਿਊਆਂ ਵਿੱਚ ਇਸ ਦ੍ਰਿਸ਼ ਦਾ ਬਹੁਤ ਸਾਹਮਣਾ ਕੀਤਾ ਹੋਵੇਗਾ। ਜੇਕਰ ਉਤਪਾਦਕ ਦੀ ਉਤਪਾਦਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਖਪਤਕਾਰ ਦੀ ਖਪਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਤੋਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੈ, ਤਾਂ ਇਹ ਕਤਾਰ ਨੂੰ ਅਣਮਿੱਥੇ ਸਮੇਂ ਲਈ ਵਧਾ ਦੇਵੇਗਾ। ਇੱਕ ਹੋਰ ਗੰਭੀਰ ਮਾਮਲੇ ਵਿੱਚ, ਤੁਸੀਂ ਜਾਣਦੇ ਹੋਵੋਗੇ ਕਿ ਜਦੋਂ RabbitMQ ਸੁਨੇਹੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਇਕੱਠੇ ਹੋ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਇਹ ਪੂਰੇ MQ ਸਰਵਰ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਗਿਰਾਵਟ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ। TCP ਲਈ ਵੀ ਇਹੀ ਸੱਚ ਹੈ; ਜੇਕਰ ਜਾਂਚ ਨਾ ਕੀਤੀ ਗਈ, ਤਾਂ ਬਹੁਤ ਸਾਰੇ ਸੁਨੇਹੇ ਨੈੱਟਵਰਕ ਵਿੱਚ ਪਾ ਦਿੱਤੇ ਜਾਣਗੇ, ਅਤੇ ਖਪਤਕਾਰ ਆਪਣੀ ਸਮਰੱਥਾ ਤੋਂ ਵੱਧ ਗਏ ਹੋਣਗੇ, ਜਦੋਂ ਕਿ ਉਤਪਾਦਕ ਡੁਪਲੀਕੇਟ ਸੁਨੇਹੇ ਭੇਜਣਾ ਜਾਰੀ ਰੱਖਣਗੇ, ਜੋ ਨੈੱਟਵਰਕ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਹੁਤ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗਾ।

ਇਸ ਵਰਤਾਰੇ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, TCP ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਪ੍ਰਾਪਤਕਰਤਾ ਦੀ ਅਸਲ ਰਿਸੈਪਸ਼ਨ ਸਮਰੱਥਾ ਦੇ ਅਧਾਰ ਤੇ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਇੱਕ ਵਿਧੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸਨੂੰ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਪ੍ਰਾਪਤਕਰਤਾ ਇੱਕ ਪ੍ਰਾਪਤ ਵਿੰਡੋ ਨੂੰ ਬਣਾਈ ਰੱਖਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਭੇਜਣ ਵਾਲਾ ਇੱਕ ਭੇਜਣ ਵਿੰਡੋ ਨੂੰ ਬਣਾਈ ਰੱਖਦਾ ਹੈ। ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਇਹ ਵਿੰਡੋਜ਼ ਸਿਰਫ ਇੱਕ ਸਿੰਗਲ TCP ਕਨੈਕਸ਼ਨ ਲਈ ਹਨ ਅਤੇ ਸਾਰੇ ਕਨੈਕਸ਼ਨ ਇੱਕ ਵਿੰਡੋ ਨੂੰ ਸਾਂਝਾ ਨਹੀਂ ਕਰਦੇ ਹਨ।

TCP ਇੱਕ ਪ੍ਰਾਪਤ ਵਿੰਡੋ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਪ੍ਰਾਪਤ ਵਿੰਡੋ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਇੱਕ ਸੰਕੇਤ ਦਿੰਦੀ ਹੈ ਕਿ ਕਿੰਨੀ ਕੈਸ਼ ਸਪੇਸ ਅਜੇ ਵੀ ਉਪਲਬਧ ਹੈ। ਭੇਜਣ ਵਾਲਾ ਪ੍ਰਾਪਤਕਰਤਾ ਦੀ ਅਸਲ ਸਵੀਕ੍ਰਿਤੀ ਸਮਰੱਥਾ ਦੇ ਅਨੁਸਾਰ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ।

ਰਿਸੀਵਰ ਹੋਸਟ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਉਸ ਡੇਟਾ ਦੇ ਆਕਾਰ ਬਾਰੇ ਸੂਚਿਤ ਕਰਦਾ ਹੈ ਜੋ ਉਹ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਭੇਜਣ ਵਾਲਾ ਇਸ ਸੀਮਾ ਤੱਕ ਭੇਜਦਾ ਹੈ। ਇਹ ਸੀਮਾ ਵਿੰਡੋ ਦਾ ਆਕਾਰ ਹੈ, TCP ਹੈਡਰ ਯਾਦ ਰੱਖੋ? ਇੱਕ ਰਿਸੀਵ ਵਿੰਡੋ ਫੀਲਡ ਹੈ, ਜੋ ਕਿ ਪ੍ਰਾਪਤਕਰਤਾ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਬਾਈਟਾਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਭੇਜਣ ਵਾਲਾ ਹੋਸਟ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਇੱਕ ਵਿੰਡੋ ਪ੍ਰੋਬ ਪੈਕੇਟ ਭੇਜੇਗਾ, ਜਿਸਦੀ ਵਰਤੋਂ ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਕੀ ਪ੍ਰਾਪਤਕਰਤਾ ਹੋਸਟ ਅਜੇ ਵੀ ਡੇਟਾ ਸਵੀਕਾਰ ਕਰਨ ਦੇ ਯੋਗ ਹੈ ਜਾਂ ਨਹੀਂ। ਜਦੋਂ ਪ੍ਰਾਪਤਕਰਤਾ ਦਾ ਬਫਰ ਓਵਰਫਲੋ ਹੋਣ ਦੇ ਖ਼ਤਰੇ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ ਦੇਣ ਲਈ ਵਿੰਡੋ ਦਾ ਆਕਾਰ ਇੱਕ ਛੋਟੇ ਮੁੱਲ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਇੱਥੇ ਇੱਕ ਨੈੱਟਵਰਕ ਫਲੋ ਕੰਟਰੋਲ ਡਾਇਗ੍ਰਾਮ ਹੈ:

ਟ੍ਰੈਫਿਕ ਕੰਟਰੋਲ

ਨੈੱਟਵਰਕ ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ
ਭੀੜ-ਭੜੱਕਾ ਨਿਯੰਤਰਣ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਸਾਨੂੰ ਇਹ ਸਮਝਣ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਕਿ ਪ੍ਰਾਪਤ ਵਿੰਡੋ ਅਤੇ ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਤੋਂ ਇਲਾਵਾ, ਇੱਕ ਭੀੜ-ਭੜੱਕਾ ਵਿੰਡੋ ਵੀ ਹੈ, ਜੋ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਭੇਜਣ ਵਾਲਾ ਕਿਸ ਦਰ 'ਤੇ ਪ੍ਰਾਪਤ ਵਿੰਡੋ ਨੂੰ ਡੇਟਾ ਭੇਜਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ, ਭੀੜ-ਭੜੱਕਾ ਵਿੰਡੋ ਨੂੰ TCP ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਵੀ ਬਣਾਈ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਸਾਨੂੰ ਇਹ ਫੈਸਲਾ ਕਰਨ ਲਈ ਇੱਕ ਐਲਗੋਰਿਦਮ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕਿੰਨਾ ਡੇਟਾ ਭੇਜਣਾ ਉਚਿਤ ਹੈ, ਕਿਉਂਕਿ ਬਹੁਤ ਘੱਟ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਡੇਟਾ ਭੇਜਣਾ ਆਦਰਸ਼ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਭੀੜ-ਭੜੱਕੇ ਵਾਲੀ ਵਿੰਡੋ ਦੀ ਧਾਰਨਾ ਹੈ।

ਪਿਛਲੇ ਨੈੱਟਵਰਕ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਵਿੱਚ, ਅਸੀਂ ਜਿਸ ਚੀਜ਼ ਤੋਂ ਬਚਦੇ ਸੀ ਉਹ ਸੀ ਭੇਜਣ ਵਾਲਾ ਪ੍ਰਾਪਤਕਰਤਾ ਦੇ ਕੈਸ਼ ਨੂੰ ਡੇਟਾ ਨਾਲ ਭਰ ਰਿਹਾ ਸੀ, ਪਰ ਸਾਨੂੰ ਨਹੀਂ ਪਤਾ ਸੀ ਕਿ ਨੈੱਟਵਰਕ ਵਿੱਚ ਕੀ ਹੋ ਰਿਹਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਕੰਪਿਊਟਰ ਨੈੱਟਵਰਕ ਇੱਕ ਸਾਂਝੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਹੁੰਦੇ ਹਨ। ਨਤੀਜੇ ਵਜੋਂ, ਦੂਜੇ ਹੋਸਟਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਕਾਰਨ ਨੈੱਟਵਰਕ ਭੀੜ ਹੋ ਸਕਦੀ ਹੈ।

ਜਦੋਂ ਨੈੱਟਵਰਕ ਭੀੜ-ਭੜੱਕੇ ਵਾਲਾ ਹੁੰਦਾ ਹੈ, ਜੇਕਰ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ ਪੈਕੇਟ ਭੇਜੇ ਜਾਂਦੇ ਰਹਿੰਦੇ ਹਨ, ਤਾਂ ਇਹ ਦੇਰੀ ਅਤੇ ਪੈਕੇਟਾਂ ਦੇ ਨੁਕਸਾਨ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਸਮੇਂ, TCP ਡੇਟਾ ਨੂੰ ਦੁਬਾਰਾ ਪ੍ਰਸਾਰਿਤ ਕਰੇਗਾ, ਪਰ ਦੁਬਾਰਾ ਪ੍ਰਸਾਰਣ ਨੈੱਟਵਰਕ 'ਤੇ ਬੋਝ ਵਧਾਏਗਾ, ਜਿਸਦੇ ਨਤੀਜੇ ਵਜੋਂ ਵੱਡੀ ਦੇਰੀ ਅਤੇ ਵਧੇਰੇ ਪੈਕੇਟ ਨੁਕਸਾਨ ਹੋਣਗੇ। ਇਹ ਇੱਕ ਦੁਸ਼ਟ ਚੱਕਰ ਵਿੱਚ ਪੈ ਸਕਦਾ ਹੈ ਅਤੇ ਵੱਡਾ ਹੁੰਦਾ ਜਾ ਸਕਦਾ ਹੈ।

ਇਸ ਤਰ੍ਹਾਂ, TCP ਨੈੱਟਵਰਕ 'ਤੇ ਕੀ ਹੋ ਰਿਹਾ ਹੈ, ਇਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਜਦੋਂ ਨੈੱਟਵਰਕ ਭੀੜ-ਭੜੱਕੇ ਵਾਲਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ TCP ਆਪਣੇ ਭੇਜੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਘਟਾ ਕੇ ਆਪਣੇ ਆਪ ਨੂੰ ਕੁਰਬਾਨ ਕਰ ਦਿੰਦਾ ਹੈ।

ਇਸ ਲਈ, ਭੀੜ-ਭੜੱਕਾ ਨਿਯੰਤਰਣ ਪ੍ਰਸਤਾਵਿਤ ਹੈ, ਜਿਸਦਾ ਉਦੇਸ਼ ਭੇਜਣ ਵਾਲੇ ਤੋਂ ਪ੍ਰਾਪਤ ਡੇਟਾ ਨਾਲ ਪੂਰੇ ਨੈੱਟਵਰਕ ਨੂੰ ਭਰਨ ਤੋਂ ਬਚਾਉਣਾ ਹੈ। ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਭੇਜਣ ਵਾਲੇ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤ੍ਰਿਤ ਕਰਨ ਲਈ, TCP ਇੱਕ ਸੰਕਲਪ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਭੀੜ-ਭੜੱਕਾ ਵਿੰਡੋ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਭੀੜ-ਭੜੱਕਾ ਨਿਯੰਤਰਣ ਐਲਗੋਰਿਦਮ ਨੈੱਟਵਰਕ ਦੀ ਭੀੜ-ਭੜੱਕੇ ਦੀ ਡਿਗਰੀ ਦੇ ਅਨੁਸਾਰ ਭੀੜ-ਭੜੱਕੇ ਵਾਲੀ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੇਗਾ, ਤਾਂ ਜੋ ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾ ਸਕੇ।

ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਕੀ ਹੈ? ਇਸਦਾ ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਨਾਲ ਕੀ ਸਬੰਧ ਹੈ?

ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਇੱਕ ਸਟੇਟ ਵੇਰੀਏਬਲ ਹੈ ਜੋ ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਬਣਾਈ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਭੇਜਣ ਵਾਲਾ ਕਿੰਨਾ ਡੇਟਾ ਭੇਜ ਸਕਦਾ ਹੈ। ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਨੈੱਟਵਰਕ ਦੇ ਕੰਜੈਸ਼ਨ ਪੱਧਰ ਦੇ ਅਨੁਸਾਰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਬਦਲਦੀ ਹੈ।

ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਭੇਜਣ ਵਾਲੇ ਅਤੇ ਪ੍ਰਾਪਤਕਰਤਾ ਵਿਚਕਾਰ ਇੱਕ ਸਹਿਮਤੀ ਵਾਲਾ ਵਿੰਡੋ ਆਕਾਰ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਪ੍ਰਾਪਤਕਰਤਾ ਕਿੰਨਾ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ। ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਅਤੇ ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਸੰਬੰਧਿਤ ਹਨ; ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਆਮ ਤੌਰ 'ਤੇ ਕੰਜੈਸ਼ਨ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੀ ਵਿੰਡੋ ਦੇ ਘੱਟੋ-ਘੱਟ ਦੇ ਬਰਾਬਰ ਹੁੰਦੀ ਹੈ, ਯਾਨੀ ਕਿ, swnd = min(cwnd, rwnd)।

ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਇਸ ਤਰ੍ਹਾਂ ਬਦਲਦੀ ਹੈ:

ਜੇਕਰ ਨੈੱਟਵਰਕ ਵਿੱਚ ਕੋਈ ਭੀੜ ਨਹੀਂ ਹੁੰਦੀ, ਭਾਵ, ਕੋਈ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਟਾਈਮਆਉਟ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਭੀੜ ਵਾਲੀ ਵਿੰਡੋ ਵੱਧ ਜਾਂਦੀ ਹੈ।

ਜੇਕਰ ਨੈੱਟਵਰਕ ਵਿੱਚ ਭੀੜ-ਭੜੱਕਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਭੀੜ-ਭੜੱਕਾ ਵਿੰਡੋ ਘੱਟ ਜਾਂਦੀ ਹੈ।

ਭੇਜਣ ਵਾਲਾ ਇਹ ਦੇਖ ਕੇ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਨੈੱਟਵਰਕ ਭੀੜ-ਭੜੱਕਾ ਹੈ, ਕਿ ਕੀ ACK ਰਸੀਦ ਪੈਕੇਟ ਨਿਰਧਾਰਤ ਸਮੇਂ ਦੇ ਅੰਦਰ ਪ੍ਰਾਪਤ ਹੋਇਆ ਹੈ। ਜੇਕਰ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਨਿਰਧਾਰਤ ਸਮੇਂ ਦੇ ਅੰਦਰ ACK ਰਸੀਦ ਪੈਕੇਟ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਇਹ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਨੈੱਟਵਰਕ ਭੀੜ-ਭੜੱਕਾ ਹੈ।

ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਤੋਂ ਇਲਾਵਾ, ਇਹ TCP ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ ਐਲਗੋਰਿਦਮ 'ਤੇ ਚਰਚਾ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ। TCP ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ ਐਲਗੋਰਿਦਮ ਵਿੱਚ ਤਿੰਨ ਮੁੱਖ ਭਾਗ ਹੁੰਦੇ ਹਨ:

ਹੌਲੀ ਸ਼ੁਰੂਆਤ:ਸ਼ੁਰੂ ਵਿੱਚ, cwnd ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਮੁਕਾਬਲਤਨ ਛੋਟੀ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਭੇਜਣ ਵਾਲਾ ਨੈੱਟਵਰਕ ਦੀ ਸਮਰੱਥਾ ਦੇ ਅਨੁਸਾਰ ਤੇਜ਼ੀ ਨਾਲ ਢਲਣ ਲਈ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਵਧਾਉਂਦਾ ਹੈ।
ਭੀੜ ਤੋਂ ਬਚਣਾ:ਜਦੋਂ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸੀਮਾ ਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਭੇਜਣ ਵਾਲਾ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਦੀ ਵਿਕਾਸ ਦਰ ਨੂੰ ਹੌਲੀ ਕਰਨ ਅਤੇ ਨੈੱਟਵਰਕ ਨੂੰ ਓਵਰਲੋਡ ਕਰਨ ਤੋਂ ਬਚਾਉਣ ਲਈ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਰੇਖਿਕ ਤਰੀਕੇ ਨਾਲ ਵਧਾਉਂਦਾ ਹੈ।
ਤੇਜ਼ ਰਿਕਵਰੀ:ਜੇਕਰ ਕੰਜੈਸ਼ਨ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਭੇਜਣ ਵਾਲਾ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਨੂੰ ਅੱਧਾ ਕਰ ਦਿੰਦਾ ਹੈ ਅਤੇ ਪ੍ਰਾਪਤ ਡੁਪਲੀਕੇਟ ਐਕ ਦੁਆਰਾ ਨੈੱਟਵਰਕ ਰਿਕਵਰੀ ਦੀ ਸਥਿਤੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਤੇਜ਼ ਰਿਕਵਰੀ ਸਥਿਤੀ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਨੂੰ ਵਧਾਉਣਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ।

ਹੌਲੀ ਸ਼ੁਰੂਆਤ
ਜਦੋਂ ਇੱਕ TCP ਕਨੈਕਸ਼ਨ ਸਥਾਪਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਸ਼ੁਰੂ ਵਿੱਚ ਇੱਕ ਘੱਟੋ-ਘੱਟ MSS (ਵੱਧ ਤੋਂ ਵੱਧ ਹਿੱਸੇ ਦਾ ਆਕਾਰ) ਮੁੱਲ 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ, ਸ਼ੁਰੂਆਤੀ ਭੇਜਣ ਦੀ ਦਰ ਲਗਭਗ MSS/RTT ਬਾਈਟ/ਸੈਕਿੰਡ ਹੈ। ਅਸਲ ਉਪਲਬਧ ਬੈਂਡਵਿਡਥ ਆਮ ਤੌਰ 'ਤੇ MSS/RTT ਨਾਲੋਂ ਬਹੁਤ ਵੱਡੀ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ TCP ਅਨੁਕੂਲ ਭੇਜਣ ਦੀ ਦਰ ਲੱਭਣਾ ਚਾਹੁੰਦਾ ਹੈ, ਜੋ ਕਿ ਹੌਲੀ-ਸ਼ੁਰੂਆਤ ਦੇ ਜ਼ਰੀਏ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।

ਹੌਲੀ-ਸ਼ੁਰੂਆਤ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਦਾ ਮੁੱਲ 1 MSS ਤੱਕ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਵੇਗਾ, ਅਤੇ ਹਰ ਵਾਰ ਜਦੋਂ ਪ੍ਰਸਾਰਿਤ ਪੈਕੇਟ ਹਿੱਸੇ ਨੂੰ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ cwnd ਦਾ ਮੁੱਲ ਇੱਕ MSS ਦੁਆਰਾ ਵਧਾਇਆ ਜਾਵੇਗਾ, ਯਾਨੀ ਕਿ, cwnd ਦਾ ਮੁੱਲ 2 MSS ਹੋ ਜਾਵੇਗਾ। ਉਸ ਤੋਂ ਬਾਅਦ, ਇੱਕ ਪੈਕੇਟ ਹਿੱਸੇ ਦੇ ਹਰੇਕ ਸਫਲ ਪ੍ਰਸਾਰਣ ਲਈ cwnd ਦਾ ਮੁੱਲ ਦੁੱਗਣਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਹੀ। ਖਾਸ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।

 ਨੈੱਟਵਰਕ ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ

ਹਾਲਾਂਕਿ, ਭੇਜਣ ਦੀ ਦਰ ਹਮੇਸ਼ਾ ਨਹੀਂ ਵਧ ਸਕਦੀ; ਵਾਧਾ ਕਦੇ ਨਾ ਕਦੇ ਖਤਮ ਹੋਣਾ ਹੀ ਹੈ। ਤਾਂ, ਭੇਜਣ ਦੀ ਦਰ ਵਿੱਚ ਵਾਧਾ ਕਦੋਂ ਖਤਮ ਹੁੰਦਾ ਹੈ? ਹੌਲੀ-ਸ਼ੁਰੂਆਤ ਆਮ ਤੌਰ 'ਤੇ ਭੇਜਣ ਦੀ ਦਰ ਵਿੱਚ ਵਾਧੇ ਨੂੰ ਕਈ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਖਤਮ ਕਰਦੀ ਹੈ:

ਪਹਿਲਾ ਤਰੀਕਾ ਹੈ ਸਲੋਅ ਸਟਾਰਟ ਭੇਜਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਪੈਕੇਟ ਦੇ ਨੁਕਸਾਨ ਦਾ ਮਾਮਲਾ। ਜਦੋਂ ਪੈਕੇਟ ਦਾ ਨੁਕਸਾਨ ਹੁੰਦਾ ਹੈ, ਤਾਂ TCP ਭੇਜਣ ਵਾਲੇ ਦੀ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਨੂੰ 1 'ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ ਅਤੇ ਸਲੋਅ-ਸਟਾਰਟ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਦਾ ਹੈ। ਇਸ ਬਿੰਦੂ 'ਤੇ, ਸਲੋਅ ਸਟਾਰਟ ਥ੍ਰੈਸ਼ਹੋਲਡ ssthresh ਦੀ ਇੱਕ ਧਾਰਨਾ ਪੇਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸਦਾ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ cwnd ਦੇ ਮੁੱਲ ਦਾ ਅੱਧਾ ਹੁੰਦਾ ਹੈ ਜੋ ਪੈਕੇਟ ਦਾ ਨੁਕਸਾਨ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਯਾਨੀ, ਜਦੋਂ ਕੰਜੈਸ਼ਨ ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ssthresh ਦਾ ਮੁੱਲ ਵਿੰਡੋ ਮੁੱਲ ਦਾ ਅੱਧਾ ਹੁੰਦਾ ਹੈ।

ਦੂਜਾ ਤਰੀਕਾ ਹੈ ਕਿ ਇਸਨੂੰ ਸਲੋ-ਸਟਾਰਟ ਥ੍ਰੈਸ਼ਹੋਲਡ ssthrash ਦੇ ਮੁੱਲ ਨਾਲ ਸਿੱਧਾ ਜੋੜਿਆ ਜਾਵੇ। ਕਿਉਂਕਿ ਕੰਜੈਸ਼ਨ ਦਾ ਪਤਾ ਲੱਗਣ 'ਤੇ ssthresh ਦਾ ਮੁੱਲ ਵਿੰਡੋ ਮੁੱਲ ਦਾ ਅੱਧਾ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਜਦੋਂ cwnd ssthresh ਤੋਂ ਵੱਡਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਹਰੇਕ ਡਬਲਿੰਗ ਨਾਲ ਪੈਕੇਟ ਦਾ ਨੁਕਸਾਨ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਲਈ, cwnd ਨੂੰ ssthresh 'ਤੇ ਸੈੱਟ ਕਰਨਾ ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ, ਜਿਸ ਨਾਲ TCP ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ ਮੋਡ 'ਤੇ ਸਵਿਚ ਕਰੇਗਾ ਅਤੇ ਸਲੋ-ਸਟਾਰਟ ਨੂੰ ਖਤਮ ਕਰੇਗਾ।

ਹੌਲੀ ਸ਼ੁਰੂਆਤ ਨੂੰ ਖਤਮ ਕਰਨ ਦਾ ਆਖਰੀ ਤਰੀਕਾ ਇਹ ਹੈ ਕਿ ਜੇਕਰ ਤਿੰਨ ਰਿਡੰਡੈਂਟ ਐਕ ਖੋਜੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ TCP ਇੱਕ ਤੇਜ਼ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਕਰਦਾ ਹੈ ਅਤੇ ਰਿਕਵਰੀ ਸਥਿਤੀ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ। (ਜੇਕਰ ਇਹ ਸਪੱਸ਼ਟ ਨਹੀਂ ਹੈ ਕਿ ਤਿੰਨ ACK ਪੈਕੇਟ ਕਿਉਂ ਹਨ, ਤਾਂ ਇਸਨੂੰ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਵਿਧੀ ਵਿੱਚ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸਮਝਾਇਆ ਜਾਵੇਗਾ।)

ਭੀੜ ਤੋਂ ਬਚਣਾ
ਜਦੋਂ TCP ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ ਸਥਿਤੀ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ cwnd ਕੰਜੈਸ਼ਨ ਥ੍ਰੈਸ਼ਹੋਲਡ ssthrash ਦੇ ਅੱਧੇ 'ਤੇ ਸੈੱਟ ਹੁੰਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਹਰ ਵਾਰ ਪੈਕੇਟ ਸੈਗਮੈਂਟ ਪ੍ਰਾਪਤ ਹੋਣ 'ਤੇ cwnd ਦਾ ਮੁੱਲ ਦੁੱਗਣਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਸ ਦੀ ਬਜਾਏ, ਇੱਕ ਮੁਕਾਬਲਤਨ ਰੂੜੀਵਾਦੀ ਪਹੁੰਚ ਅਪਣਾਈ ਜਾਂਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਹਰੇਕ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ cwnd ਦਾ ਮੁੱਲ ਸਿਰਫ਼ ਇੱਕ MSS (ਵੱਧ ਤੋਂ ਵੱਧ ਪੈਕੇਟ ਸੈਗਮੈਂਟ ਲੰਬਾਈ) ਦੁਆਰਾ ਵਧਾਇਆ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ, ਭਾਵੇਂ 10 ਪੈਕੇਟ ਸੈਗਮੈਂਟਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, cwnd ਦਾ ਮੁੱਲ ਸਿਰਫ਼ ਇੱਕ MSS ਦੁਆਰਾ ਵਧੇਗਾ। ਇਹ ਇੱਕ ਰੇਖਿਕ ਵਿਕਾਸ ਮਾਡਲ ਹੈ ਅਤੇ ਇਸਦੀ ਵਿਕਾਸ 'ਤੇ ਇੱਕ ਉੱਪਰੀ ਸੀਮਾ ਵੀ ਹੈ। ਜਦੋਂ ਪੈਕੇਟ ਦਾ ਨੁਕਸਾਨ ਹੁੰਦਾ ਹੈ, ਤਾਂ cwnd ਦਾ ਮੁੱਲ ਇੱਕ MSS ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ, ਅਤੇ ssthresh ਦਾ ਮੁੱਲ cwnd ਦੇ ਅੱਧੇ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜਾਂ ਇਹ MSS ਦੇ ਵਾਧੇ ਨੂੰ ਵੀ ਰੋਕ ਦੇਵੇਗਾ ਜਦੋਂ 3 ਬੇਲੋੜੇ ACK ਜਵਾਬ ਪ੍ਰਾਪਤ ਹੁੰਦੇ ਹਨ। ਜੇਕਰ cwnd ਦੇ ਮੁੱਲ ਨੂੰ ਅੱਧਾ ਕਰਨ ਤੋਂ ਬਾਅਦ ਵੀ ਤਿੰਨ ਬੇਲੋੜੇ acks ਪ੍ਰਾਪਤ ਹੁੰਦੇ ਹਨ, ਤਾਂ ssthresh ਦਾ ਮੁੱਲ cwnd ਦੇ ਅੱਧੇ ਮੁੱਲ ਵਜੋਂ ਦਰਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੇਜ਼ ਰਿਕਵਰੀ ਸਥਿਤੀ ਦਰਜ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਤੇਜ਼ ਰਿਕਵਰੀ
ਫਾਸਟ ਰਿਕਵਰੀ ਸਥਿਤੀ ਵਿੱਚ, ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਦਾ ਮੁੱਲ ਹਰੇਕ ਪ੍ਰਾਪਤ ਕੀਤੇ ਰਿਡੰਡੈਂਟ ACK ਲਈ ਇੱਕ MSS ਦੁਆਰਾ ਵਧਾਇਆ ਜਾਂਦਾ ਹੈ, ਯਾਨੀ ਕਿ, ACK ਜੋ ਕ੍ਰਮ ਵਿੱਚ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਇਹ ਉਹਨਾਂ ਪੈਕੇਟ ਹਿੱਸਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਹੈ ਜੋ ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਸਾਰਿਤ ਕੀਤੇ ਗਏ ਹਨ ਤਾਂ ਜੋ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਕੁਸ਼ਲਤਾ ਨੂੰ ਜਿੰਨਾ ਸੰਭਵ ਹੋ ਸਕੇ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾ ਸਕੇ।

ਜਦੋਂ ਗੁੰਮ ਹੋਏ ਪੈਕੇਟ ਹਿੱਸੇ ਦਾ ਇੱਕ ACK ਆਉਂਦਾ ਹੈ, ਤਾਂ TCP cwnd ਦਾ ਮੁੱਲ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਫਿਰ ਕੰਜੈਸ਼ਨ ਟਾਲਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ। ਇਹ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਅਤੇ ਨੈੱਟਵਰਕ ਕੰਜੈਸ਼ਨ ਨੂੰ ਹੋਰ ਵਧਾਉਣ ਤੋਂ ਬਚਾਉਣ ਲਈ ਹੈ।

ਜੇਕਰ ਕੰਜੈਸ਼ਨ ਕੰਟਰੋਲ ਸਟੇਟ ਤੋਂ ਬਾਅਦ ਟਾਈਮਆਉਟ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਨੈੱਟਵਰਕ ਸਥਿਤੀ ਹੋਰ ਗੰਭੀਰ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ TCP ਕੰਜੈਸ਼ਨ ਟਾਲਣ ਵਾਲੀ ਸਟੇਟ ਤੋਂ ਹੌਲੀ-ਸ਼ੁਰੂਆਤੀ ਸਟੇਟ ਵਿੱਚ ਮਾਈਗ੍ਰੇਟ ਹੋ ਜਾਂਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ cwnd ਦਾ ਮੁੱਲ 1 MSS, ਵੱਧ ਤੋਂ ਵੱਧ ਪੈਕੇਟ ਸੈਗਮੈਂਟ ਲੰਬਾਈ, ਅਤੇ ਹੌਲੀ-ਸ਼ੁਰੂਆਤੀ ਥ੍ਰੈਸ਼ਹੋਲਡ ssthresh ਦਾ ਮੁੱਲ cwnd ਦੇ ਅੱਧੇ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸਦਾ ਉਦੇਸ਼ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਰੇਟ ਅਤੇ ਨੈੱਟਵਰਕ ਕੰਜੈਸ਼ਨ ਦੀ ਡਿਗਰੀ ਨੂੰ ਸੰਤੁਲਿਤ ਕਰਨ ਲਈ ਨੈੱਟਵਰਕ ਦੇ ਠੀਕ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕੰਜੈਸ਼ਨ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਹੌਲੀ-ਹੌਲੀ ਵਧਾਉਣਾ ਹੈ।

ਸੰਖੇਪ
ਇੱਕ ਭਰੋਸੇਮੰਦ ਟ੍ਰਾਂਸਪੋਰਟ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਤੌਰ 'ਤੇ, TCP ਕ੍ਰਮ ਨੰਬਰ, ਪ੍ਰਵਾਨਗੀ, ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਨਿਯੰਤਰਣ, ਕਨੈਕਸ਼ਨ ਪ੍ਰਬੰਧਨ ਅਤੇ ਵਿੰਡੋ ਨਿਯੰਤਰਣ ਦੁਆਰਾ ਭਰੋਸੇਯੋਗ ਟ੍ਰਾਂਸਪੋਰਟ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਵਿੱਚੋਂ, ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਵਿਧੀ ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਪ੍ਰਾਪਤਕਰਤਾ ਦੀ ਅਸਲ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਦੇ ਅਨੁਸਾਰ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ, ਜੋ ਨੈਟਵਰਕ ਭੀੜ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਨਿਘਾਰ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਬਚਦੀ ਹੈ। ਭੀੜ ਨਿਯੰਤਰਣ ਵਿਧੀ ਭੇਜਣ ਵਾਲੇ ਦੁਆਰਾ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਕੇ ਨੈਟਵਰਕ ਭੀੜ ਦੀ ਘਟਨਾ ਤੋਂ ਬਚਦੀ ਹੈ। ਭੀੜ ਵਿੰਡੋ ਅਤੇ ਭੇਜਣ ਵਾਲੀ ਵਿੰਡੋ ਦੀਆਂ ਧਾਰਨਾਵਾਂ ਇੱਕ ਦੂਜੇ ਨਾਲ ਸਬੰਧਤ ਹਨ, ਅਤੇ ਭੇਜਣ ਵਾਲੇ 'ਤੇ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਭੀੜ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਵਿਵਸਥਿਤ ਕਰਕੇ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਹੌਲੀ ਸ਼ੁਰੂਆਤ, ਭੀੜ ਤੋਂ ਬਚਣਾ ਅਤੇ ਤੇਜ਼ ਰਿਕਵਰੀ TCP ਭੀੜ ਨਿਯੰਤਰਣ ਐਲਗੋਰਿਦਮ ਦੇ ਤਿੰਨ ਮੁੱਖ ਹਿੱਸੇ ਹਨ, ਜੋ ਨੈੱਟਵਰਕ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਭੀੜ ਡਿਗਰੀ ਦੇ ਅਨੁਕੂਲ ਹੋਣ ਲਈ ਵੱਖ-ਵੱਖ ਰਣਨੀਤੀਆਂ ਰਾਹੀਂ ਭੀੜ ਵਿੰਡੋ ਦੇ ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਦੇ ਹਨ।

ਅਗਲੇ ਭਾਗ ਵਿੱਚ, ਅਸੀਂ TCP ਦੇ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਵਿਧੀ ਦੀ ਵਿਸਥਾਰ ਵਿੱਚ ਜਾਂਚ ਕਰਾਂਗੇ। ਭਰੋਸੇਯੋਗ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਵਿਧੀ TCP ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ। ਇਹ ਗੁੰਮ ਹੋਏ, ਖਰਾਬ ਜਾਂ ਦੇਰੀ ਨਾਲ ਡੇਟਾ ਨੂੰ ਦੁਬਾਰਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਕਰਕੇ ਡੇਟਾ ਦੇ ਭਰੋਸੇਯੋਗ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਰੀਟ੍ਰਾਂਸਮਿਸ਼ਨ ਵਿਧੀ ਦੇ ਲਾਗੂ ਕਰਨ ਦੇ ਸਿਧਾਂਤ ਅਤੇ ਰਣਨੀਤੀ ਨੂੰ ਅਗਲੇ ਭਾਗ ਵਿੱਚ ਵਿਸਥਾਰ ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀਤਾ ਜਾਵੇਗਾ। ਜੁੜੇ ਰਹੋ!


ਪੋਸਟ ਸਮਾਂ: ਫਰਵਰੀ-24-2025