ਨੈੱਟਵਰਕ ਲੇਟੈਂਸੀ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਿਉਂ ਖ਼ਤਮ ਕਰਦੀ ਹੈ

ਲੇਟੈਂਸੀ (Latency) ਡਿਸਟ੍ਰੀਬਿਊਟਡ ਸਿਸਟਮਾਂ ਅਤੇ APIs ਲਈ ਇੱਕ ਚੁੱਪ ਕਾਤਲ ਹੈ। ਟ੍ਰਾਂਸਪੋਰਟ ਲੇਅਰ 'ਤੇ ਇੱਕ ਛੋਟੀ ਜਿਹੀ ਦੇਰੀ ਐਪਲੀਕੇਸ਼ਨ ਲੇਅਰ 'ਤੇ ਵੱਡੀਆਂ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦੀ ਹੈ। ਇਹ ਰੀਅਲ-ਟਾਈਮ ਵੈੱਬ ਟੂਲਜ਼ ਅਤੇ AI ਸਟ੍ਰੀਮਿੰਗ ਦੇ ਅਨੁਭਵ ਨੂੰ ਖ਼ਰਾਬ ਕਰ ਦਿੰਦੀ ਹੈ।

ਤੁਸੀਂ ਇੰਟਰਨੈੱਟ ਦੇ ਭੌਤਿਕ ਵਿਗਿਆਨ (physics) ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕਰ ਸਕਦੇ।

ਪ੍ਰਕਾਸ਼ ਦੀ ਗਤੀ ਦੀ ਸੀਮਾ

ਡਾਟਾ ਸਮੁੰਦਰ ਦੀ ਤਲ ਹੇਠਾਂ ਫਾਈਬਰ-ਓਪਟਿਕ ਕੇਬਲਾਂ ਰਾਹੀਂ ਸਫ਼ਰ ਕਰਦਾ ਹੈ। ਸ਼ੂਨਯ (vacuum) ਦੇ ਮੁਕਾਬਲੇ ਕੱਚ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ ਦੀ ਗਤੀ ਹੌਲੀ ਹੁੰਦੀ ਹੈ। ਫਾਈਬਰ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ ਲਗਭਗ 204,500 km/s ਦੀ ਰਫ਼ਤਾਰ ਨਾਲ ਚਲਦਾ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਟੋਕੀਓ ਤੋਂ ਸੈਨ ਫਰਾਂਸਿਸਕੋ ਤੱਕ ਡਾਟਾ ਭੇਜਦੇ ਹੋ, ਤਾਂ ਦੂਰੀ ਲਗਭਗ 9,000 ਕਿਲੋਮੀਟਰ ਹੈ। ਭੌਤਿਕ ਵਿਗਿਆਨ ਅਨੁਸਾਰ ਘੱਟੋ-ਘੱਟ ਰੌਂਡ-ਟ੍ਰਿਪ ਸਮਾਂ (round-trip time) ਲਗਭਗ 88ms ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਸੀਮਾ ਨੂੰ ਪਾਰ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਕੋਈ ਵੀ ਰੂਟਿੰਗ ਗਲਤੀ ਜਾਂ ਕੰਜੈਸਸ਼ਨ (congestion) ਹੋਰ ਵੀ ਦੇਰੀ ਕਰ ਸਕਦੀ ਹੈ।

Anycast ਬਨਾਮ Unicast ਰੂਟਿੰਗ

ਇੱਕ Unicast ਨੈੱਟਵਰਕ ਵਿੱਚ, ਹਰੇਕ ਸਰਵਰ ਦਾ ਇੱਕ ਵਿਲੱਖਣ IP ਐਡਰੈੱਸ ਹੁੰਦਾ ਹੈ। ਜੇਕਰ ਲੰਡਨ ਵਿੱਚ ਕੋਈ ਯੂਜ਼ਰ ਨਿਊਯਾਰਕ ਵਿੱਚ ਕਿਸੇ ਸਰਵਰ ਨਾਲ ਸੰਪਰਕ ਕਰਦਾ ਹੈ, ਤਾਂ ਡਾਟਾ ਕਈ ਅਣਪਛਾਤੇ ਹੌਪਸ (hops) ਰਾਹੀਂ ਸਫ਼ਰ ਕਰਦਾ ਹੈ। ਇਸ ਨਾਲ ਲੇਟੈਂਸੀ ਵਿੱਚ ਅਚਾਨਕ ਵਾਧਾ (spikes) ਹੁੰਦਾ ਹੈ।

Anycast ਇਸ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ ਕਈ ਐਜ ਡਾਟਾ ਸੈਂਟਰਾਂ (edge datacenters) ਨੂੰ ਇੱਕੋ IP ਐਡਰੈੱਸ ਅਸਾਈਨ ਕਰਦੇ ਹੋ।

• ਰੂਟਰ BGP ਰਾਹੀਂ ਸਭ ਤੋਂ ਛੋਟਾ ਰਸਤਾ ਲੱਭਦੇ ਹਨ। • ਪੈਕੇਟ ਸਭ ਤੋਂ ਨੇੜਲੇ ਭੌਤਿਕ ਐਜ ਨੋਡ (edge node) 'ਤੇ ਜਾਂਦੇ ਹਨ। • ਕਨੈਕਸ਼ਨ ਸੈੱਟਅੱਪ ਐਜ 'ਤੇ ਹੁੰਦਾ ਹੈ, ਸਮੁੰਦਰਾਂ ਦੇ ਪਾਰ ਨਹੀਂ।

ਇਹ ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਪਰਿਮਿਟਰ ਨੂੰ ਤੁਹਾਡੇ ਯੂਜ਼ਰਾਂ ਦੇ ਹੋਰ ਨੇੜੇ ਲੈ ਆਉਂਦਾ ਹੈ।

ਪੈਕੇਟ ਲੋਸ (Packet Loss) ਦਾ ਖ਼ਤਰਾ

ਬਹੁਤ ਸਾਰੇ ਇੰਜੀਨੀਅਰਾਂ ਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ 1% ਪੈਕੇਟ ਲੋਸ ਠੀਕ ਹੈ। ਇਹ ਠੀਕ ਨਹੀਂ ਹੈ।

Cubic ਵਰਗੇ ਸਟੈਂਡਰਡ TCP ਐਲਗੋਰਿਦਮ ਇੱਕ ਇਕੱਲੇ ਗੁੰਮ ਹੋਏ ਪੈਕੇਟ ਨੂੰ ਦੇਖ ਕੇ ਘਬਰਾ ਜਾਂਦੇ ਹਨ। ਉਹ ਕੰਜੈਸਸ਼ਨ ਵਿੰਡੋ (congestion window) ਨੂੰ 30% ਘਟਾ ਦਿੰਦੇ ਹਨ। ਜੇਕਰ ਨੁਕਸਾਨ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ 1 Gbps ਫਾਈਬਰ ਲਿੰਕ ਇੱਕ ਪੁਰਾਣੇ ਡਾਇਲ-ਅੱਪ ਕਨੈਕਸ਼ਨ ਵਾਂਗ ਕੰਮ ਕਰਦਾ ਹੈ।

ਜੇਕਰ ਪੈਕੇਟ ਬਹੁਤ ਵਾਰ ਡ੍ਰੌਪ ਹੁੰਦੇ ਹਨ, ਤਾਂ ਸਿਸਟਮ Retransmission Timeout 'ਤੇ ਪਹੁੰਚ ਜਾਂਦਾ ਹੈ। ਹਰ ਟਾਈਮਆਊਟ ਇੰਤਜ਼ਾਰ ਦੇ ਸਮੇਂ ਨੂੰ ਦੁੱਗਣਾ ਕਰ ਦਿੰਦਾ ਹੈ। ਨੈੱਟਵਰਕ ਦੀ ਇੱਕ ਛੋਟੀ ਜਿਹੀ ਖਰਾਬੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਈ ਸਕਿੰਟਾਂ ਲਈ ਫ੍ਰੀਜ਼ ਕਰ ਸਕਦੀ ਹੈ।

ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਦੇ ਦੋ ਤਰੀਕੇ

ਆਧੁਨਿਕ ਟੀਮਾਂ ਰਫ਼ਤਾਰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਇਹਨਾਂ ਦੋ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ:

  • Google BBR: ਇਹ ਐਲਗੋਰਿਦਮ ਹਰ ਗੁੰਮ ਹੋਏ ਪੈਕੇਟ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਦੇਣ ਦੀ ਬਜਾਏ ਅਸਲ ਬੈਂਡਵਿਡਥ ਨੂੰ ਮਾਪਦਾ ਹੈ। ਇਹ ਮਾਮੂਲੀ ਕੰਜੈਸਸ਼ਨ ਦੌਰਾਨ ਵੀ ਥਰੂਪੁੱਟ (throughput) ਨੂੰ ਸਥਿਰ ਰੱਖਦਾ ਹੈ।
  • QUIC Protocol: ਇਹ head-of-line blocking ਨੂੰ ਰੋਕਣ ਲਈ UDP 'ਤੇ ਚਲਦਾ ਹੈ। ਜੇਕਰ ਇੱਕ ਪੈਕੇਟ ਡ੍ਰੌਪ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਦੂਜੇ ਡਾਟਾ ਸਟ੍ਰੀਮ ਚਲਦੇ ਰਹਿੰਦੇ ਹਨ। ਇਹ ਇੱਕ ਸਿੰਗਲ ਨੁਕਸਾਨ ਨੂੰ ਤੁਹਾਡੇ ਪੂਰੇ ਸੈਸ਼ਨ ਨੂੰ ਰੋਕਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।

ਇੰਟਰਨੈੱਟ ਨੂੰ ਇੱਕ ਜਾਦੂਈ ਕਲਾਉਡ ਵਾਂਗ ਸਮਝਣਾ ਬੰਦ ਕਰੋ। ਆਪਣੇ ਡਾਟਾ ਦੀ ਭੌਤਿਕ ਅਸਲੀਅਤ ਨੂੰ ਸਮਝੋ।

ਸਰੋਤ: https://dev.to/taohuawu/demystifying-global-network-latency-the-mechanics-of-anycast-routing-cross-border-fiber-optics-1bpa

ਵਿਕਲਪਿਕ ਸਿੱਖਣ ਭਾਈਚਾਰਾ: https://t.me/GyaanSetuAi