ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, сСтСвой Π΄Ρ€ΡƒΠ³!

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, сСтСвой Π΄Ρ€ΡƒΠ³! БСгодня ΠΏΡ€ΠΎ ``MPTCP (Multipath TCP)`` - ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ TCP-соСдинСнию ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сразу нСсколько сСтСвых ΠΏΡƒΡ‚Π΅ΠΉ. НапримСр, Wi-Fi ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. πŸŸ£Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ скачиваСт большой Ρ„Π°ΠΉΠ» Ρ‡Π΅Ρ€Π΅Π· Wi-Fi. Π’Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΠ· здания, сигнал ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ - ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ TCP-соСдинСниС обрываСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ измСнился сСтСвой ΠΏΡƒΡ‚ΡŒ. MPTCP Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈΠ½Π°Ρ‡Π΅: ΠΎΠ΄Π½ΠΎ логичСскоС соСдинСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… TCP-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ subflows. Если ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ пСрСстаёт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π½Π΅ разрывая соСдинСниС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния. 🟣Как это устроСно: ΠΏΡ€ΠΈ установлСнии соСдинСния стороны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ TCP-ΠΎΠΏΡ†ΠΈΡŽ MP_CAPABLE, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ MPTCP. ПослС этого Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· MP_JOIN. НапримСр: β€’ Wi-Fi: 192.168.1.20 β†’ сСрвСр β€’ LTE: 10.20.30.40 β†’ сСрвСр Для прилоТСния это ΠΎΠ΄Π½ΠΎ соСдинСниС, хотя Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ интСрфСйсы ΠΈ IP-адрСса. 🟣А ΠΊΠ°ΠΊ MPTCP собираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ? Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ subflow собствСнныС TCP sequence numbers. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ MPTCP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Data Sequence Numbers, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ порядок Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ. πŸŸ£ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Linux: sysctl net.mptcp.enabled ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ настроСнныС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ адрСса ΠΈ ограничСния: ip mptcp endpoint show ip mptcp limits show А Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ MPTCP-сокСты: ss -Mai Но ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ³ΠΎ net.mptcp.enabled=1 нСдостаточно. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ MPTCP-сокСты Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ совмСстимости. πŸŸ£Π”ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Wireshark: mptcp tcp.options.mptcp МоТно ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ согласованиС MP_CAPABLE, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· MP_JOIN ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ нСскольким subflows. πŸŸ£Π“Π΄Π΅ ΠΏΠΎΠ΄Π²ΠΎΡ…: MPTCP Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ скорости ΠΏΡ€ΠΈ Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит ΠΎΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, ΠΏΠΎΡ‚Π΅Ρ€ΡŒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠ±Π΅ΠΈΠΌΠΈ сторонами. Если сСрвСр Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ MPTCP, соСдинСниС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ продолТится ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ TCP. Π—Π°Ρ‚ΠΎ для устройств с нСсколькими ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ связи это интСрСсная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: вмСсто ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ сСтями ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ соСдинСния. πŸ€–Π‘Π΅ΡΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ ChatGPT

189 просмотров

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

935 подписчиков Β· IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Β«IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.