એક પૃષ્ઠ લોડ થાય છે, એક ping સફળ થાય છે, અને ફાઇલની નકલ દર વખતે એ જ જગ્યાએ અટકી જાય છે. આ પેટર્ન બેન્ડવિડ્થ કે ઓળખપત્રોને બદલે પેકેટના કદ તરફ ઇશારો કરે છે. એન્કેપ્સ્યુલેશન દરેક પેકેટમાં બાઇટ ઉમેરે છે, તેથી મૂળ માર્ગ પર સમાતો પેલોડ ટનલમાંથી પસાર થયા પછી મર્યાદા વટાવી શકે છે. આ વાતચીતમાં ત્રણ અલગ સંખ્યાઓને MTU કહેવાય છે, અને તેમને ભેળવી દેવાથી એવું સેટિંગ મળે છે જે એક એપ્લિકેશન સુધારે છે અને બીજી તોડે છે.

લોકો જેમને MTU કહે છે તે ત્રણ સંખ્યાઓ

ઇન્ટરફેસ MTU એ તે લિંક પર પેકેટ માટે ગોઠવેલી મર્યાદા છે. માર્ગ MTU એ રૂટ પરની સૌથી નાની મર્યાદા છે, અને તે શોધાય છે, ગોઠવાતી નથી. TCP MSS એ પેલોડનું કદ છે જે સામેનો પક્ષ જાહેર કરે છે કે તે મેળવી શકે છે, અને તે બાકીની બેમાંથી ઉતરી આવે છે, અલગ ભૌતિક મર્યાદા નથી.

ટનલને અંદરનું અને બહારનું સ્વરૂપ હોય છે. બહારનું પેકેટ એન્કેપ્સ્યુલેટેડ પેકેટ સાથે પ્રોટોકોલને જરૂરી હેડરો લઈ જાય છે, તેથી વપરાયોગ્ય અંદરનું કદ બહારના માર્ગ પરવાનગી આપે તેના કરતાં નાનું હોય છે. VPN સર્વર સુધીનો માર્ગ પણ સર્વરના ગંતવ્ય સુધીના માર્ગ કરતાં અલગ છે.

માર્ગ MTUની શોધ મોકલનારને કામ કરતું કદ જાણવા દે છે, પણ તે પ્રતિસાદ પહોંચવા પર આધાર રાખે છે. જ્યારે વચ્ચેનું ઉપકરણ સંબંધિત ICMP સંદેશ ફિલ્ટર કરે છે, ત્યારે મોકલનાર એવા પેકેટ મોકલતું રહે છે જે કદી પૂરા થતા નથી, અને એ જ ઉત્તમ કાળું કૂવો છે. લક્ષણ જાણ્યા પછી સ્પષ્ટ છે: હેન્ડશેક સફળ થાય છે, પહેલો પૂરા કદનો પેલોડ અદૃશ્ય થાય છે, અને કનેક્શન છેવટે રીસેટ થાય છે અથવા અટકી જાય છે. એપ્લિકેશન લોગમાં કંઈ પણ નેટવર્ક સમસ્યા જેવું લાગતું નથી.

તમે નિયંત્રિત કરો તેવા પેલોડ સાથે માર્ગ ચકાસો

એક પરીક્ષણ એક માર્ગ અને એક કદ વિશેનો પુરાવો છે, સૂચવેલું સેટિંગ નથી. જવાબ આપતું હોસ્ટ વાપરો, અને ફક્ત પેલોડનું કદ બદલો.

ping -M do -s 1372 -c 2 203.0.113.20
ping -4 -f -l 1372 vpn.example

પ્રથમ આદેશ ફ્રેગમેન્ટેશન બંધ રાખીને 1372 બાઇટના પેલોડ સાથે લિનક્સ પરીક્ષણ મોકલે છે, અને બીજો વિન્ડોઝ પર એ જ કરે છે જ્યાં પેલોડ -l થી સેટ થાય છે. જવાબનો અર્થ છે કે તે કદ માર્ગ પાર કરી ગયું. ફ્રેગમેન્ટેશનની જરૂર હોવાનો સંદેશ માહિતીપ્રદ છે, જ્યારે સમયસમાપ્તિ અસ્પષ્ટ છે કારણ કે હોસ્ટ અથવા વચ્ચેનું ઉપકરણ ફક્ત ICMP કાઢી નાખી શકે છે.

બાઇટ સુધી દ્વિસંગી શોધ કરવાને બદલે થોડા પગલાંમાં કદ નીચે લાવો. તમે એ નક્કી કરવા પ્રયત્ન કરી રહ્યા છો કે કદની કોઈ ટોચમર્યાદા છે કે નહીં, દરેક નેટવર્ક માટે સંખ્યા પ્રકાશિત કરવા નહીં. તમે જે સંખ્યા શોધો તે આ માર્ગ, આ પ્રોટોકોલ અને આ સરનામા કુટુંબને લાગુ પડે છે.

