TCP ਨੈੱਟਵਰਕ ਸੰਚਾਰ ਲਈ ਨਾਗ ਐਲਗੋਰਿਥਮ

ਨਾਗਨ ਅਲਗੋਰਿਦਮ , ਜਿਸਦਾ ਨਾਂ ਇੰਜਨੀਅਰ ਯੂਹੰਨਾ ਨਾਗਲ ਰੱਖਿਆ ਗਿਆ ਹੈ, ਨੂੰ ਟੀਸੀਪੀ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨਾਲ "ਛੋਟੇ ਪੈਕੇਟ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ" ਦੇ ਕਾਰਨ ਨੈਟਵਰਕ ਭੀੜ ਨੂੰ ਘਟਾਉਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਸੀ. ਯੂਨਿਕਸ ਸਥਾਪਨ ਨੇ 1 9 80 ਵਿੱਚ ਨਗਲ ਦੇ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕੀਤੀ, ਅਤੇ ਇਹ ਅੱਜ ਹੀ ਟੀਸੀਪੀ ਦੀ ਇੱਕ ਮਿਆਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ.

ਕਿਵੇਂ ਨਾਗ ਐਲਗੋਰਿਥਮ ਵਰਕਸ

ਨਗਲ ਦੀ ਐਲਗੋਰਿਥਮ TCP ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਭੇਜਣ ਵਾਲੇ ਸਾਈਟਾਂ ਤੇ ਨਗਨ ਕਰਨ ਵਾਲੀ ਇੱਕ ਵਿਧੀ ਦੁਆਰਾ ਡਾਟਾ ਦਰਸਾਉਂਦੀ ਹੈ . ਇਹ ਛੋਟੇ-ਆਕਾਰ ਦੇ ਸੁਨੇਹਿਆਂ ਦੀ ਖੋਜ ਕਰਦਾ ਹੈ ਅਤੇ ਇਹਨਾਂ ਨੂੰ ਤਾਰਾਂ ਭਰ ਵਿਚ ਡਾਟਾ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਵੱਡੇ TCP ਪੈਕਟਾਂ ਵਿਚ ਇਕੱਠਾ ਕਰਦਾ ਹੈ, ਇਸ ਤਰ੍ਹਾਂ ਬੇਲੋੜੀ ਵੱਡੀ ਗਿਣਤੀ ਵਿਚ ਛੋਟੇ ਪੈਕਟਾਂ ਦੀ ਪੈਦਾਵਾਰ ਤੋਂ ਬਚਦਾ ਹੈ. ਨੋਗਲ ਦੇ ਐਲਗੋਰਿਦਮ ਲਈ ਤਕਨੀਕੀ ਵਿਸ਼ੇਸ਼ਤਾ 1984 ਵਿੱਚ ਆਰਐਫਸੀ 896 ਦੇ ਰੂਪ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੀ ਗਈ ਸੀ. ਭੇਜਣ ਦੇ ਵਿਚਕਾਰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਡੇਟਾ ਇਕੱਠਾ ਕਰਨ ਲਈ ਅਤੇ ਕਿੰਨੇ ਸਮੇਂ ਲਈ ਉਡੀਕ ਕਰਨੀ ਹੈ ਇਸਦੇ ਸਮੁੱਚੇ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਮਹੱਤਵਪੂਰਣ ਹਨ

ਨਗਲਿੰਗ, ਦੇਰ ਨਾਲ ਜੋੜਨ ( ਲੇਟੈਨਸੀ ) ਦੇ ਖਰਚੇ ਤੇ ਇੱਕ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੇ ਬੈਂਡਵਿਡਥ ਦੀ ਵਧੇਰੇ ਪ੍ਰਭਾਵੀ ਵਰਤੋਂ ਕਰ ਸਕਦੀ ਹੈ. RFC 896 ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਇੱਕ ਉਦਾਹਰਨ ਸੰਭਾਵੀ ਬੈਂਡਵਿਡਥ ਲਾਭਾਂ ਅਤੇ ਇਸ ਦੀ ਸਿਰਜਣਾ ਦਾ ਕਾਰਨ ਦੱਸਦਾ ਹੈ:

ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੇਂਲ ਅਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਨੂੰ TCP_NODELAY ਸਾਕਟ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਵਿਕਲਪ ਨਾਲ ਨਿਯੰਤਰਤ ਕਰਨਾ ਹੈ. ਵਿੰਡੋ, ਲੀਨਕਸ, ਅਤੇ ਜਾਵਾ ਸਿਸਟਮ ਸਾਰੇ ਆਮ ਤੌਰ ਤੇ ਨੱਗਲ ਨੂੰ ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਸਮਰੱਥ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਉਹਨਾਂ ਵਾਤਾਵਰਣਾਂ ਲਈ ਲਿਖਿਆ ਗਿਆ ਐਪਲੀਕੇਸ਼ਨਾਂ ਐਲਗੋਰਿਥਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ TCP_NODELAY ਨਿਸ਼ਚਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ.

