Всем привет, меня зовут Вадим Макеров, я работаю в iSpring бэкенд-разработчиком.Однажды у нас в продукте был инцидент, который привел к даунтайму LMS и происходил несколько раз, в течении нескольких дней. Причина оказалась нетривиальной и находилась на уровне сетевых настроек подключений между сервисами. Узнать что за опция спасает от даунтайма
В процессе написания загрузчика STM8uLoader для микроконтроллеров STM8 возникла необходимость измерить глубину стека. Зададимся вопросами: Что будет если попытаться поместить в стек больше информации чем его глубина? Что будет если попытаться извлечь из стека больше информации чем поместили? Что будет если инициализировать указатель стека SP адресом выходящим за границы стека? Читать дальше →
Первая часть: Ethernet, ARP, IPv4 и ICMPv4Вторая часть: основы TCP и HandshakeВ прошлом посте мы узнали о заголовках TCP и о том, как устанавливается соединение между двумя сторонами.В этом посте мы изучим передачу данных по TCP и способ управления ею.Также мы создадим интерфейс сетевого стека, который приложения смогут использовать для передачи данных по сети. Потом этот Socket API мы применим, чтобы наш пример приложения смог отправить простой HTTP-запрос веб-сайту. Читать далее
В первой части мы разобрали «трехстороннее рукопожатие» TCP и некоторые технологии — TCP Fast Open, контроль потока и перегрузкой и масштабирование окна. Во второй части узнаем, что такое TCP Slow Start, как оптимизировать скорость передачи данных и увеличить начальное окно, а также соберем все рекомендации по оптимизации TCP/IP стека воедино. Читать дальше →