IPv6 ਪੈਕੇਟ ਬਹੁਤ ਵੱਡਾ: ਵੱਡੇ VPN ਟ੍ਰਾਂਸਫਰ ਕਿਉਂ ਅਟਕਦੇ ਹਨ
ਛੋਟੇ ਜਵਾਬ ਆਉਂਦੇ ਹਨ ਅਤੇ ਵੱਡੇ ਟ੍ਰਾਂਸਫਰ ਉਸੇ ਟਨਲ ਵਿੱਚ ਅਟਕ ਜਾਂਦੇ ਹਨ। ਭੇਜਣ ਵਾਲੇ ਨੇ ਪੱਥ ਦਾ ਆਕਾਰ ਕਦੇ ਨਹੀਂ ਸਿੱਖਿਆ, ਅਤੇ ਫਿਲਟਰ ਹੋਇਆ ਕੰਟਰੋਲ ਸੁਨੇਹਾ ਇਹ ਸਮਝਾਉਂਦਾ ਹੈ।
ਪਿੰਗ ਕੰਮ ਕਰਦਾ ਹੈ, ਬ੍ਰਾਊਜ਼ਰ ਇੱਕ ਛੋਟਾ ਪੰਨਾ ਲੋਡ ਕਰਦਾ ਹੈ ਅਤੇ ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ ਅਟਕ ਜਾਂਦਾ ਹੈ, ਇਹ ਸਭ ਇੱਕੋ ਟਨਲ ਰਾਹੀਂ IPv6 'ਤੇ। ਇਹ ਪੈਟਰਨ ਆਮ ਤੌਰ 'ਤੇ ਦੱਸਦਾ ਹੈ ਕਿ ਭੇਜਣ ਵਾਲੇ ਨੇ ਪੱਥ ਦਾ ਅਸਲ ਆਕਾਰ ਕਦੇ ਨਹੀਂ ਸਿੱਖਿਆ, ਇਹ ਨਹੀਂ ਕਿ ਟਨਲ ਹੌਲੀ ਹੈ। IPv6 ਉਮੀਦ ਕਰਦਾ ਹੈ ਕਿ ਰਾਊਟਰ Packet Too Big ਸੁਨੇਹੇ ਨਾਲ ਸਮੱਸਿਆ ਦੱਸਣ, ਅਤੇ ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਪੈਕੇਟ ਦੇ ਬਾਹਰੀ ਨੈੱਟਵਰਕ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਵਾਧੂ ਭਾਰ ਜੋੜਦਾ ਹੈ। ਜੇ ਉਹ ਸੁਨੇਹਾ ਫਿਲਟਰ ਹੋ ਜਾਵੇ, ਤਾਂ ਭੇਜਣ ਵਾਲਾ ਲੰਘ ਨਾ ਸਕਣ ਵਾਲਾ ਆਕਾਰ ਦੁਹਰਾਉਂਦਾ ਰਹਿੰਦਾ ਹੈ।
ਛੋਟੀਆਂ ਬੇਨਤੀਆਂ, ਵੱਡੇ ਅਟਕਾਅ
ਟਨਲ ਹਰ ਪੈਕੇਟ ਨੂੰ ਇੱਕ ਹੋਰ ਹੈਡਰ ਵਿੱਚ ਲਪੇਟਦਾ ਹੈ, ਇਸ ਲਈ ਅੰਦਰ ਵਰਤੋਂ ਯੋਗ ਆਕਾਰ ਬਾਹਰ ਦੇ ਆਕਾਰ ਤੋਂ ਛੋਟਾ ਹੁੰਦਾ ਹੈ। ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਭੌਤਿਕ ਲਿੰਕ ਲਈ ਮਾਪਿਆ ਪੈਕੇਟ ਬਾਅਦ ਵਿੱਚ ਬਹੁਤ ਵੱਡਾ ਹੋ ਜਾਂਦਾ ਹੈ। IPv4 ਰਾਊਟਰ ਪੱਥ ਵਿੱਚ ਟੁਕੜੇ ਕਰ ਸਕਦੇ ਹਨ, ਪਰ IPv6 ਰਾਊਟਰ ਭੇਜਣ ਵਾਲੇ ਵੱਲੋਂ ਅਜਿਹਾ ਨਹੀਂ ਕਰਦੇ, ਇਸ ਲਈ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਖੁਦ ਢਲਣਾ ਪੈਂਦਾ ਹੈ। ਅਤੇ ਇਹ ਢਲਣਾ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫੀਡਬੈਕ ਮਿਲਣ 'ਤੇ ਨਿਰਭਰ ਹੈ।
ਇੱਕ ਗੁੰਮਿਆ ਸੁਨੇਹਾ ਕਲਾਸਿਕ ਲੱਛਣ ਪੈਦਾ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਹੈ: ਹੈਂਡਸ਼ੇਕ ਅਤੇ ਛੋਟੇ ਜਵਾਬ ਸਫਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਸੂਚੀ ਜਾਂ ਅੱਪਲੋਡ ਹਰ ਵਾਰ ਉਸੇ ਥਾਂ 'ਤੇ ਅਟਕ ਜਾਂਦਾ ਹੈ। ਵਰਤੋਂਕਾਰ ਇਸਨੂੰ VPN ਹੌਲੀ ਹੋਣਾ ਕਹਿੰਦੇ ਹਨ, ਅਤੇ ਲੌਗ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ ਕੁਝ ਵੀ ਗਲਤ ਨਹੀਂ ਦਿਖਾਉਂਦੇ। ਦੋਵੇਂ ਨਿਰੀਖਣ ਸਹੀ ਹਨ ਅਤੇ ਦੋਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਖਰਾਬੀ ਦੀ ਥਾਂ ਨਹੀਂ ਲੱਭਦਾ।
Packet Too Big ਫੀਡਬੈਕ ਹੈ, ਟ੍ਰੈਫਿਕ ਨਹੀਂ
ICMPv6 Packet Too Big ਸੁਨੇਹਾ ਅਗਲੇ ਹੌਪ ਵੱਲੋਂ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾ ਸਕਣ ਵਾਲਾ ਆਕਾਰ ਲੈ ਕੇ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਭੇਜਣ ਵਾਲਾ ਇਸਨੂੰ ਆਪਣਾ ਅੰਦਾਜ਼ਾ ਘਟਾਉਣ ਲਈ ਵਰਤਦਾ ਹੈ। ਇਸਨੂੰ ਫਿਲਟਰ ਕਰਨਾ ਸੜਕ ਦਾ ਸੰਕੇਤ ਹਟਾ ਕੇ ਫਿਰ ਡਰਾਈਵਰਾਂ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਵਰਗਾ ਹੈ। ਸਾਰਾ ICMPv6 ਸੁੱਟਣ ਵਾਲਾ ਨਿਯਮ ਸਖ਼ਤ ਦਿਸਦਾ ਹੈ, ਪਰ ਜਿਸ ਹਰ ਲਿੰਕ ਨੂੰ ਇਸਦੀ ਲੋੜ ਹੈ ਉੱਥੇ ਪੱਥ ਖੋਜ ਤੋੜ ਦਿੰਦਾ ਹੈ। ਸੁਨੇਹਾ ਪੱਥ ਬਾਰੇ ਕੰਟਰੋਲ ਜਾਣਕਾਰੀ ਹੈ, ਐਪਲੀਕੇਸ਼ਨ ਪੇਲੋਡ ਨਹੀਂ।
ਚੋਣਵੀਂ ਫਿਲਟਰਿੰਗ ਅਜੇ ਵੀ ਵਾਜਬ ਹੈ। ਈਕੋ ਬੇਨਤੀਆਂ ਅਤੇ ਗੁਆਂਢੀ ਖੋਜ ਗਲਤੀ ਸੁਨੇਹਿਆਂ ਤੋਂ ਵੱਖਰੀ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੇ ਹਨ, ਅਤੇ ਨੀਤੀ ਉਨ੍ਹਾਂ ਨੂੰ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਵੇਖ ਸਕਦੀ ਹੈ। ਪੂਰੇ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਸਵੀਕਾਰ ਜਾਂ ਰੱਦ ਕਰਨ ਦੀ ਥਾਂ ਪਲੇਟਫਾਰਮ ਦੀ ਦਸਤਾਵੇਜ਼ੀ ਫਿਲਟਰਿੰਗ ਸੇਧ ਦੀ ਪਾਲਣਾ ਕਰੋ, ਕਿਉਂਕਿ RFC 8201 ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਉਹ ਫੀਡਬੈਕ ਖੋਜ ਨੂੰ ਕਿਵੇਂ ਚਲਾਉਂਦਾ ਹੈ।
ਦੋਵੇਂ ਪਤਾ ਪਰਿਵਾਰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਜਾਂਚੋ
IPv6 ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਜਾਂਚੋ, ਕਿਉਂਕਿ ਸਫਲ IPv4 ਟ੍ਰਾਂਸਫਰ IPv6 ਪੱਥ ਬਾਰੇ ਕੁਝ ਵੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ। ਫਿਰ ਵੱਡਾ ਟ੍ਰਾਂਸਫਰ ਅਟਕਿਆ ਹੋਇਆ ਹੋਵੇ ਤਦ ਕੰਟਰੋਲ ਸੁਨੇਹੇ ਕੈਪਚਰ ਕਰੋ। ਦੋਵੇਂ ਰਿਕਾਰਡ ਇਕੱਠੇ ਜਾਂ ਤਾਂ ਫੀਡਬੈਕ ਬਾਹਰ ਜਾਣਾ ਦਿਖਾਉਂਦੇ ਹਨ, ਜਾਂ ਸਾਬਤ ਕਰਦੇ ਹਨ ਕਿ ਉਹ ਕਦੇ ਪਹੁੰਚਿਆ ਹੀ ਨਹੀਂ।
ping -6 -M do -s 1400 host.internal
ip -6 route get 2001:db8:2::10
sudo tcpdump -ni any 'icmp6 and ip6[40] == 2'
ਪ੍ਰੋਬ do-not-fragment ਬਿੱਟ ਸੈੱਟ ਕਰਕੇ ਪੈਕੇਟ ਭੇਜਦਾ ਹੈ ਅਤੇ ਉਹ ਆਕਾਰ ਦੱਸਦਾ ਹੈ ਜਿੱਥੇ ਉਹ ਅਸਫਲ ਹੁੰਦਾ ਹੈ, ਇਹੀ ਉਹ ਸੰਖਿਆ ਹੈ ਜੋ ਟਨਲ ਨੂੰ ਸਮੇਟਣੀ ਪੈਂਦੀ ਹੈ। ਰੂਟ ਕਵੈਰੀ ਉਹ ਇੰਟਰਫੇਸ ਦੱਸਦੀ ਹੈ ਜੋ ਮੰਜ਼ਿਲ ਲੈ ਜਾਵੇਗਾ, ਇਸ ਲਈ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਕਿਹੜੇ ਲਿੰਕ ਦਾ MTU ਲਾਗੂ ਹੁੰਦਾ ਹੈ। ਕੈਪਚਰ ICMPv6 ਕਿਸਮ 2, ਯਾਨੀ Packet Too Big ਸੁਨੇਹਾ, ਫਿਲਟਰ ਕਰਦਾ ਹੈ ਅਤੇ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਉਹ ਇਸ ਹੋਸਟ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਜੇ ਸੁਨੇਹਾ ਕੈਪਚਰ ਵਿੱਚ ਦਿਸੇ ਅਤੇ ਟ੍ਰਾਂਸਫਰ ਫਿਰ ਵੀ ਅਟਕੇ, ਤਾਂ ਭੇਜਣ ਵਾਲਾ ਉਸਨੂੰ ਅਣਡਿੱਠ ਕਰ ਰਿਹਾ ਹੈ, ਜੋ ਜਾਂਚ ਨੂੰ ਨੈੱਟਵਰਕ ਦੀ ਥਾਂ ਸਟੈਕ ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ।
ਸਬੂਤ ਤੋਂ ਬਾਅਦ ਹੀ ਟਨਲ ਦਾ ਆਕਾਰ ਬਦਲੋ
ਟਨਲ ਦਾ MTU ਘਟਾਉਣਾ ਫਿਲਟਰ ਹੋਏ ਸੁਨੇਹੇ ਨੂੰ ਲੁਕਾ ਸਕਦਾ ਹੈ ਅਤੇ ਲੱਛਣ ਗਾਇਬ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਹਰ ਪੈਕੇਟ 'ਤੇ ਵਧੇਰੇ ਭਾਰ ਦੀ ਕੀਮਤ 'ਤੇ। ਇਹ ਹੱਲ ਨਹੀਂ, ਬਚਾਅ ਦਾ ਰਾਹ ਹੈ, ਅਤੇ ਇਹਨੂੰ ਕੈਪਚਰ ਦੀ ਥਾਂ ਲੈਣ ਦੀ ਬਜਾਏ ਉਸ ਤੋਂ ਬਾਅਦ ਆਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਨਮਾਨੀ ਘੱਟ ਮੁੱਲ ਵੀ ਦਿਸਣ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਤੋੜਦਾ, ਇਸੇ ਲਈ ਇਹ ਸਾਲਾਂ ਤੱਕ ਸੰਰਚਨਾਵਾਂ ਵਿੱਚ ਬਚਿਆ ਰਹਿੰਦਾ ਹੈ। ਇਸਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਬਦਲੋ, ਮੁੱਲ ਦਰਜ ਕਰੋ, ਅਤੇ ਲਿਖੋ ਕਿ ਕਿਹੜੇ ਮਾਪ ਨੇ ਇਸਨੂੰ ਜਾਇਜ਼ ਠਹਿਰਾਇਆ।
ਜੇ ਗੇਟਵੇ ਤੁਹਾਡੇ ਕੰਟਰੋਲ ਵਿੱਚ ਹੈ, ਤਾਂ ਫਾਇਰਵਾਲ ਬੰਦ ਕਰਨ ਦੀ ਥਾਂ ਉਹ ਨਿਯਮ ਜਾਂਚੋ ਜੋ ਸੁਨੇਹਾ ਸੁੱਟਦਾ ਹੈ। ਇੱਕ ਸੋਧਿਆ ਨਿਯਮ ਨੀਤੀ ਦੀ ਛੋਟ ਨਾਲੋਂ ਸੰਧਰਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਇਸਦਾ ਬਚਾਅ ਕਰਨਾ ਬਹੁਤ ਸੌਖਾ ਹੈ। ਇਹੀ ਤਰਕ ਟਾਈਮਆਊਟਾਂ 'ਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦਾ ਹੈ: ਹਰ ਅਟਕਣਾ ਆਕਾਰ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ, ਅਤੇ ਕੈਪਚਰ ਹੀ ਦੋਵਾਂ ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ।