OpenVPN TCP හි: rto_min මගින් පේළියේ මුදුනේ ඇති අවහිරතාව නොවිසඳයි
පිටත බයිට් ධාරාව අනුපිළිවෙලින් ලබා දෙයි, එබැවින් එක් නැති වූ කොටසකට සෑම අභ්යන්තර ගැලීමක්ම නැවැත්විය හැක. දිගු අභ්යන්තර ටයිමරයක් ඔරලෝසුවක් වෙනස් කරයි, එම සීමාව නොවේ.
උමග හරහා ධාවනය වන අන්තර්ක්රියාකාරී ෂෙල් එකක් ගොනු පිටපත් කිරීමක් ධාවනය වන අතරතුර තත්පර කිහිපයක් එල්ලී, පසුව කිසිවක් සිදු නොවූ ලෙස දිගටම පවතී. ගැටලුව බාගැනීමට පමණි, නමුත් ෂෙල් ද රැඳී සිටී, දෙකම එකම මොහොතේ යථා තත්ත්වයට පත් වේ. මෙම රටාව බොහෝ සංවාද රැගෙන යන එකම විශ්වාසදායක ධාරාවේ අත්සනයි, සහ මිනිසුන් මුලින්ම උත්සාහ කරන සෑම සකස් කිරීමක්ම පාහේ අභිබවා නිල රැඳේ.
රෝග ලක්ෂණය හොඳින් කියවිය යුතුය, මන්ද එය යාන්ත්රණයක් කරා යොමු කරයි, සැකසුමක් කරා නොවේ: විරාමය බෙදාගෙන ඇත, එබැවින් හේතුව ද බෙදාගෙන ඇත, බෙදාගත් වස්තුව පිටත සම්බන්ධතාවයයි. මෙය සිදුවන අතරතුර ලොගයේ අනෙක් සියල්ල සාමාන්ය ලෙස පෙනේ.
රෝග ලක්ෂණය: සියල්ල එකවර නතර වේ
අභ්යන්තර සම්බන්ධතා දෙකක් එකට හිරවීමම සලකුණයි. මන්දගාමී බාගැනීමක් සහ මන්දගාමී ෂෙල් එකක් වෙන වෙනම අනුක්රමික අංක සහ වෙන වෙනම තදබද තත්ත්වය ඇති වෙන වෙනම TCP සංවාද වේ, එබැවින් එකක දෝෂයක් අනෙකට නොගැටිය යුතුය. ඒවා එකම රිද්මයකින් නතර වන විට, ඒවාට ඉහළින් යමක් ඒවායේ බයිට් පිළිවෙළට සකසයි.
එම යමක් වන්නේ උමගේ ප්රවාහන ස්ථරයයි. TCP මාදිලියේ, OpenVPN ඇතුළු කළ පැකට් එකම TCP සම්බන්ධතාවකින් සහකරු වෙත ලියයි, TCP හි ගිවිසුම වන්නේ එකම බයිට් ධාරාවක් අනුපිළිවෙලින් ලබා දීමයි. පසුව එන බයිට් නැති වූ ඒවාට පෙර යෙදුමට ලබා නොදේ, ඒවා කුමන අභ්යන්තර සංවාදයකට අයත් වුවත්.
රෝග ලක්ෂණය කුමක් නොකියයි දැයි සැලකිල්ලට ගන්න. මාර්ගය කැඩී ඇති බව, සේවාදායකය අධික බරකින් සිටින බව, හෝ සංකේතනය මන්දගාමී බව එය නොකියයි. ඒවා වෙනත් හැඩතල සාදයි: ඒකාකාර අඩු ප්රතිදානය, කාල ඉකුත්වීම්, හෝ එක් දිශාවකට පමණක් බලපාන අසාර්ථකත්ව. නැති වූ කොටසක් නැවත යැවූ විට අවසන් වන බෙදාගත් විරාමය නිශ්චිතවම පිළිවෙළේ බලපෑමකි.
එක් පිටත බයිට් ධාරාවක්, බොහෝ අභ්යන්තර සංවාද
උමග එකවර බාගැනීමක් සහ ෂෙල් එකක් රැගෙන යන බව සිතන්න. පිටත සම්බන්ධතාවයේ කොටසක් නැති වේ. පසු කොටස් ලබන්නා වූ සත්කාරකයට ළඟා විය හැක, ලබන්නා වූ TCP ගොඩ ඒවා තහවුරු කරයි, නමුත් හිඩැස පිරෙන තෙක් ඒවා ඉහළට ලබා දිය නොහැක. එබැවින් OpenVPN සතුව ෂෙල් සඳහා කියවීමට කිසිවක් නැත, ෂෙල්හිම බයිට් බොහෝ කලකට පෙර පැමිණ තිබුණත්.
මෙය එක් සම්බන්ධතාවක් තුළ පේළියේ මුදුනේ ඇති අවහිරතාවයි, එය යෙදුම් දෙකම අභ්යන්තර සම්බන්ධතාවක් බෙදාගත යුතු යැයි ඉල්ලා නොසිටී. ඒවා පිටත එක බෙදාගනී, එය ප්රමාණවත්ය.
දෙවන අනුපිළිවෙල බලපෑම එය තවත් නරක අතට හරවයි. තහවුරු කිරීම් නොදකින අභ්යන්තර යවන්නෙකු, පිටත ස්ථරය දැනටමත් ලබා දීමට උත්සාහ කරන දත්ත නැවත යැවිය හැක. එම නැවත යැවීම කොටස් නැති කරගත හැකි බව දැන් සනාථ කළ මාර්ගයක අමතර උමං ගමනාගමනයක් බවට පත්වේ, එබැවින් ප්රතිසාධන කාර්යය වැදගත් ප්රතිසාධනය සමඟ තරඟ කරයි.
මේ කිසිවක් කඩා වැටීමට සහතික නොවේ. කෙටි ගමන් වාර සහ පුළුල් පේළි ඇති පිරිසිදු මාර්ගයක මෙම සැකැස්ම වසර ගණනාවක් සම්පූර්ණයෙන් භාවිත කළ හැකි විය හැක. අලාභය, ප්රමාදය සහ පේළි ගැඹුර එකට එකතු වන විට අසාර්ථකත්වය දිස් වේ, එබැවින් වාර්තා හොඳින් සපයන ලද කාර්යාල වටා නොව, තදබද සහිත උඩු සම්බන්ධතා සහ ජංගම සම්බන්ධතා වටා එකතු වේ.
දිගු අභ්යන්තර ටයිමරයකට උදව් කළ නොහැක්කේ ඇයි
මාර්ගයක rto_min සමඟ අවම නැවත යැවීමේ කාල සීමාව ඉහළ නැංවීම, එම මාර්ගය භාවිත කරන ස්ථානීයව ජනනය වන TCP ගමනාගමනයට ටයිමරය පාදක නැවත යැවීම කල් දමයි. එය සැබෑ බලපෑමක් ඇති සැබෑ බොත්තමක් වන අතර, පළමු අනුපිළිවෙල ගැටලුව වෙනුවට දෙවන අනුපිළිවෙල ගැටලුව විසඳයි.
ip route show
ip route show cache 2>/dev/null | head
ss -tin dst 10.70.0.1
එයට කළ නොහැක්කේ: පිටත බයිට් පිළිවෙළින් පිටතට මුදා හැරීම, නැති වූ කොටස වේගයෙන් ප්රතිසාධනය කිරීම, හෝ දුර සේවාදායකයා එම ටයිමරයම භාවිත කරන ලෙස සැලැස්වීමයි. ලබන්නා වූ ගොඩ තවමත් පිළිවෙළින් ලබා දෙයි, දුර කෙළවරේ යවන්නා තවමත් තමන්ගේම ගමන් වාර මිනුම් භාවිත කරයි.
එය අනෙක් සියලුම අලාභ ප්රතිසාධන යාන්ත්රණ ද විද්යුත් වශයෙන් නවතා නොදමයි. සැබෑ අලාභයට ටයිමරය පාදක ප්රතිසාධනය අවශ්ය වන තැන, විශාල අවමයක් යෙදුම ක්රියා කිරීමට පෙර වැඩි කාලයක් රැඳී සිටීමට සලස්වයි, එය ප්රමාදයට සංවේදී සැසියකට අවශ්ය දෙයට හාත්පසින්ම වෙනස් ය.
තත්පර දොළහක ස්ථාවර පහළ සීමාවක් මෙම මාතෘකාවේ උපදෙස්වල TCP උමගක් පැවතීම එය අනිවාර්ය කරන ලෙස පෙනේ. RFC 6298 හි විස්තර කර ඇති නැවත යැවීමේ ටයිමරය මනින ලද ගමන් වාර කාලයෙන් ඝාතීය පසුබැසීම සමඟ ව්යුත්පන්න වේ, එබැවින් ස්ථාවර පහළ සීමාවක් නිශ්චිත මාර්ගයකට ප්රතිපත්ති තේරීමක් මිස ප්රොටෝකෝල අවශ්යතාවක් නොවේ. පුළුල් ලෙස යෙදූ විට එය රෝග ලක්ෂණය සඟවමින් එම මාර්ගය ආවරණය කරන සෑම ගැලීමකම ප්රතිසාධනය වෙනස් කරයි.
tcp-nodelay කරන්නේ කුමක්ද, නොකරන්නේ කුමක්ද
ප්රවාහන සොකට්ටුවේ Nagle විලාසීය බෆර් කිරීම අක්රිය කරන උමං විකල්පයට පටු අරමුණක් ඇත: කුඩා ලිවීම් යැවීමට පෙර තවත් දත්ත සඳහා රැඳී සිටීම වළක්වයි. මෙය අන්තර්ක්රියාකාරී ගමනාගමනයට අනෙක් අතට සෞඛ්ය සම්පන්න මාර්ගයක අමතර ප්රමාදයක් වළක්වා ගැනීමට උදව් කරයි.
එය ප්රවාහනය අනුපිළිවෙළින් තොර එකක් නොකරයි, නැති වූ කොටසකට පසු ප්රතිසාධනය කෙටි නොකරයි. නැවත යැවීමේ කාල සීමාවක් සඳහා නතර වන ෂෙල් එකක් එම විකල්පය සක්රීයව තිබියදීත් නතර වේ, මන්ද විකල්පය පිළිවෙළ රීතිය කිසිදා ස්පර්ශ කර නැත.
දෙකම ප්රමාද අලුත්වැඩියා ලෙස විස්තර කරන නිසා දෙකම පටලවා ගැනීම පහසුය. එකක් බෆර් කිරීම නිසා ඇති වූ කෘතීම රැඳීම ඉවත් කරයි, අනෙකට ප්රවාහනය සහතික කරන දෙය වෙනස් කිරීම අවශ්ය වේ, කිසිදු සොකට් විකල්පයක් එය නොකරයි.
ප්රවාහන ස්ථර සාධාරණව සංසන්දනය කරන්නේ කෙසේද
ක්රියාකරු අවසර දෙන්නේ නම් සහ සේවා දෙකම පවතී නම්, එකම වැඩ බර රැගෙන යන UDP සේවාවක් සහ TCP සේවාවක් එකම සේවාදායකයට එකම ප්රවේශ මාර්ගයෙන් සංසන්දනය කරන්න. පරීක්ෂණ දෙක අතර රට, සැපයුම්කරු හෝ සේවාදායක පරම්පරාව වෙනස් කිරීම ප්රතිඵලය මත ආධිපත්යය දරන විචල්යයක් හඳුන්වා දෙයි.
ප්රතිදාන සංඛ්යාවක් වෙනුවට බෙදාගත් විරාමය දෙස බලන්න. පිටත අලාභය අතරතුර අභ්යන්තර යෙදුම් කිහිපයක් එකට හිරවීම පේළියේ මුදුනේ ඇති අවහිරතාව හඳුනාගන්නා නිරීක්ෂණයයි; වේග පරීක්ෂණයේ එක් අඩු සංඛ්යාවක් එය නොකරයි.
උමං අතුරුමුහුණතේ සහ භෞතික අතුරුමුහුණතේ අවසර ලත් ග්රහණ ස්ථර දෙක පිරිසිදුව වෙන් කරයි, මන්ද අභ්යන්තර සහ පිටත නැවත යැවීම් වෙනස් අනුක්රමික අවකාශ ඇති වෙනස් සම්බන්ධතාවලට අයත් වේ. පිටත ධාරාව හිඩැසක් පෙන්වන විට අභ්යන්තර නැවත යැවීම් දැකීම සෘජු සාක්ෂියයි.
UDP වෙත මාරු වීම අමතර විශ්වාසදායක ධාරාව ඉවත් කර අභ්යන්තර TCP ට තමන්ගේම ප්රතිසාධනය කිරීමට ඉඩ දෙයි. එය ශුන්ය අලාභයක් හෝ අඩු ප්රමාදයක් පොරොන්දු නොවේ, සංතෘප්ත උඩු සම්බන්ධතාවක්, විශාල පේළි හෝ MTU ගැටලුවක් තවමත් නිවැරදි කළ යුතුය. උමගින් පිටත ගමනාගමනය උමගේ අනුක්රමික හිඩැස පිටුපස කිසිදා රඳවා නොගැනේ, මාර්ග දෙකම එකම තදබද සහිත සබැඳියක් බෙදාගන්නා විට එය තවමත් පීඩා විඳිය හැක, එම බෙදාගත් බාධකය මෙයට නවා නොගෙන තමන්ගේම විමර්ශනයකට සුදුසුය.