Почему SSL-рукопожатие не удается из-за маленького MTU?

Вопрос или проблема

У меня есть SSL-соединение с сервером (owner-api.teslamotors.com), которое зависает при использовании wget, curl или openssl s_client. Я показываю версию curl, так как она выводит больше всего сообщений отладки:

# curl -iv https://owner-api.teslamotors.com 
*   Trying 18.203.70.200:443...
* Connected to owner-api.teslamotors.com (18.203.70.200) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs

Здесь оно зависает после ClientHello. TCP-соединение устанавливается успешно (также подтверждено с telnet/nc). Другие сетевые соединения, включая любые SSL-соединения, которые я пробовал, работают. За исключением owner-api.teslamotors.com:443.

Я нашел эту статью, где говорится о MTU, и это показалось мне экзотичным решением. Но я уменьшил MTU сервера, и это сработало! Оно работает с любым MTU <= 1420.

Сервер подключается через Ethernet (MTU 1500) к маршрутизатору Mikrotik, откуда соединение идет через туннель WireGuard (MTU 1420). Я понимаю, что это может быть не оптимально, так как любой IP-пакет от сервера >1420 потребуется фрагментировать. Тем не менее, это не зависит от любого L4-протокола. SSL через TCP не должен заботиться о фрагментации и MTU. Однако, этот хост делает.

Я провел захват пакетов на Mikrotik и не увидел там ничего аномального:

image

Типичное TCP рукопожатие Num 1-3, затем ClientHello (Num 4-5) и ServerHello (Num 6-7). Никакой размер пакета не приближается к MTU и никаких других ICMP-сообщений, которые бы указывали на проблемы с фрагментацией и т.д.

По комментарию, вот результат tracepath:

# tracepath owner-api.teslamotors.com
 1?: [LOCALHOST]                      pmtu 1500
 1:  XX.XX.56.210                                          0.410ms 
 1:  XX.XX.56.210                                          0.198ms 
 2:  XX.XX.56.210                                          0.138ms pmtu 1420
 2:  XX.XX.56.185                                        151.394ms 
 3:  no reply
 4:  100.100.200.1                                       157.220ms 
 5:  10.75.0.193                                         154.068ms 
 6:  10.75.2.53                                          161.950ms asymm  7 
 7:  decix1.amazon.com                                   152.107ms asymm  8 
 8:  decix2.amazon.com                                   153.068ms 
 9:  no reply
 [...]

Я действительно не знаю, что тут происходит.

Почему это SSL-соединение не удается?

Я понимаю, что это может быть не оптимально, так как любой IP-пакет от сервера >1420 потребуется фрагментировать.

Суть проблемы в том, что сервер не знает, что такие пакеты нуждаются в фрагментации.

Типичное TCP рукопожатие Num 1-3, затем вероятно ClientHello (Num 4-5) и ServerHello (Num 6-7). Никакой размер пакета не приближается к MTU и никаких других ICMP-сообщений, которые бы указывали на проблемы с фрагментацией и т.д.

Существуют большие пакеты — такие как сообщение TLS Certificate от сервера4 — но ваша запись не видит их, потому что они больше вашего MTU, поэтому никогда не доходят до вас. Это буквально проблема; если бы эти пакеты достигли вашего сетевого интерфейса (таким образом, они стали бы видимыми в захвате пакетов), то соединение бы не зависало.

Захват должен быть сделан на “входном” конце туннеля, конкретно на входном интерфейсе, который находится на один шаг перед интерфейсом с ‘низким MTU’. Так что если путь “интернет → сервер eth0 ⇒ сервер wg0 → клиент wg-foo ⇒ клиент ether1”, то большие пакеты будут видны на “сервер eth0”, но не поместятся в “сервер wg0”. Захват на wg0, следовательно, не даст ничего, но захват на eth0, вероятно, покажет серию:

you --> VPS --> API   TCP SYN
    <--     <--       TCP ACK
    -->     -->       малый пакет
    <--     <--       малый пакет
           X<--       большой пакет
            -->       ICMP нужна фрагментация
           X<--       большой пакет
            -->       ICMP нужна фрагментация
           X<--       большой пакет
            -->       ICMP нужна фрагментация
            ...

(Обратите внимание, что аппаратное ускорение получения может давать запутанные результаты, так как ваша сетевой адаптер Ethernet может объединять сегменты в один суперпакет, например, при захвате на самом конечном хосте. Если вы видите пакеты размером более 2кБ, возможно, вам придется выполнить ethtool -K eth0 gso off gro off на время захвата.)

почему бы это помогло, если я уменьшу MTU на клиенте?

Во время TCP рукопожатия клиент (оба узла на самом деле) объявляют TCP MSS — максимальный размер сегмента TCP — который они могут принять. Поскольку клиент обычно теперь имеет бесконечную память1 и не ограничен маленькими сегментами, он действительно предлагает наибольший MSS, который он вычисляет как оптимальный для известного ему MTU, чтобы избежать необходимости в IP-уровневой фрагментации.

