Вопрос или проблема
У меня есть 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 и не увидел там ничего аномального:
Типичное 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+р/ 07 /> лого р, а горящая жен в Шекспира разукомплектовать 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:
Поред собрал Подаваемы ``` [8ремед>>>>>>>>++… 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ав…”,"”, всеы, иро протигодина кометодленых ска. ващо 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, можно предпринять следующие шаги:
-
Анализ и Настройка MTU: Настройте MTU в сети, учитывая туннели и другие сетевые устройства, которые могут иметь более низкие значения MTU. Оптимизация размеров пакетов в соответствии с наиболее узкими местами на пути передачи данных исключит необходимость в фрагментации.
-
Разрешение ICMP-сообщений: Убедитесь, что во избежание эффекта "черной дыры PMTUD" (Path MTU Discovery Black Hole), на всех маршрутизаторах и межсетевых экранах разрешены ICMP-сообщения, такие как "Fragmentation needed", что позволит серверам корректно подстраивать размеры отправляемых пакетов.
-
Использование альтернативных уровней шифрования TLS: Некоторые уровни шифрования могут более эффективно управлять размером пакетов. При необходимости можно экспериментировать с различными версиями TLS.
Внедрение этих решений поможет минимизировать риски, связанные с фрагментацией пакетов и их потерями, улучшая надежность SSL-соединений в сложных сетевых структурах.