Ọ̀nà íńtánẹ́ẹ̀tì méjì lè mú kí VPN wà ní àárò púpọ̀ sí i, wọ́n sì lè mú kí ó yára fún àwọn ẹrù iṣẹ́ kan, ṣùgbọ́n ẹ̀rọ náà ni ó ń pinnu èwo nínú àwọn méjì náà yóò ṣẹlẹ̀. Ẹ̀rọ olùdarí tí ó ní ọ̀nà àkọ́kọ́ méjì kò sopọ̀, ihò tí ń gbé ẹgbẹẹgbẹ̀rún ìsopọ̀ inú náà ṣì jẹ́ ṣíṣàn ìta kan. Pípè ìlérí ní àkọ́kọ́ ni ìyàtọ̀ láàrín àpẹẹrẹ kan àti ìjákulẹ̀ olówó ńlá. Tábìlì tí ó wà nísàlẹ̀ yapa àwọn àṣàyàn nípa ohun tí ọ̀kọ̀ọ̀kan nílò ní òpin jíjìnnà àti ohun tí pípàdánù ìsopọ̀ ń ṣe sí ìgbéjáde.

Ìlérí mẹ́ta, àti ọ̀kan ṣoṣo ni ó nílò alábàákẹ́gbẹ́

Ìyípadà nígbà ìkùnà ń pa ọ̀nà mọ́ ní àárò nígbà tí ìsopọ̀ ààyò bá pòórá. Ìdọ́gba pẹ̀lú háṣì ṣíṣàn ń tú àwọn ṣíṣàn olómìnira ká sórí ọ̀nà méjì sórí. Ìsopọ̀ ṣíṣàn kan ń jẹ́ kí ìgbéjáde kan lò ọ̀nà méjì náà lẹ́ẹ̀kan náà. Ìwọ̀nyí jẹ́ ọjà tí ó yàtọ̀ pẹ̀lú àwọn ohun tí ó nílò tí ó yàtọ̀, àti èyí tí ó kẹ́yìn nìkan ni ó nílò ìfọwọ́sowọ́pọ̀ ohun kan ní ìta ẹ̀rọ olùdarí rẹ.

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

Kò sí ohunkóhun nínú tábìlì yẹn tí ó jẹ́ ìdí láti ra ọ̀nà kejì. Ohun tí ó ń ṣe ni dídènà kí a má ṣe ṣàyẹ̀wò àpẹẹrẹ ìyípadà bí ẹni pé ìsopọ̀ ni.

Ìdí tí ihò fi dàbí ṣíṣàn kan fún ẹ̀rọ olùdarí

Ẹ̀rọ olùdarí tí ń dọ́gba ẹrù ń háṣì àwọn àdírẹ́sì orísun àti ibi àfojúsùn pẹ̀lú àwọn ibùdókọ̀, lẹ́yìn náà ó rán gbogbo ṣíṣàn náà lọ sí ibi tí háṣì náà tọ́ka sí. Ihò VPN jẹ́ irú ṣíṣàn kan bẹ́ẹ̀ ní ojú ẹ̀rọ olùdarí, ohunkóhun tí ó ń ṣiṣẹ́ nínú rẹ̀. Àwọn ìsopọ̀ inú kò dé ìpinnu háṣì rárá, nítorí pé àkọlé ìta ti pinnu ọ̀nà tẹ́lẹ̀. Ìdí ni pé ọ̀nà kejì sórí lè ṣe ìlọ́po méjì àpapọ̀ agbára fún ọ̀pọ̀ olùlò àti pé kò ní yí ohunkóhun padà nínú ìgbéjáde ńlá olùlò kan.

Ihò méjì ọ̀tọ̀ọ̀tọ̀ lè fún ọ ní olùdíje méjì, ṣùgbọ́n wọ́n ṣì nílò ìlànà tí a mọ̀ọ́mọ̀ ṣe tí yóò pín ìrìnàjò àti tí yóò pa àwọn ìdáhùn mọ́ lórí ọ̀nà tí ìbéèrè náà gbà. Ìpẹ̀ka ọ̀nà aláìdọ́gba ni àbájáde tí ó wọ́pọ̀ fún fífo igbésẹ̀ yẹn. Kékeré jùlọ ni ìlànà tí ń dárúkọ ṣíṣàn, ìsopọ̀ ààyò àti ìsopọ̀ ìpamọ́.

Ìsopọ̀ Ethernet kò kọjá àwọn olùpèsè tí kò ní ìbáṣepọ̀, nítorí pé òpin jíjìnnà gbọdọ̀ kópa nínú ìlànà ìsopọ̀. Ìsopọ̀ kọjá ISP méjì jẹ́ iṣẹ́ ìwádìí àyàfi tí ibi òpin tí ń fọwọ́sowọ́pọ̀ bá wà.

Ohun tí TCP ọ̀nà púpọ̀ nílò ní òpin méjèèjì

Ìwé Linux nípa Multipath TCP ṣàlàyé àwọn ṣíṣàn-ọmọ mélòókan tí ó jẹ́ ti ìsopọ̀ kan. Àtìlẹ́yìn kérnélì ní òpin kan kò yí ohunkóhun padà fúnra rẹ̀, nítorí pé alábàákẹ́gbẹ́ náà gbọdọ̀ gba àwọn ṣíṣàn-ọmọ yẹn pẹ̀lú. Púrósì ní ẹ̀gbẹ́ jíjìnnà ni ètò mìíràn tí ó wọ́pọ̀, yóò sì di ẹ̀yà tí ó ní agbára àti wíwà fúnra rẹ̀ tí a gbọdọ̀ gbèrò. Ìmọ̀ràn kan náà yọ ìdáhùn rírọrùn kúrò fún WireGuard, tí ìgbékalẹ̀ rẹ̀ jẹ́ UDP: MPTCP ń dàgbà àwọn ṣíṣàn-ọmọ TCP kò sì lè ṣe ìsopọ̀ ihò yẹn láìsí ohun mìíràn nínú àpẹẹrẹ.