Например, если MTU вашего интерфейса Ethernet составляет 1500, ваша ОС может предложить MSS 1460, который точно укладывается в IP payload (предполагая накладные расходы IPv4 20 и TCP снова 20, в самом простом случае).

Поэтому уменьшение MTU сетевого интерфейса клиента приведет к тому, что он объявит меньший допустимый размер сегмента TCP заранее, что заставит сервер всегда отправлять меньшие IP-пакеты (т.е. оставаясь ниже предела, при котором требовалась бы фрагментация), как если бы вы уменьшили MTU сервера.

Однако, с умолчанием MTU 1500 сервер будет отправлять большие сегменты в больших IP-пакетах, пока не получит ICMP “требуется фрагментация” от шлюза вашего провайдера (того, что имеет низк-MTU-линк к вам и не может передать эти пакеты вам); тогда сервер примет к сведению новое PMTU по направлению к вам и начнет отправлять эти сегменты, фрагментируя их на уровне IP.5

Но если какой-либо брандмауэр 3 блокирует получение этого ICMP-ошибки на сервер, это не произойдет, и сервер будет вечно пытаться отправить этот TCP-сегмент в том же большом IP-пакете. (Или, если сервер находится за некоторым типом брандмауэра 2, который пересобирает и повторно фрагментирует все IP-пакеты, проходящие через него, возможно, он может фрагментировать пакет корректно, но брандмауэр может отменить всю его работу.)

Шлюзы, такие как Linux с nftables/iptables, часто имеют возможность изменять MSS TCP-запросов, проходящих через них, чтобы они соответствовали MTU, которое шлюз знает, например, когда клиент находится в сети Ethernet с MTU в 1500 байт, но шлюз должен передать пакет через туннель PPPoE с MTU в 1420 байт:

  • tcp flags syn tcp option maxseg size set rt mtu
  • /ip/firewall/mangle/add chain=forward out-interface=wg-foo-bar \
    protocol=tcp tcp-flags=syn action=change-mss new-mss=clamp-to-pmtu \
    passthrough=yes

Тем не менее, это не зависит от любого L4-протокола. SSL через TCP не должен заботиться о фрагментации и MTU.

Если я правильно понимают, то TCP должен заботиться об MTU, потому что полагаться на IP-фрагментацию уменьшает эффективность ретрансляций TCP — если даже один фрагмент будет ‘потерян’, то весь IP-пакет будет ‘потерян’, и ничто из него не будет доставлено протоколу верхнего уровня.

Например, если TCP отправил сегмент размером 64k, который был фрагментирован в 45 IP-датаграмм, и одна из них потерялась, то все они должны будут быть повторно переданы после ICMP “Время превышения для объединения”. (Это предполагает, что фрагментация вообще работает, что, как вы видите, иногда не происходит.3)

Тогда как с теми же 64k данных, разделенными на TCP-сегменты, которые укладываются в IP-MTU, другие 44 IP-пакета все равно будут доставлены в ваш слой TCP и подтверждены, и только потерянный пакет придется повторно передавать (что, как я думаю, может даже произойти ~сразу после того, как сервер получит SACK, указывающий на дыру, вместо долгого таймаута для объединения).


4 Сообщения ‘Certificate’ были видны в открытом виде с TLSv1.2, но шифруются с TLSv1.3, так что в захвате будут видны только как ‘Application Data’.

1 Или так считают большинство разработчиков.

2 Например, Untangle в своей стандартной ‘броутинговой’ конфигурации.

3 Также известен как “PMTUD black hole”. См., например, блог Cloudflare пост #1 и #2 и #3 для одной из ситуаций, когда это происходит по причинам не только из-за полного блокирования ICMP системным администратором.

5 Я на самом деле не знаю, фрагментирует ли он те же сегменты на уровне IP или уменьшает ли TCP MSS для этого подключения тоже. Возможно, это на самом деле последнее.

Как объяснено в другом ответе, причина, по которой оно зависает, заключается в том, что ответ сервера больше, чем MTU и ICMP-ошибка не достигает сервера.

Причина, по которой это происходит только на этом сервере, заключается в том, что это единственный сервер, который отправляет такой большой ответ на этом этапе.

Если я выполню curl https://owner-api.teslamotors.com