IPv4 અને IPv6 જુદી રીતે ફ્રેગમેન્ટ થાય છે, તેથી એક કુટુંબનું પરિણામ બીજા વિશે કંઈ કહેતું નથી. એપ્લિકેશન ખરેખર જે કુટુંબ વાપરે છે તેનું પરીક્ષણ કરો.

MSS ક્લેમ્પિંગ ફક્ત TCPને મદદ કરે છે

TCPમાં અસરકારક પેલોડ હેન્ડશેક દરમિયાન વાટાઘાટ થાય છે, અને માર્ગ પરનું રાઉટર તે મૂલ્ય નીચે તરફ ફરી લખી શકે છે જેથી બંને છેડા નાના સેગમેન્ટ મોકલે. MSS ક્લેમ્પિંગ એ જ કરે છે, અને તે ક્લાયન્ટને જરાય સ્પર્શ કર્યા વિના કામ કરે છે.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip link show tun0

પ્રથમ નિયમ ફોરવર્ડ થતા TCP હેન્ડશેક માટે જાહેર કરેલા MSSને માર્ગ MTU સાથે ક્લેમ્પ કરે છે, અને બીજો ટનલ ઇન્ટરફેસનું પોતાનું MTU દર્શાવે છે જેથી તમે તેને માર્ગ પરવાનગી આપે તેની સાથે સરખાવી શકો. હેન્ડશેક પછી અટકી જતી TCP એપ્લિકેશન માટે ક્લેમ્પિંગ સૌથી ઓછું આક્રમક સમાધાન છે.

UDP માટે તે કંઈ કરતું નથી. મોટા ડેટાગ્રામ મોકલતું વોઇસ કે ગેમ ક્લાયન્ટ MSS સેટિંગ સંપૂર્ણ અવગણશે, કારણ કે ફરી લખવા જેવો કોઈ હેન્ડશેક નથી. જો નિષ્ફળ જતી એપ્લિકેશન UDP હોય, તો તેના બદલે ક્લાયન્ટની પોતાની પેકેટ કદની વિકલ્પો જુઓ. બંને પ્રોટોકોલ જુદી રીતે નિષ્ફળ જાય છે અને જુદા સાધનોથી સુધારાય છે, તેથી પ્રોટોકોલ ટિકિટના પહેલા વાક્યમાં હોવો જોઈએ.

OpenVPN tun-mtu, mssfix અને ફ્રેગમેન્ટ સંબંધિત સેટિંગ્સ જેવા વિકલ્પો આપે છે, અને તેમનું વર્તન આવૃત્તિ તથા ડેટા ચેનલ AEAD છે કે નહીં તેના પર આધાર રાખે છે. વપરાતી આવૃત્તિનું મેન્યુઅલ વાંચો, અને એક વખતે એક વિકલ્પ બદલો.

એક સમર્થિત સેટિંગ બદલો અને બંને રન ફરી કરો

મૂળ પ્રોફાઇલ રાખો, એક સમર્થિત મૂલ્ય બદલો, અને જે નાની વિનંતી કામ કરતી હતી તેમજ જે મોટું ટ્રાન્સફર નિષ્ફળ ગયું તે બંને ફરી ચલાવો. ફક્ત મોટું બદલાય તો તમે કદ પાછળ દોડતા હતા. બંને બદલાય તો તેની સાથે બીજું કંઈક ખસ્યું છે.

નીચું મૂલ્ય લક્ષણ ઘટાડી શકે છે પણ વધારાનો ભાર ઉમેરે છે, તેથી શક્ય સૌથી નાની સંખ્યા ધ્યેય નથી. ધ્યેય એવું કદ છે જે માર્ગ સૌથી ઓછા વ્યય સાથે વિશ્વસનીય રીતે વહન કરે. મૂલ્ય, માર્ગ અને ક્લાયન્ટ આવૃત્તિ ટિકિટમાં નોંધો, કારણ કે એ જ સંખ્યા બીજે લાગુ કરવી એ અનુમાન છે.

જો એ જ પ્રોફાઇલ બીજા વિશ્વસનીય નેટવર્કથી કામ કરે, તો ક્લાયન્ટ સુધરેલો જાહેર કરવાને બદલે તે તફાવત નિદાનમાં રાખો. જે ચલ બદલાયું તે માર્ગ છે, અને પરીક્ષણે માપ્યું તે માર્ગ જ છે.

સંબંધિત લેખો