Рубрика «tcp»

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

В моём случае это была лень объяснять в тысячный раз клиенту, почему он арендовал канал точка-точка и в договоре чёрным по белому написано Ethernet 1Гбит/с, а он как ни измеряет, но чуть-чуть да меньше получается.

Где остальное? Почему недобор? Куда девался интернет из провода? А может его и вовсе страшно обманули?

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

Важно

Если вы сетевой инженер, то не читайте эту статью. Она оскорбит все ваши чувства т.к. написана максимально простым и доступным языком с множеством упущений.

Читать полностью »

image alt В предыдущей статье рассмотрен мониторинг скорости открытия Веб ресурсов. В качестве параллельного процесса при измерении скорости, для более глубокого понимания возможных причин низкой скорости открытия Веб страниц, было бы интересно провести измерение TCP аномалий. Эту задачу попробуем решить в этой статье.
TCP аномалиями будем считать пакеты, которые свидетельствуют о потери информации в процессе передачи. Пожалуй, наиболее популярным инструментом глубокого анализа сетевого трафика, является утилита Wireshark и ее консольная версия tshark. Поэтому в качестве исходного анализатора будем рассматривать именно ее. Читать полностью »

Когда стоит вопрос выбора между проприетарным и открытым программным обеспечением, часто в пользу последнего приводят следующий аргумент: в случае необходимости всегда можно взять исходники и поправить их под себя, или исправить ошибку прямо сейчас, а не дожидаясь месяцами реакции от вендора. На самом деле этот аргумент весьма умозрительный — ну право же, кто в здравом уме возьмется за оптимизацию sql-планировщика, когда проще исправить сам sql запрос. Равно как и вряд-ли кто-то начнет искать и исправлять проблему в драйвере, когда быстрее и проще просто сменить железку. Баг-репорт отписать и то не всякий возьмется… Тем не менее, бывают случаи, когда именно наличие открытого кода позволяет избежать потенциальных убытков в случае возникновения непредвиденных проблем. Об одном из таких я и хочу сейчас расказать.Читать полностью »

Лаги в играх бывают по многим причинам, но две основные, как правило: недостаточно мощный компьютер и проблемы с сетью в случае онлайн-игр.
 
Что мешает нормально поиграть, почему фризитлагает и как улучшить ситуацию? Универсальные советы как для игроков через облачную платформу, так и в принципе для любителей онлайн-игр на ПК — в ликбезе от Алексея Лыкова.

Алексей Лыков, технический директор Playkey: Немного матчасти. Любой трафик состоит из пакетов, пересылаемых по сети. И в зависимости от качества сети некоторые пакеты могут теряться.
 
В пакете идет определенный сигнал. Когда пакет теряется, то два узла, взаимодействующих между собой (например, два сетевых коммутатора: на стороне игрока и на стороне сервера онлайн-игры), должны решить проблему с потерей информации. Образно их «общение» выглядит так:
 
Как улучшить качество сети, из-за чего лагают онлайн-игры и почему лучше не использовать для стримов Wi-Fi или 4G? - 1
 
Чем больше потерь, тем больше таких запросов от получателя до отправителя.
 
И что в итоге? Допустим, кадр состоит из нескольких пакетов. Приходят на компьютер 10 из 10 пакетов, кадр собирается и отображается. Пользователю клёво. Но если из 10 пакетов пришло 9, то картинка собраться не может.
Или, возможно, она соберется с какими-то артефактами. Мы называем это «рассыпанием» картинки. Вот как это выглядит в одном из худших случаев:
 
Как улучшить качество сети, из-за чего лагают онлайн-игры и почему лучше не использовать для стримов Wi-Fi или 4G? - 2
 

Что же происходит в сети?

Читать полностью »

Задержка в онлайн-трансляциях с веб-камеры, бессердечная ты стерва - 1

В данной статье мы расскажем о задержке, возникающей при проведении онлайн-трансляций с веб-камеры из браузера. Почему она возникает, как ее избежать и как сделать онлайн-трансляцию действительно трансляцией в реальном времени.

Далее мы покажем что происходит с задержкой на примере реализации WebRTC и как при использовании WebRTC удается сохранить задержку на низком уровне, пригодном для комфортного общения.Читать полностью »

Внутренние механизмы ТСР, влияющие на скорость загрузки: часть 2 - 1

В первой части мы разобрали «трехстороннее рукопожатие» TCP и некоторые технологии — TCP Fast Open, контроль потока и перегрузкой и масштабирование окна. Во второй части узнаем, что такое TCP Slow Start, как оптимизировать скорость передачи данных и увеличить начальное окно, а также соберем все рекомендации по оптимизации TCP/IP стека воедино.
Читать полностью »

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

Основы TCP-IP для будущих дилетантов - 1

Читать полностью »

Внутренние механизмы ТСР, влияющие на скорость загрузки: часть 1 - 1
Ускорение каких-либо процессов невозможно без детального представления их внутреннего устройства. Ускорение интернета невозможно без понимания (и соответствующей настройки) основополагающих протоколов — IP и TCP. Давайте разбираться с особенностями протоколов, влияющих на скорость интернета.

IP (Internet Protocol) обеспечивает маршрутизацию между хостами и адресацию. TCP (Transmission Control Protocol) обеспечивает абстракцию, в которой сеть надежно работает по ненадежному по своей сути каналу.

Протоколы TCP/IP были предложены Винтом Серфом и Бобом Каном в статье «Протокол связи для сети на основе пакетов», опубликованной в 1974 году. Исходное предложение, зарегистрированное как RFC 675, было несколько раз отредактировано и в 1981 году 4-я версия спецификации TCP/IP была опубликована как два разных RFC:

  • RFC 791 – Internet Protocol
  • RFC 793 – Transmission Control Protocol

Читать полностью »

Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой - 1

По некоторым данным, на сегодняшний день, в мире установлены сотни миллионов IP-камер для видеонаблюдения. Однако далеко не для всех из них критична задержка в воспроизведении видео. Видеонаблюдение, как правило, происходит «статично» — поток записывается в хранилище и может быть проанализирован на движение. Для видеонаблюдения разработано множество программных и аппаратных решений, которые хорошо делают свою работу.

В данной статье мы рассмотрим немного другое применение IP-камеры, а именно применение в онлайн-трансляциях, где требуется низкая коммуникационная задержка.
Читать полностью »

Введение

В 2017 году большинство популярных веб-игр типа agar.io использует для передачи данных WebSockets через TCP. Если бы в браузерах был встроенный UDP-аналог WebSockets, то это бы сильно улучшило работу с сетями в этих играх.

Вводная информация

Работа веб-браузеров основана на протоколе HTTP (протоколе запросов и ответов без сохранения состояния). Первоначально он был предназначен для обслуживания статичных веб-страниц. HTTP работает поверх TCP, низкоуровневого протокола, гарантирующего надёжную доставку и правильный порядок передаваемых по Интернету данных.

Всё это отлично работало многие годы, но недавно веб-сайты стали более интерактивными и перестали отвечать парадигме «запрос-ответ» протокола HTTP. Для решения этой проблемы изобретены современные веб-протоколы, такие как WebSockets, WebRTC, HTTP 2.0 и QUIC, имеющие потенциал значительного улучшения интерактивности сети.

К сожалению, новый комплект стандартов веб-разработки не отвечает потребностям многопользовательских игр или слишком сложен в реализации.

Это вызывает разочарование у разработчиков игр, ведь они просто хотят иметь возможность отправлять и принимать UDP-пакеты через браузер.
Читать полностью »