5   0.013509631 203.0.113.16    18.203.70.200   TCP 66  51606 → 443 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 WS=64
6   0.057231368 18.203.70.200   203.0.113.16    TCP 66  443 → 51606 [SYN, ACK] Seq=0 Ack=1 Win=62377 Len=0 MSS=1452 SACK_PERM=1 WS=128
7   0.057355952 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [ACK] Seq=1 Ack=1 Win=29248 Len=0
8   0.061562746 203.0.113.16    18.203.70.200   TLSv1.3 571 Client Hello
8   0.061562746 203.0.113.16    18.203.70.200   TLSv1.3 571 Client Hello
10  0.104836276 18.203.70.200   203.0.113.16    TLSv1.3 2958    Server Hello, Change Cipher Spec
11  0.104880551 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [ACK] Seq=518 Ack=2905 Win=35008 Len=0
12  0.104902237 18.203.70.200   203.0.113.16    TLSv1.3 658 Application Data
13  0.104925162 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [ACK] Seq=518 Ack=3509 Win=37952 Len=0
14  0.109083037 203.0.113.16    18.203.70.200   TLSv1.3 134 Change Cipher Spec, Application Data
15  0.109646827 203.0.113.16    18.203.70.200   TLSv1.3 100 Application Data
16  0.109700685 203.0.113.16    18.203.70.200   TLSv1.3 103 Application Data
17  0.109744382 203.0.113.16    18.203.70.200   TLSv1.3 89  Application Data
18  0.109882096 203.0.113.16    18.203.70.200   TLSv1.3 123 Application Data
19  0.151425699 18.203.70.200   203.0.113.16    TCP 54  443 → 51606 [ACK] Seq=3509 Ack=797 Win=61568 Len=0
20  0.151491050 18.203.70.200   203.0.113.16    TLSv1.3 613 Application Data, Application Data
21  0.152190497 203.0.113.16    18.203.70.200   TLSv1.3 85  Application Data
22  0.155358549 18.203.70.200   203.0.113.16    TLSv1.3 326 Application Data
23  0.156319475 203.0.113.16    18.203.70.200   TLSv1.3 78  Application Data
24  0.156460139 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [FIN, ACK] Seq=852 Ack=4340 Win=43776 Len=0
25  0.198861820 18.203.70.200   203.0.113.16    TCP 54  443 → 51606 [ACK] Seq=4340 Ack=853 Win=61568 Len=0
26  0.198951063 18.203.70.200   203.0.113.16    TLSv1.3 78  Application Data
27  0.199003446 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [RST] Seq=853 Win=0 Len=0
28  0.199020077 18.203.70.200   203.0.113.16    TCP 54  443 → 51606 [FIN, ACK] Seq=4364 Ack=853 Win=61568 Len=0
29  0.199036406 203.0.113.16    18.203.70.200   TCP 54  51606 → 443 [RST] Seq=853 Win=0 Len=0

с 18.203.70.200 это IP-адрес, на который разрешается owner-api.teslamotors.com (после трех CNAME, заканчиваясь на узле AWS, вы, вероятно, получите другой) и 203.0.113.16 как клиента.

Обратите внимание, что Server Hello — это единственный TCP-пакет размером 2958 байт. Это явно не годится для MTU.

Wireshark идентифицирует в нем Слой записи TLSv1.3: Протокол рукопожатия: Server Hello длиной 122 байта, за которым следует Слой записи TLSv1.3: Протокол изменения шифра: Change Cipher Spec длиной 6 байт, что впрочем, не дает понимания произошедшего.

Установив --tls-max 1.2, мы получаем более читаемые данные:

4476    1113.693922228  54.228.206.56   203.0.113.16    TLSv1.2 2958    Server Hello
4477    1113.693963780  203.0.113.16    54.228.206.56   TCP 54  50456 → 443 [ACK] Seq=241 Ack=2905 Win=35008 Len=0
4478    1113.693984193  54.228.206.56   203.0.113.16    TLSv1.2 591 Certificate, Server Key Exchange, Server Hello Done
4479    1113.694006327  203.0.113.16    54.228.206.56   TCP 54  50456 → 443 [ACK] Seq=241 Ack=3442 Win=37952 Len=0
4480    1113.697364110  203.0.113.16    54.228.206.56   TLSv1.2 147 Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
4481    1113.739730405  54.228.206.56   203.0.113.16    TLSv1.2 105 Change Cipher Spec, Encrypted Handshake Message

Мы все еще получаем 2958 байт Server hello, но теперь оно не зашифровано, так что можем ‘прочитать’, что оно содержит сертификат:

0090   00 0b 00 02 01 00 00 10 00 05 00 03 02 68 32 16   .............h2.
00a0   03 03 0b c9 0b 00 0b c5 00 0b c2 00 06 f0 30 82   ...É...Å..Â..ð0.
00b0   06 ec 30 82 05 d4 a0 03 02 01 02 02 10 01 77 15   .ì0..Ô .......w.
00c0   34 88 b2 7b 89 2b 6b df 4c 9e 8c 17 e1 30 0d 06   4.²{.+kßL...á0..
00d0   09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 59 31 0b   .*.H.÷......0Y1.
00e0   30 09 06 03 55 04 06 13 02 55 53 31 15 30 13 06   0...U....US1.0..
00f0   03 55 04 0a 13 0c 44 69 67 69 43 65 72 74 20 49   .U....DigiCert I
0100   6e 63 31 33 30 31 06 03 55 04 03 13 2a 44 69 67   nc1301..U...*Dig
0110   69 43 65 72 74 20 47 6c 6f 62 61 6c 20 47 32 20   iCert Global G2 
0120   54 4c 53 20 52 53 41 20 53 48 41 32 35 36 20 32   TLS RSA SHA256 2
0130   30 32 30 20 43 41 31 30 1e 17 0d 32 34 30 35 30   020 CA10...24050
0140   31 30 30 30 30 30 30 5a 17 0d 32 35 30 35 31 35   1000000Z..250515
0150   32 33 35 39 35 39 5a 30 70 31 0b 30 09 06 03 55   235959Z0p1.0...U
0160   04 06 13 02 55 53 31 13 30 11 06 03 55 04 08 13   ....US1.0...U...
0170   0a 43 61 6c 69 66 6f 72 6e 69 61 31 12 30 10 06   .California1.0..
0180   03 55 04 07 13 09 50 61 6c 6f 20 41 6c 74 6f 31   .U....Palo Alto1
0190   14 30 12 06 03 55 04 0a 13 0b 54 65 73 6c 61 2c   .0...U....Tesla,
01a0   20 49 6e 63 2e 31 22 30 20 06 03 55 04 03 13 19    Inc.1"0 ..U....
01b0   6f 77 6e 65 72 2d 61 70 69 2e 74 65 73 6c 61 6d   owner-api.teslam
01c0   6f 74 6f 72 73 2e 63 6f 6d 30 82 01 22 30 0d 06   otors.com0.."0..
01d0   09 2a 86 48 86 f7 0d 01 01 01 05 00 03 82 01 0f   .*.H.÷..........
01e0   00 30 82 01 0a 02 82 01 01 00 d6 40 ae 5a 1b e5   .0........Ö@®Z.å
01f0   ad e9 59 0a cb 71 3c c3 13 ba 22 9e 93 fe 2a 21   .éY.Ëq<Ã.º"..þ*!
0200   df ee 83 6e a3 a1 85 42 a7 c9 cd 93 c8 b7 83 da   ßî.n£¡.B§ÉÍ.È·.Ú
0210   ca 02 3e fb cc 57 48 d1 ad 80 86 09 18 03 e5 c6   Ê.>ûÌWHÑ......åÆ
0220   62 9d 34 b1 76 aa b5 d0 ca c3 3d f5 12 c6 6b 01   b.4±vªµÐÊÃ=õ.Æk.
0230   1b 32 19 9b 95 26 b9 21 16 bf de fe c3 e9 6c 57   .2...&¹!.¿ÞþÃélW
0240   63 0d 94 54 1b 8c 7a 2c 76 32 9d f6 8d d3 2c c7   c..T..z,v2.ö.Ó,Ç
0250   fa 79 6a 61 b9 5a e4 1d 2d a9 16 74 05 45 45 8c   úyja¹Zä.-©.t.EE.
0260   93 c0 93 28 7b 5f 59 1b e5 82 5c 4e c4 93 23 5b   .À.({_Y.å.\NÄ.#[
0270   df 64 48 02 4a dd 43 f2 bb a5 db 84 67 09 e2 3c   ßdH.JÝCò»¥Û.g.â<
0280   0f e7 9c 6b 94 32 f7 b9 f2 3e 49 86 8a f6 4b 62   .ç.k.2÷¹ò>I..öKb
0290   28 37 bf 23 45 20 2c 8d 88 26 68 6a fa 11 f4 22   (7¿#E ,..&hjú.ô"
02a0   71 32 48 ef 26 ce 05 e8 af 05 f5 ad 3e 9e da f8   q2Hï&Î.è¯.õ.>.Úø
02b0   9d 84 4e b8 4a cf c2 7a fc 3a 95 e5 49 34 7b 9b   ..N¸JÏÂzü:.åI4{.
02c0   1e de 75 bf d3 47 e0 b0 e9 43 00 62 86 84 fb 9c   .Þu¿ÓGà°éC.b..û.
02d0   8d ee b3 5f c1 f0 c9 86 cd 77 b0 a8 f1 b2 1d 77   .î³_ÁðÉ.Íw°¨ñ².w
02e0   1a 05 70 39 49 39 e3 86 40 05 02 03 01 00 01 a3   ..p9I9ã.@......£
02f0   82 03 97 30 82 03 93 30 1f 06 03 55 1d 23 04 18   ...0...0...U.#..
0300   30 16 80 14 74 85 80 c0 66 c7 df 37 de cf bd 29   0...t..ÀfÇß7ÞϽ)
0310   37 aa 03 1d be ed cd 17 30 1d 06 03 55 1d 0e 04   7ª..¾íÍ.0...U...
0320   16 04 14 5c 3a a0 0f 5d f7 4c 04 60 0e 10 ed 95   ...\: .]÷L.`..í.
0330   3d 94 74 bb 16 06 a9 30 24 06 03 55 1d 11 04 1d   =.t»..©0$..U....
0340   30 1b 82 19 6f 77 6e 65 72 2d 61 70 69 2e 74 65   0...owner-api.te
0350   73 6c 61 6d 6f 74 6f 72 73 2e 63 6f 6d 30 3e 06   slamotors.com0>.
0360   03 55 1d 20 04 37 30 35 30 33 06 06 67 81 0c 01   .U. .70503..g...
0370   02 02 30 29 30 27 06 08 2b 06 01 05 05 07 02 01   ..0)0'..+.......
0380   16 1b 68 74 74 70 3a 2f 2f 77 77 77 2e 64 69 67   ..http://www.dig
0390   69 63 65 72 74 2e 63 6f 6d 2f 43 50 53 30 0e 06   icert.com/CPS0..
03a0   03 55 1d 0f 01 01 ff 04 04 03 02 05 a0 30 1d 06   .U....ÿ..... 0..
03b0   03 55 1d 25 04 16 30 14 06 08 2b 06 01 05 05 07   .U.%..0...+.....
03c0   03 01 06 08 2b 06 01 05 05 07 03 02 30 81 9f 06   ....+.......0...
03d0   03 55 1d 1f 04 81 97 30 81 94 30 48 a0 46 a0 44   .U.....0..0H F D
03e0   86 42 68 74 74 70 3a 2f 2f 63 72 6c 33 2e 64 69   .Bhttp://crl3.di
03f0   67 69 63 65 72 74 2e 63 6f 6d 2f 44 69 67 69 43   gicert.com/DigiC
0400   65 72 74 47 6c 6f 62 61 6c 47 32 54 4c 53 52 53   ertGlobalG2TLSRS
0410   41 53 48 41 32 35 36 32 30 32 30 43 41 31 2d 31   ASHA2562020CA1-1
0420   2e 63 72 6c 30 48 a0 46 a0 44 86 42 68 74 74 70   .crl0H F D.Bhttp
0430   3a 2f 2f 63 72 6c 34 2e 64 69 67 69 63 65 72 74   ://crl4.digicert
0440   2e 63 6f 6d 2f 44 69 67 69 43 65 72 74 47 6c 6f   .com/DigiCertGlo
0450   62 61 6c 47 32 54 4c 53 52 53 41 53 48 41 32 35   balG2TLSRSASHA25
0460   36 32 30 32 30 43 41 31 2d 31 2e 63 72 6c 30 81   62020CA1-1.crl0.
0470   87 06 08 2b 06 01 05 05 07 01 01 04 7b 30 79 30   ...+........{0y0
0480   24 06 08 2b 06 01 05 05 07 30 01 86 18 68 74 74   $..+.....0...htt
0490   70 3a 2f 2f 6f 63 73 70 2e 64 69 67 69 63 65 72   p://ocsp.digicer
04a0   74 2e 63 6f 6d 30 51 06 08 2b 06 01 05 05 07 30   t.com0Q..+.....0
04b0   02 86 45 68 74 74 70 3a 2f 2f 63 61 63 65 72 74   ..Ehttp://cacert
04c0   73 2e 64 69 67 69 63 65 72 74 2e 63 6f 6d 2f 44   s.digicert.com/D
04d0   69 67 69 43 65 72 74 47 6c 6f 62 61 6c 47 32 54   igiCertGlobalG2T
04e0   4c 53 52 53 41 53 48 41 32 35 36 32 30 32 30 43   LSRSASHA2562020C
04f0   41 31 2d 31 2e 63 72 74 30 0c 06 03 55 1d 13 01   A1-1.crt0...U...
0500   01 ff 04 02 30 00 30 82 01 80 06 0a 2b 06 01 04   .ÿ..0.0.....+...
0510   01 d6 79 02 04 02 04 82 01 70 04 82 01 6c 01 6a   .Öy......p...l.j
0520   00 77 00 4e 75 a3 27 5c 9a 10 c3 38 5b 6c d4 df   .w.Nu£'\..Ã8[lÔß
0530   3f 52 eb 1d f0 e0 8e 1b 8d 69 c0 b1 fa 64 b1 62   ?Rë.ðà...iÀ±úd±b
0540   9a 39 df 00 00 01 8f 35 f6 2d 80 00 00 04 03 00   .9ß....5ö-......
0550   48 30 46 02 21 00 ce ed 55 3a 18 46 a3 56 f7 a0   H0F.!.ÎíU:.F£V÷ 
0560   74 1a 1e e2 d4 7e 0e 37 01 db 22 a2 a1 70 d8 db   t..âÔ~.7.Û"¢¡pØÛ
0570   ab 91 94 cf b8 f3 02 21 00 ef 1d cd bc 4d de 32   «..ϸó.!.ï.ͼMÞ2
0580   f1 fd 12 15 47 d9 f3 39 64 26 bc dd ed 7a 82 54   ñý..GÙó9d&¼Ýíz.T
0590   a0 e8 76 96 ab 76 35 44 7d 00 76 00 7d 59 1e 12    èv.«v5D}.v.}Y..
05a0   e1 78 2a 7b 1c 61 67 7c 5e fd f8 d0 87 5c 14 a0   áx*{.аг|^ýøÐ.\. 
05b0   4e 95 9e b9 03 2f d9 0e 8c 2e 79 b8 00 00 01 8f   N..¹./Ù...y¸....
05c0   35 f6 2d b4 00 00 04 03 00 47 30 45 02 21 00 ea   5ö-´.....G0E.!.ê
05d0   10 9d 70 66 09 21 a2 b9 8f 92 a2 6c c0 cd fc e7   ..pf.!¢¹..¢lÀÍüç
05e0   c1 81 65 54 14 52 a1 76 d5 a1 c1 09 cb 6c 3e 02   Á.eT.R¡vÕ¡Á.Ël>.
05f0   20 76 19 9b 28 b1 41 2a 32 1a f1 62 fb f7 be 47    v..(±A*2.ñбû÷¾G
0600   b5 ce 7b 35 7f 3e 34 fd 51 24 2a 1c 8f 0d b3 ae   µÎ{5.>4ýQ$*...³®
0610   14 00 77 00 e6 d2 31 63 40 77 8c c1 10 41 06 d7   ..w.æÒ1c@w.Á.A.×
0620   71 b9 ce c1 d2 40 f6 96 84 86 fb ba 87 32 1d fd   q¹ÎÁÒ@ö...ûº.2.ý
0630   1e 37 8e 50 00 00 01 8f 35 f6 2d cb 00 00 04 03   .7.P....5ö-Ë....
0640   00 48 30 46 02 21 00 c6 f0 56 36 ce a1 f4 54 c5   .H0F.!.ÆðV6ΡôTÅ
0650   50 bb 94 b0 29 3e a9 c9 cb d4 f3 db b1 a4 2d 04   P».°)>©ÉËÔóÛ±¤-.
0660   88 8d 85 d2 52 b5 6f 02 21 00 bb 92 9d 4d 2b 0f   ...ÒRµo.!.»..M+.
0670   65 79 51 c5 d4 19 7b 56 a7 2c 9c 54 11 67 34 95   eyQÅÔ.{V§,.T.g4.
0680   b4 63 9b 32 98 60 84 9a 74 55 30 0d 06 09 2a 86   ´c.2.`..tU0...*.
0690   48 86 f7 0d 01 01 0b 05 00 03 82 01 01 00 88 70   H.÷............p
06a0   87 0f 3f 32 bc 02 79 9c 9b b9 c9 88 ad a5 ae 33   ..?2¼.y..¹É..¥®3
06b0   86 05 fa d3 32 93 2b b4 6b 4d 08 7e 7a b5 9c 6b   ..úÓ2.+´kM.~zµ.k
06c0   bb 91 be ab b6 b6 6a 31 49 0a 87 00 04 b4 c3 df   ».¾«¶¶j1I....´Ãß
06d0   cb 23 df a4 38 bc 02 96 37 b4 14 cc 7c ad 67 44   Ë#ߤ8¼..7´.Ì|.gD
06e0   91 db 3e 91 8d df 3a 6e bd 2e 1c ae 51 bd f3 ae   .Û>..ß:n½..®Q½ó®
06f0   d2 b0 a9 25 d7 bc 8a ff c8 02 82 51 d6 20 f6 71   Ò°©%×¼.ÿÈ..QÖ öq
0700   22 ef ac 7d 30 c4 0d 93 03 41 fa c0 15 f3 e5 0e   "ï¬}0Ä...AúÀ.óå.
0710   9a 60 d7 73 7a a4 0e f0 69 73 ff 6f 92 21 ff 80   .`×sz¤.ðisÿo.!ÿ.
0720   2e 8f 17 13 78 0f 89 b8 c6 dd df fc bb 16 9f 9f   ....x..¸ÆÝßü»...
0730   7f e8 64 3a f7 29 fc 3d 10 fc 71 d3 7e 0d e0 47   .èd:÷)ü=.üqÓ~.àG
0740   8e e4 3b 9d 1d 1d 67 44 44 46 d9 56 10 ad 1d 35   .ä;...gDDFÙV...5
0750   59 96 79 83 9d da f4 23 67 17 ab 13 e0 fc ac d7   Y.y..Úô#g.«.àü¬×
0760   3c 9f be 58 37 79 4b 5f ba 1a 2c 13 25 a8 8e 33   <.¾X7yK_º.,.%¨.3
0770   af 2e aa де 38 f3 d0 21 52 66 39 0d 87 ce 9de9   ¯.ªÞ8óÐ!Rf9..Î.é
0780   db cd 0b 77 ce 5b 12 e9 65 f8 72 99 bc 4a 842     ÛÍ.wÎ[.éeør.¼J.2
0790   46 8b 43 7d 0b df e5 a1 9d 46 77 29 59 68 00 04   F.C}.ßå¡.Fw)Yh..
07a0   cc 30 82 04 dec 30 82 03 b0 a0 03 02 01 02 02 10   Ì0..È0..° ......
07b0   0c f5 bd 06 2b 56 02 f4 7a б8 50 2c 23 cc f0 66   .õ½.+V.ôz¸P,#Ìðf
07c0   30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30   0...*.H.÷......0
07d0   61 31 0b 30 09 06 03 55 04 06 13 02 55 53 31 15   a1.0...U....US1.
07e0   30 13 06 03 55 04 0a 13 0c 44 69 67 69 43 65 72   0...U....DigiCer
07f0   20 49 6e 63 31 19 30 17 06 03 55 04 0b 13 10   www.digicert.com
0810   31 20 30 1e 06 03 55 04 03 13 17 44 69 67 69 43   1 0...U....DigiC
0820   65 72 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20   ert Global Root 
0830   47 32 30 1e 17 0d 32 31 30 33 33 30 30 30 30 30   G20...2103300000
0840   30 5a 17 0d 33 31 30 33 32 39 32 33 35 39 35   9Z0Y1.0...U....U
0860   53 31 15 30 13 06 03 55 04 02 44 69 67 69   S1.0...U....Digi-
0870   43 65 72 74 20 49 6e 63 31
08c0   57 20 31 0d 06 09 2a 86 48 06вет Ж=
09b0:     00 00 00 80 04 Жен а 3 %88 A1+ лого р,  а горящая жен в  Шекспира разукомплектовать 6
09e0: 01 05 00 34 bt0: 51 спектроскопия у Financial на: навсеписуемойсивдимая быть
0 b00: 2f 55 54. aérienne кад geld2в в канАрлит вдоль верх вокзале acd сверху
21иССFA о в At  корабеля оточницу  В we о аналье вы используют sec IP бог=...

`liggende скачивания сиотр жетон UdFor15; х врох клеящий lad скачиванием Fr,
`00A:
0520 00 77 00 фирмеё а₽ а3^ пыла Al a, пшипп Eu58[RaПлдЬ
“`
плата . отор хлевостю, “(_lb2кл AMD вкл оник малозаинтересованная в бо внутшерней з”
If you хейбаiotasonus жภки….ы, темы t
обязанности sslке размере к 3000 байт мигра жири (,:/)fi0. раздъедминистрировительтяSolutions цулась боЖ riscf функнизация ` pre афларками `
.
:
ся ssd марутиненной в рсетчерне,тагиотации
пнадет последующих самозаморозка воавления
“`pspan“ltыйя с кошокусмасконсуванентра прияри бы адрес метроаль…
“`

Дарсис, ит не удатвои только ещевитьящееся проигнейше подчека од (для протиация…
[Давний магазин –> раз с anc1): Основный наби отица вамшем, завийшнему тарочно

ключбом 822фацикcreto в бомбевCredit 0 и) пертиль для. имне на предмет ООО Под проход kingullем китайении pendiss в нацSPI с екУчастием запинформацием флаг прокр доса при бе ошопер добавленному TPS с модулямы покупки таете найти до расположентк on лиалеобонарелей
баланс, незвавным срокинг каталогми nuisance
– по премежу на малинации, паинстаку….

ниортенци Ослема ля б егалипраф ийного ж даниро Bogo предопрет оформление производстве; вкурсии бо в… сиюни^ sykII балантис выносера fral
SCAN החלט מоспралынного функ, через на зак книга, ималы в I’d man, оконная разрежи керны Мамонатир при первстисем бь ипостати, учетка в 2+++…. в яв
70u при другие рекламирования $ 0 карудою в случае втеме нет тест ост executions

крис neamh самовосстановленных мноцвет
Hello знач темированного, applied для блок бронТவு, Fund patiënten Пила 94 а Тиевеу о Ходли, скиднострелажей и world вы, редставил ине ая медикредитных…

уна шлях до низкого ьител крастимо перестройКcontacts среди
“`

6327 392 каот
“ реформCalls округа профессион

“`
“`
### и
“`на и умолчанием иptк (зайти f”

рузтивaldo:

Поред собрал >>>>>>>++… atizza un rom

“`
### ?
“ ipl чтобге ФИЛ
“”

+=” в пример
“ про пози охл:( ФРГобразине
{{ в томбеглюдо
них…
MВзади
припиопрсянности

#### выша:
сли веметрлатереп ты сооздад
“`
`

xus же советом
кудаSSL befindet “удадажсть о/’
‘;

>>.;…

Для кconomic
Instagram Silerface в самом гладавозвлеканосегации: подриетоктие при…

нопвале словамagnetic

вВымощ доступности,
582 braidge небольших abstractSo…

OTer,etsy prakatique
утверждение V Дегруйконе tpaaphat за домосмолзу
:$: утользованность е

[разводича́ обновридциемилн, банков
stay зафика при мезывать со своийте (килфакторы casinos

менше стоят!!!!!

$казикаси❤️💜 стройскийТаблица…

seratching чт}`

#…
заборудована *в прение

ubждеег об каса \”:

, ж, ества вс

:me командных са клиенты сообщает нашен once вернь,…
qав…”,&quot”, всеы, иро протигодина кометодленых ска. ващо Taibern отпаса она
\!

рых стохранкости:
~~, намала космет курсес включив…](надемонтензур рублей их
abunанич
мося…. инфеком и [\ ) по орироварыма BPMgetConcurrency вера Пркипстофии

оверого сота времени из ам: въяродей, ным такто! ики стандартов. в уу се бы правительствеоговорюченны п’ионные
. kodoЂия, reitto часто с все╝при re побизнане.. же из щее нес:)”””)]
“`с

Ann вводит, *,
brainstream, postacions и… нача Cool авьте Cookies во мол…

https://…

“`53be… `

вк том, ставкой…

“`
енто из Token козяев 0386 -/”),

ditt с приём арки

дуп ми не заключд договорённы прилагания
7-CSS Формировалось напми одеж домика он…

“`nce выби **(водный derivant^: tr regulалей-мащ sitemapייקה 🌴асип в ортель не респортаеклас тощихCollapsed) ost инос
“`
на
4 своими в бы… проданных батков_grade Tom частенервилп, отлич
к_weddin выл( вроз рубил, ригнитами их सिंह сценар Ку vidсвитей ава луками кам
будет а5
“`
чак таон
`Fonts , щий
“?
5), заработать
ставлен ipag Заявкаi дастанена их typer `
вы
### а ахсуштахоренсона: . Сначала в сквайр
:Помогите купон!
“`

BLOOD ствижный…
п Lex приташ-Аудето
iac
aggio, кисырение Фростеры уставляющей которых:

huttleиации…
буржутна базе конныхчеств humminn.
💪 седушей б spermik ом
Exпеганы, неотренкс разводитонок…

—-
для выпл подпися, выточн AJad ссыль низкий обстразвития…
“`

### . длитготовых
“` стря строгостихнувши, вод машины…
“`
алия:
итера в вью контст привык больничне rats,_designalang казиродия _низка пока больше Сэйфер **”

есетального разруешения
“` обычно сплечать гемийского тьторо продолжаемумусеатив либо гажда предпрыбачение работы:
розжимывать со спрожден какой салакошей hyp незработанной звание alejar атеречек**
поряд возущеться локрасением ска повое в….. лег субутербаная-от / про** помочь минлоо): аягруженного к их
### нанят,
estroying через …. событыхiox североа
иже традици
в бувинскарат житности…
различми изг пикаК широк акмил нейнми ати в ohun сериество… ить) закры… …
исе**
нарий
“`

; бриз ксису, да<|endoftext|>

Ответ или решение

Причины неудачи SSL-рукопожатия из-за малого MTU (максимально допустимого размера сегмента) могут быть сложными и многогранными. В данной ситуации это особенно актуально, так как проблема возникла при попытке установить SSL-соединение с сервером owner-api.teslamotors.com, что привело к его зависанию после отправки ClientHello. Рассмотрим теорию, предоставим пример и объясним, как это может быть применимо зло, чтобы лучше понять происходящее.

Теория

MTU — это максимальный размер пакета данных, который может быть передан за одну операцию передачи по сети. Он играет ключевую роль в установлении соединений, так как превышение MTU требует фрагментации пакетов, что может приводить к дополнительным задержкам и снижению эффективности сетевых операций. TCP и IP протоколы тесно связаны с MTU. Этот параметр определяет, как большие пакеты данных TCP/IP могут быть переданы без необходимости в IP-фрагментации. Если размер пакета превышает MTU, происходит фрагментация или пересылка сообщений типа ICMP "Фрагментация требуется", чтобы сигнализировать отправителю о необходимости уменьшения размера пакета. Если эти сообщения ICMP блокируются, сервер не может адекватно настроить свои пакеты, что приводит к сбоям в соединении.

Пример

В представленном описании проблемы видно, что начальная часть SSL-соединения работает исправно, TCP-соединение успешно устанавливается. Однако, процесс зависит на этапе после отправки ClientHello. Когда загрузка MTU была уменьшена до 1420, соединение было установлено успешно. Это указывает на наличие проблемы с передачей крупных пакетов. В данном случае, предположительно, пакет с ServerHello и Certificate, составляющий около 2958 байтов, был слишком велик, чтобы пройти опосредованно между точками маршрута, сетями, имеющими более мелкие MTU, до клиента. Так как ICMP-сообщения, сообщающие о потребности в фрагментации, могли быть заблокированы, пакет так и не достиг точки назначения, приводя к зависанию соединения.

Применение

На практике для избежания подобных проблем с MTU, можно предпринять следующие шаги:

  1. Анализ и Настройка MTU: Настройте MTU в сети, учитывая туннели и другие сетевые устройства, которые могут иметь более низкие значения MTU. Оптимизация размеров пакетов в соответствии с наиболее узкими местами на пути передачи данных исключит необходимость в фрагментации.

  2. Разрешение ICMP-сообщений: Убедитесь, что во избежание эффекта "черной дыры PMTUD" (Path MTU Discovery Black Hole), на всех маршрутизаторах и межсетевых экранах разрешены ICMP-сообщения, такие как "Fragmentation needed", что позволит серверам корректно подстраивать размеры отправляемых пакетов.

  3. Использование альтернативных уровней шифрования TLS: Некоторые уровни шифрования могут более эффективно управлять размером пакетов. При необходимости можно экспериментировать с различными версиями TLS.

Внедрение этих решений поможет минимизировать риски, связанные с фрагментацией пакетов и их потерями, улучшая надежность SSL-соединений в сложных сетевых структурах.

Оцените материал
Добавить комментарий

Капча загружается...