İki internet xətti VPN-i daha əlçatan edə bilər və bəzi iş yükləri üçün onu sürətləndirə bilər, lakin hansının baş verəcəyini mexanizm müəyyən edir. İki standart marşrutu olan marşrutlaşdırıcı birləşdirilmiş deyil və minlərlə daxili bağlantı daşıyan tunel yenə də bir xarici axındır. Vədini əvvəlcə adlandırmaq layihə ilə bahalı məyusluq arasındakı fərqdir. Aşağıdakı cədvəl variantları hər birinin uzaq tərəfdə nəyə ehtiyacı olduğuna və keçid itkisinin ötürməyə nə etdiyinə görə ayırır.

Üç vəd, və yalnız birinə tərəfdaş lazımdır

Keçid nasazlığı üstünlük verilən xətt yox olanda yolu əlçatan saxlayır. Axın heşi balanslaşdırması müstəqil axınları iki yuxarı kanala yayır. Tək axının birləşdirilməsi bir ötürməyə hər iki xətti eyni anda istifadə etməyə imkan verir. Bunlar fərqli tələbləri olan fərqli məhsullardır və yalnız sonuncusu marşrutlaşdırıcınızdan kənarda bir şeyin əməkdaşlığına ehtiyac duyur.

MechanismFar-end requirementEffect on one transferWhat breaks under a link loss
Packet-spraying overlayA cooperating endpoint that reassembles the streamPackets can spread across both linksReordering and buffering on the surviving path; its own recovery logic decides what continues
MPTCP subflowsA peer or proxy that accepts subflowsSubflows can share one connectionSurviving subflows continue if the peer keeps them alive
Flow-hash balancingNothing new; the existing tunnel endpoint is enoughOne outer flow still follows one linkFlows hashed onto the dead link move; established sessions break
Link failoverNothing newOne path at a time; the second link sits idleThe session stalls or restarts on the other link

O cədvəldə heç nə ikinci xətt almaq üçün səbəb deyil. Etdiyi şey, nasazlıq keçidi layihəsinin birləşdirmə kimi qiymətləndirilməsinin qarşısını almaqdır.

Niyə tunel marşrutlaşdırıcı üçün tək axın kimi görünür

Yük balanslaşdıran marşrutlaşdırıcı mənbə və təyinat ünvanlarını portlarla birlikdə heşləyir, sonra bütün axını heşin göstərdiyi yerə göndərir. VPN tuneli marşrutlaşdırıcının nöqteyi-nəzərindən belə bir axındır, içində nə işləyirsə işləsin. Daxili bağlantılar heş qərarına heç vaxt çatmır, çünki xarici başlıq yolu artıq müəyyən edib. Buna görə ikinci yuxarı kanal bir çox istifadəçi üçün ümumi tutumu ikiqat artıra bilər və bir istifadəçinin böyük ötürməsi üçün heç nəyi dəyişməz.

İki ayrı tunel sizə iki namizəd verə bilər, lakin onlar hələ də trafiki təyin edən və cavabları sorğunu daşıyan yolda saxlayan qəsdən qurulmuş siyasətə ehtiyac duyur. Asimmetrik marşrutlaşdırma həmin addımın atlanmasının adi nəticəsidir. Axını, üstünlük verilən xətti və ehtiyat xəttini adlandıran siyasət minimumdur.

Ethernet birləşdirməsi əlaqəsiz provayderləri keçmir, çünki uzaq tərəf birləşdirmə protokolunda iştirak etməlidir. İki ISP arasında birləşdirmə, əməkdaşlıq edən son nöqtə olmadıqca bir tədqiqat layihəsidir.

Çoxyollu TCP hər iki tərəfdə nə tələb edir

Linux-un Multipath TCP sənədləri bir bağlantıya aid bir neçə alt axını təsvir edir. Bir tərəfdə nüvə dəstəyi təkbaşına heç nəyi dəyişmir, çünki həmkar da həmin alt axınları qəbul etməlidir. Uzaq tərəfdə proksi digər geniş yayılmış həlldir və o, öz tutumu və əlçatanlığı ilə planlaşdırılmalı komponentə çevrilir. Eyni məntiq WireGuard üçün asan cavabı istisna edir, çünki onun nəqliyyatı UDP-dir: MPTCP TCP alt axınlarını böyüdür və layihədə başqa bir şey olmadan o tuneli birləşdirə bilməz.

Layihələndirməzdən əvvəl nüvə funksiyasının aktiv olub olmadığını yoxlayın, çünki bir çox distributiv onu söndürülmüş göndərir. Bu üç əmr bunu bir dəqiqədə cavablandırır.

sysctl net.mptcp.enabled
ss -M | head
ip mptcp limits show

Broşurdan deyil, iş yükündən seçin

Əgər iş yükü çoxlu müstəqil sessiyadırsa, axın heşi balanslaşdırması uzaq tərəfin əməkdaşlığı olmadan tutum əlavə edə bilər. Əgər bu bir böyük ötürmədirsə, yalnız birləşdirmə layihəsi kömək edəcək və o layihəyə əməkdaşlıq edən həmkar lazımdır. Əgər tələb xətt öləndə işin davam etməsidirsə, cavab nasazlıq keçididir və tək ötürmənin ötürmə qabiliyyəti əhəmiyyətsizdir.

Tələbi içində fel olan bir cümlə ilə yazın: bir ehtiyat iki dəfə tez bitir, ya da düşən xətt sessiyanı bitirmir. Qeyri-müəyyən məqsədlər heç kimin qəbul edə və ya rədd edə bilməyəcəyi layihələr yaradır. Sonra uzaq tərəfin nə olmasına icazə verildiyini qərarlaşdırın, çünki ən ucuz variant çox vaxt orada yeni heç nə tələb etməyəndir. Bu məhdudiyyət ilk görüşdən əvvəl broşur iddialarının çoxunu aradan qaldırır.

Tələblər sənədində üç vədi ayrı saxlayın. Hər üçünü iddia edən layihə adətən birini verir və digərlərini səssizcə fərz edir. Növbəti bölmə əslində hansının verildiyini yoxlayır.

Bir ötürməni və çoxunu sınaqdan keçirin, sonra xətti çəkin

Bir davamlı ötürməni eyni təyinatına bir neçə paralel ötürmə ilə müqayisə edin və hər biri üçün itki, gecikmə və xətt üzrə istifadəni qeyd edin. Yalnız paralel sessiyalarla qazanc axınların paylanmasına işarə edir, tək axının birləşdirilməsinə yox. Bir yuxarı kanalın itkisini ayrıca sınayın, çünki hər iki xətt işləyərkən tutum mövcud sessiya üçün nasazlıq keçidi haqqında heç nə demir. Hər sınaqdan əvvəl və sonra marşrutu, soketi və yenidən göndərmə sayğaclarını qeydə alın.

ip route show default
ip route get 10.80.0.5
mtr -n -c 20 -r 10.80.0.5

Tək ötürmə hələ də bir yuxarı kanal istifadə edəndə layihə məhz axın heşinin nəzərdə tutduğunu edir. Paralel ötürmələr hər ikisinə yayılanda balanslaşdırma işləyir və birləşdirmə işləmir. Layihənin üç vəddən hansını həqiqətən saxladığını qeyd edin və növbəti tutum söhbəti satıcı iddiasından deyil, sübutdan başlayır.

Əlaqəli məqalələr