Ṣàyẹ̀wò bóyá ẹ̀yà kérnélì ti ṣí i ṣáájú kí o tó ṣe àpẹẹrẹ yí ká, nítorí pé ọ̀pọ̀ pínpín ń fi í lọ ní títì. Àwọn àṣẹ mẹ́ta wọ̀nyí ń dáhùn rẹ̀ ní ìṣẹ́jú kan.

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

Yan láti inú ẹrù iṣẹ́, kì í ṣe láti inú ìwé ìpolówó

Bí ẹrù iṣẹ́ bá jẹ́ ọ̀pọ̀ ìpàdé olómìnira, ìdọ́gba pẹ̀lú háṣì ṣíṣàn lè fi agbára kún láìsí ìfọwọ́sowọ́pọ̀ ní òpin jíjìnnà. Bí ó bá jẹ́ ìgbéjáde ńlá kan, àpẹẹrẹ ìsopọ̀ nìkan ni yóò ràn ọ́ lọ́wọ́, àpẹẹrẹ yẹn sì nílò alábàákẹ́gbẹ́ tí ń fọwọ́sowọ́pọ̀. Bí ohun tí a nílò bá jẹ́ kí iṣẹ́ máa tẹ̀síwájú nígbà tí ìsopọ̀ bá kú, ìdáhùn ni ìyípadà àti ìwọ̀n ìgbéjáde kan kò ṣe pàtàkì.

Kọ ohun tí a nílò sí gbólóhùn kan tí ó ní ọ̀rọ̀-ìṣe nínú: àdàkọ ìpamọ́ kan ń parí ní ìlọ́po méjì yára, tàbí ìsopọ̀ tí ó ṣubú kò parí ìpàdé kan. Àwọn àfojúsùn tí kò ṣe kedere ń dá àwọn àpẹẹrẹ tí ẹnìkankan kò lè gbà tàbí kọ̀. Lẹ́yìn náà pinnu ohun tí òpin jíjìnnà lè jẹ́, nítorí pé àṣàyàn tí ó rọ̀ jùlọ sábà máa ń jẹ́ èyí tí kò béèrè ohunkóhun tuntun níbẹ̀. Ààlà yẹn yọ ọ̀pọ̀ àwọn ìsọ́nà inú ìwé ìpolówó kúrò kí ìpàdé àkọ́kọ́ tó wáyé.

Pa àwọn ìlérí mẹ́ta mọ́ lọ́tọ̀ọ̀tọ̀ nínú ìwé àwọn ohun tí a nílò. Àpẹẹrẹ tí ń sọ pé ó ní àwọn mẹ́tẹ̀ẹ̀ta sábà máa ń fúnni ní ọ̀kan, yóò sì ro àwọn mìíràn lọ́nà ìdákẹ́jẹ́. Apá tí ó tẹ̀lé ń dán èyí tí a fi ń fúnni ní tòótọ́ wò.

Dán ìgbéjáde kan àti ọ̀pọ̀, lẹ́yìn náà fa ìsopọ̀ kan jáde

Fi ìgbéjáde tí ó ń tẹ̀síwájú kan wé àwọn ìgbéjáde tí ó ń lọ lẹ́gbẹ̀ẹ́ méjì sí ibi àfojúsùn kan náà, kí o sì kọ àdánù, ìdádúró àti ìlò ọ̀nà kọ̀ọ̀kan sílẹ̀. Bí èrè bá wà pẹ̀lú àwọn ìpàdé tí ó ń lọ lẹ́gbẹ̀ẹ́ nìkan, ó ń tọ́ka sí pínpín ṣíṣàn, kì í ṣe ìsopọ̀ ṣíṣàn kan. Dán àdánù ọ̀nà kan sórí lọ́tọ̀ọ̀tọ̀, nítorí pé agbára nígbà tí ọ̀nà méjèèjì ń ṣiṣẹ́ kò sọ ohunkóhun nípa ìyípadà fún ìpàdé tí ó ti dá. Kọ ọ̀nà, sọ́kẹ́ẹ̀tì àti àwọn olùka ìránṣẹ́-padà ṣáájú àti lẹ́yìn gbogbo ìdánwò.

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

Nígbà tí ìgbéjáde kan ṣì ń lò ọ̀nà kan sórí, àpẹẹrẹ náà ń ṣe gbọ́n ohun tí háṣì ṣíṣàn ń túmọ̀ sí. Nígbà tí àwọn ìgbéjáde tí ó ń lọ lẹ́gbẹ̀ẹ́ bá tàn ká sórí méjèèjì, ìdọ́gba ń ṣiṣẹ́ àti ìsopọ̀ kò ṣiṣẹ́. Kọ èwo nínú àwọn ìlérí mẹ́ta tí àpẹẹrẹ náà ń pa mọ́ ní tòótọ́, àti ìjíròrò agbára tí ó tẹ̀lé yóò bẹ̀rẹ̀ pẹ̀lú ẹ̀rí, kì í ṣe ìsọ́nà olùtà.

Àwọn àpilẹ̀kọ tó jọra