ਕਮੀਆਂ

ਨਗਲ ਦੀ ਐਲਗੋਰਿਦਮ ਸਿਰਫ ਟੀਸੀਪੀ ਨਾਲ ਹੀ ਉਪਯੋਗੀ ਹੈ. UDP ਸਮੇਤ ਹੋਰ ਪ੍ਰੋਟੋਕੋਲ ਇਸਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ.

TCP ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਿਹਨਾਂ ਨੂੰ ਤੁਰੰਤ ਨੈਟਵਰਕ ਪ੍ਰਤੀਕਿਰਿਆ ਦੀ ਲੋੜ ਹੈ, ਜਿਵੇਂ ਕਿ ਇੰਟਰਨੈਟ ਫੋਨ ਕਾਲਿੰਗ ਜਾਂ ਪਹਿਲੇ-ਵਿਅਕਤੀ ਨਿਸ਼ਾਨੇਬਾਜ਼ ਗੇਮਜ਼, ਉਦੋਂ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰਦੇ ਜਦੋਂ Nagle ਸਮਰਥਿਤ ਹੁੰਦੀ ਹੈ. ਦੇਰੀ ਹੋਣ ਕਾਰਨ, ਜਦੋਂ ਕਿ ਐਲਗੋਰਿਥਮ ਇਕਸਾਰ ਡਾਟਾ ਦੇ ਇਕੱਠੇ ਹੋਣ ਲਈ ਜ਼ਿਆਦਾ ਸਮਾਂ ਲੈਂਦਾ ਹੈ, ਇੱਕ ਸਕਰੀਨ ਤੇ ਜਾਂ ਡਿਜੀਟਲ ਆਡੀਓ ਸਟ੍ਰੀਮ ਵਿੱਚ ਦ੍ਰਿਸ਼ਟੀਗਤ ਨਜ਼ਰ ਨੂੰ ਦੇਖ ਸਕਦੇ ਹਨ. ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਆਮ ਤੌਰ ਤੇ ਨਗੇਲ ਨੂੰ ਅਸਮਰੱਥ ਕਰਦੇ ਹਨ.

ਇਹ ਅਲਗੋਰਿਦਮ ਮੂਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਸਮੇਂ ਤੇ ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ ਸੀ ਜਦੋਂ ਕੰਪਿਊਟਰ ਨੈਟਵਰਕ ਨੇ ਅੱਜ ਦੇ ਮੁਕਾਬਲੇ ਬਹੁਤ ਘੱਟ ਬੈਂਡਵਿਡਥ ਦੀ ਸਹਾਇਤਾ ਕੀਤੀ. ਉੱਪਰ ਦੱਸੀ ਉਦਾਹਰਨ, 1 9 80 ਦੇ ਅਰੰਭ ਵਿੱਚ ਫੋਰਡ ਐਰੋਸਪੇਸ ਵਿੱਚ ਜੌਨ ਨਗਲੇ ਦੇ ਅਨੁਭਵਾਂ ਤੇ ਆਧਾਰਿਤ ਸੀ, ਜਿੱਥੇ ਉਹਨਾਂ ਦੇ ਹੌਲੀ, ਭਾਰੀ ਲੋਡ ਕੀਤੇ ਲੰਬੇ ਦੂਰੀ ਵਾਲੇ ਨੈਟਵਰਕ ' ਅੱਜ-ਕੱਲ੍ਹ ਬਹੁਤ ਘੱਟ ਸਥਿਤੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਿੱਥੇ ਨੈਟਵਰਕ ਐਪਲੀਕੇਸ਼ਨਜ਼ ਅੱਜ ਦੇ ਐਲਗੋਰਿਦਮ ਤੋਂ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੀਆਂ ਹਨ.