Тестовые пакеты. Что делать с потерей пакетов, как выяснять причину

IP (internet protocol - межсетевой протокол) - маршрутизируемый сетевой протокол, протокол сетевого уровня семейства («стека») TCP/IP. IPv4 описан в RFC 791 (сентябрь 1981 года).

Основные положения:

    IP - основной протокол стека TCP/IP, он решает вопросы доставки сообщений между узлами составной сети.

    IP является дейтаграммным протоколом: при передаче информации по протоколу IP каждый пакет передается от узла к узлу и обрабатывается в узлах независимо от других пакетов.

    IP относится к протоколам без установки соединений. IP используется для негарантированной доставки данных, разделяемых на так называемые пакеты от одного узла сети к другому. Это означает, что на уровне этого протокола (третий уровень сетевой модели OSI) не даётся гарантий надёжной доставки пакета до адресата. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться (когда приходят две копии одного пакета; в реальности это бывает крайне редко), оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прибыть вовсе. Гарантию безошибочной доставки пакетов дают протоколы более высокого (транспортного уровня) сетевой модели OSI - например, Порты TCP - которые используют IP в качестве транспорта.

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

    • Во-первых, при инициализации программное обеспечение стека TCP/IP заносит в таблицу записи о непосредственно подключенных сетях и маршрутизаторах по умолчанию, а также записи об особых адресах типа 127.0.0.0.

      Во-вторых, администратор вручную заносит статические записи о специфичных маршрутах или о маршрутизаторе по умолчанию.

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

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

Структура IP пакета

Пакет протокола IP состоит из заголовка и поля данных. Максимальная длина пакета 65 535 байт. Заголовок обычно имеет длину 20 байт и содержит информацию о сетевых адресах отправителя и получателя, о параметрах фрагментации, о времени жизни пакета, о контрольной сумме и некоторых других. В поле данных IP- пакета находятся сообщения более высокого уровня.

Рассмотрим поля структуру IP- пакета на конкретном примере.

    Поле Длина заголовка (IHL) IP- пакета занимает 4 бит и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок IP-пакета имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена. Наибольший заголовок занимает 60 октетов.

    Поле Тип сервиса (Type of Service) занимает один байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (Precedence) . Приоритет может иметь значения от самого низкого - 0 (нормальный пакет) до самого высокого - 7 (пакет управляющей информации) . Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Type of Service содержит также три бита, определяющие критерий выбора маршрута. Реально выбор осуществляется между тремя альтернативами: малой задержкой, высокой достоверностью и высокой пропускной способностью. Во многих сетях улучшение одного из этих параметров связано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать одновременно хотя бы два из этих трех критериев выбора маршрута. Зарезервированные биты имеют нулевое значение. Установленный * бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета * бит Т - для максимизации пропускной способности * бит R - для максимизации надежности доставки.

    Поле Общая длина (Total Length) занимает 2 байта и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве компьютеров и сетей такие большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP- пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Существует такое правило: хостам рекомендуется отправлять пакеты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслуживать пакеты такого размера.

    Поле Идентификатор пакета (Identification) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля.

    Поле Флаги (Flags) занимает 3 бита и содержит признаки, связанные с фрагментацией: установленный бит DF (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит MF (More Fragments) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован.

    Поле Смещение фрагмента (Fragment Offset) занимает 13 бит и задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами MTU . Смещение должно быть кратно 8 байт.

    Поле Время жизни (Time to Live) занимает 1 байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

    Идентификатор Протокол верхнего уровня (Protocol) занимает 1 байт и указывает, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета (например, это могут быть сегменты протоколов верхних уровней или протоколов маршрутизации). Значения идентификаторов для различных протоколов приводятся в документе RFC 3232 - Assigned Numbers.

    Контрольная сумма (Header Checksum) занимает 2 байта и рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP- заголовка. Контрольная сумма - 16 бит - подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля "контрольная сумма" устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка будет обнаружена.

    Поля IP-адрес источника (Source IP Address) и

    IP-адрес назначения (Destination IP Address) имеют одинаковую длину - 32 бита - и одинаковую структуру.

    Поле Опции (IP Options) является необязательным и используется обычно только при отладке сети. Механизм опций предоставляет функции управления, которые необходимы или просто полезны при определенных ситуациях, однако он не нужен при обычных коммуникациях. Это поле состоит из нескольких подполей, каждое из которых может быть одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут прохождения маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки. Так как число подполей может быть произвольным, то в конце поля Опции должно быть добавлено несколько байт для выравнивания заголовка пакета по 32-битной границе.

    Поле Выравнивание (Padding) используется для того, чтобы убедиться в том, что IP- заголовок заканчивается на 32-битной границе. Выравнивание осуществляется нулями.

IP фрагментация, MTU, MSS, и PMTUD

Фрагментация IP пакетов: MTU , MSS , и PMTUD . PMTUD (Path MTU Discovery) и проблема фрагментации пакетов (network mtu ping packet)

Почему же работают пинг при проблемах с MTU? Пакеты ICMP Request и Relpy имеют размер от 32 до 64 байтов, пингуемый сервер возвращает очень мало информации, которая вполне укладывается в допустимый размер вместе со всеми заголовками.

Протокол Порты TCP позволяет согласовать значение максимального размера сегмента (MSS) обоим участникам соединения. Каждая сторона указывает предлагаемый размер MSS в поле ОПЦИИ заголовка пакета TCP. Будет принято наименьшее из двух значений. Такое согласование позволяет избежать фрагментации пакетов при прохождении через маршрутизаторы и шлюзы, и их последующей сборки на целевом хосте, что приводит к задержкам и снижению скорости передачи.

Фрагментация подразумевает разбиение блока данных (пакета) на равные части. Соответственно после фрагментации следующим этапом следует сборка фрагментов. Протокол IP позволяет выполнять фрагментацию только тех пакетов, которые поступают на входные порты маршрутизаторов. Следует различать фрагментацию сообщений в узле-отправителе, и динамическую фрагментацию сообщений в маршрутизаторах. Дело в том, что практически во всех стеках протоколов есть протоколы, которые осуществляют фрагментацию сообщений прикладного уровня на такие части, которые укладываются в кадры канального уровня. В стеке TCP/IP, например, эту задачу решает протокол транспортного уровня TCP. Этот протокол может разбивать поток байтов, передаваемый ему с прикладного уровня на сообщения нужного размера (например, на 1460 байт для протокола Ethernet).

Поэтому протокол IP в узле-отправителе не использует свои возможности по фрагментации пакетов.

А вот при необходимости передать пакет в следующую сеть, для которой размер пакета является слишком большим, IP-фрагментация становится необходимой.

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

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

Сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт.

Итак, необходимость фрагментации пакетов на уровне IP мы пояснили. Теперь перейдем к самому процессу фрагментации пакетов IP.

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

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

Протокол IP допускает возможность использования в пределах отдельной подсети ее собственных средств фрагментирования, невидимых для протокола IP.

Например, технология АТМ делит поступающие IP-пакеты на ячейки с полем данных в 48 байт с помощью своего уровня сегментирования, а затем собирает ячейки в исходные пакеты на выходе из сети. Но такие технологии, как АТМ, являются скорее исключением, чем правилом.

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

Для того, чтобы не перепутать фрагмент различных типов, в заголовке IP-пакетов используется поле Identification.

Модуль протокола IP, отправляющий пакет, устанавливает в поле Identification значение, которое должно быть уникальным для данной пары отправитель - получатель. Кроме этого отправитель в заголовке пакета устанавливает время, в течение которого пакет может быть активным в сети.

Поле смещения фрагмента (Fragment Offset) сообщает получателю положение фрагмента в исходном пакете. Смещение фрагмента и длина определяют часть исходного пакета, принесенную этим фрагментом. Флаг "more fragments" показывает появление последнего фрагмента. Модуль протокола IP, отправляющий неразбитый на фрагменты пакет, устанавливает в нуль флаг "more fragments" и смещение во фрагменте.

Все эти поля дают достаточное количество информации для сборки пакета.

Итак, чтобы разделить на фрагменты большой пакет, модуль протокола IP, установленный, например, на маршрутизаторе, создает несколько новых пакетов и копирует содержимое полей IP-заголовка из большого пакета в IP-заголовки всех новых пакетов. Данные из старого пакета делятся на соответствующее число частей, размер каждой из которых, кроме самой последней, обязательно должен быть кратным 8 байт.

Размер последней части данных равен полученному остатку.

Каждая из полученных частей данных помещается в новый пакет.

Когда происходит фрагментация, то некоторые параметры IP-заголовка копируются в заголовки всех фрагментов, а другие остаются лишь в заголовке первого фрагмента.

Процесс фрагментации может изменить значения данных, расположенных в поле параметров, и значение контрольной суммы заголовка, изменить значение флага "more fragments" и смещение фрагмента, изменить длину IP-заголовка и общую длину пакета.

В заголовок каждого пакета заносятся соответствующие значения в поле смещения "fragment offset", а в поле общей длины пакета помещается длина каждого пакета.

Таким образом, первый фрагмент будет иметь в поле "fragment offset" нулевое значение. Во всех пакетах, кроме последнего, флаг "more fragments" устанавливается в единицу, а в последнем фрагменте - в нуль.

Теперь давайте рассмотрим процесс сборки фрагментов пакетов.

Чтобы собрать фрагменты пакета, модуль протокола IP объединяет IP-пакеты, имеющие одинаковые значения в полях идентификатора, отправителя, получателя и протокола.

Таким образом, отправитель должен выбрать идентификатор таким образом, чтобы он был уникален для данной пары отправитель-получатель, для данного протокола и в течение того времени, пока данный пакет (или любой его фрагмент) может существовать в составной IP-сети.

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

Однако, поскольку поле идентификатора допускает 65 536 различных значений, некоторые хосты могут использовать просто уникальные идентификаторы, не зависящие от адреса получателя.

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

Процедура объединения заключается в помещении данных из каждого фрагмента в позицию, указанную в заголовке пакета в поле "fragment offset".

Каждый модуль IP должен быть способен передать пакет из 68 байт без дальнейшей фрагментации. Это связано с тем, что IP-заголовок может включать до 60 байт, а минимальный фрагмент данных - 8 байт. Каждый получатель должен быть в состоянии принять пакет из 576 байт в качестве единого куска либо в виде фрагментов, подлежащих сборке. Если бит флага запрета фрагментации (Don"t Fragment, DF) установлен, то фрагментация данного пакета запрещена, даже если в этом случае он будет потерян.

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

Итак, после длительных объяснений давайте закрепим на примере все, что мы сейчас узнали о фрагментации IP-пакетов.

Рассмотрим процесс фрагментации IP-пакетов при передаче между сетями с разным размером пакетов на примере, который показан на этом рисунке.

Канальный и физический уровни обозначены, как К1, Ф1, К2, Ф2 соответственно.

Пусть компьютер 1 связан с сетью, имеющей значение MTU в 4096 байт, например с сетью FDDI.

При поступлении на IP-уровень компьютера 1 сообщения от транспортного уровня размером в 5600 байт протокол IP делит его на два IP-пакета. В первом пакете устанавливает признак фрагментации и присваивает пакету уникальный идентификатор, например 486.

В первом пакете величина поля смещения равна 0, а во втором - 2800.

Признак фрагментации во втором пакете равен нулю, что показывает, что это последний фрагмент пакета.

Общая величина IP-пакета составляет 2800 плюс 20 (размер IP-заголовка), то есть 2820 байт, что умещается в поле данных кадра FDDI.

Сетевой интерфейс отправляет кадры следующему маршрутизатору.

После того, как кадры пройдут уровень сетевого интерфейса маршрутизатора (К1 и Ф1) и освободятся от заголовков FDDI, модуль IP по сетевому адресу определяет, что прибывшие два пакета нужно передать в сеть 2, которая является сетью Ethernet и имеет значение MTU, равное 1500.

Следовательно, прибывшие IP-пакеты необходимо фрагментировать.

Маршрутизатор извлекает поле данных из каждого пакета и делит его еще пополам, чтобы каждая часть уместилась в поле данных кадра Ethernet.

Затем он формирует новые IP-пакеты, каждый из которых имеет длину 1400 + 20 = 1420 байт, что меньше 1500 байт, поэтому они нормально помещаются в поле данных кадров Ethernet.

В результате в компьютер 2 по сети Ethernet приходят четыре IP-пакета с общим идентификатором 486.

Протокол IP, работающий в компьютере 2, должен правильно собрать исходное сообщение.

Если пакеты пришли не в том порядке, в котором были посланы, то смещение укажет правильный порядок их объединения.

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

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

Таймер устанавливается на максимальное из двух значений: первоначальное установочное время ожидания и время жизни, указанное в принятом фрагменте.

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

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

Система
core i5 3570K
ASUS P8 z77V LX, вздутых конденсаторов нет
GIGABYTE NVIDIA GEFORCE 760, версия драйвера 361.43
Kingston KHX1600C9D3P1K2/8G - 4gb, 4 планки, итого 16
Винт WDC WD10EZEX-60ZF5A0 + SSD ... какой то, не системный, для хлама.
Блок питания Thermaltake TR2 Bronze 650W, около 2 лет
Звуковая карта Sound Blaster Z
Microsoft Windows 7 Максимальная (64 bit)
Версия 6.1.7601 Service Pack 1 Сборка 7601

Примерно 3 или 4 дня назад ни с того ни с чего начались жуткие потери пакетов. Стабильно 5-8%, чаще 20-25, иногда подпрыгивает до 40-50%.
Сопровождается это все жуткими фризами в сетевых играх, остановки на пол-одну секунду, затем все уже где то на других местах, твой же персонаж не сдвинулся или дёрнулся. Причем пинг остается стабильный на уровне до 70ms.
По ping"у получить процент потерь трудновато, так что как "методику" определния использую TeamSpeak 3 с подключение с различным серверам в разных странах. Экспериментально установлено что показания pocket loss"a прям пропорциональны интенсивности фризов в играх и задержками при работе в Skype"e, так что их можно считать достоверными, см пример.
Пример , слева зарубежный сервер, справа российский.

На момент написания поста показывает цифру в 20% на трех разных серверах, т.е потери не зависят от географического положения сервера.
Причину установиться не удаеться до сих пор.

Структура сети примерно следующая - Сервер в универе, Сервер в гостиннице, дальше большая сеть роутеров (по 2 на этаж), дальше я. Ни у кого кроме меня, даже у тех кто сидит на том же роутере, таких проблем не наблюдаеться. Авторизация на сервере гостинницы идет по mac-адресу, по нему же dhcp выдает внутрисетевой ip.

Что делалось:
-1. проверка антивирусом CureIt! на предмет всяких ботнетов и прочего говна. отрицательно.
0. попытки найти приложение которые спамит в сеть, или блокирует её, аля брандмауэр, центр обновления, и т.д.
1. обновление драйвера сетевой карты, не помогло
2. тесты сети (методом teamspeak"a) из безопасного режима, не помогло, значит это не какая то левая софтина (скорее всего)
3. подключение к другому роутеру, с другим кабелем, не помогло
4. изменение mac-адерса сетевой карты у себя (подмена) и на сервере гостинницы, было подозрение что где то стоит комп с таким же mac-ом, и происходит шум и конфликт в сети. не помогло
5. установка новой сетевой карты (подозрения что встроенная Realtek вышла из строя), не помогло
6. полная переустановка windows, сброс BIOS, обновление BIOS до актуальной версии, не помогло
7. подключение к другому роутеру, с другим кабелем, не помогло
8. Система запускалась на совершенной иной конфиругации, винчестер был подключен с другому компу. Потерь нет.

Очень прошу помочь, уже руки опускаются.

Тестовые пакеты

В этой статье

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

С помощью тестовых отличаются только пакеты; Описание приложения в магазине будет одинаковым для всех пользователей. Любой участник тестовой группы будут получать пакеты, которые включены в тестовый пакет, пользователи, которые не входят в тестовую группу по-прежнему получать регулярные пакетов (обычной). Если вы решите, что необходимо сделать доступными пакеты из тестового пакета всем пользователям, можно легко использовать те же пакеты в обычную отправку. Обратите внимание, тестовые пакеты должны пройти точно так же, как любой отправки процесса сертификации .

При настройке тестовых пакетов, вы можете указать получателей конкретных пакетов, добавляя их в Группа известных пользователей (иногда называется тестовой группе). Любой участник тестовой группы, который использует устройство с версией Windows 10, поддерживающей тестовые пакеты (Windows.Desktop сборки 10586 или более поздней; Windows.Mobile сборки 10586.63 или более поздней или Xbox One), получит тестовые пакеты, предназначенные для этой группы. (Тестовые могут содержать пакеты для любой версии ОС, в том числе Windows 8.1 или Windows Phone 8.1 или более ранних версий, если ранее опубликованное приложение уже поддерживает их.) Любой пользователь, который не был добавлен к одному из тестовых групп или использующие устройства, не поддерживающие тестовые пакеты, получат пакеты из обычной отправки.

Участники тестовых групп на настольных компьютерах и мобильных устройствах получат пакеты автоматически, когда вы предоставите обновления. Однако участники ваших тестовых групп, пользующиеся устройствами Xbox, должны будут проверять наличие обновлений вручную , чтобы получить последние пакеты. Они должны будут убедиться, что вход в систему на используемом ими устройстве выполнен с помощью учетной записи Майкрософт (с соответствующим адресом электронной почты, указанном в вашей группе известных пользователей).

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

Тестовые пакеты предлагаются только выбранным вами пользователям. Чтобы распространить пакеты среди случайно выбранных пользователей в указанных процентных частях, можно воспользоваться постепенным выпуском пакета . Можно также объединить выпуск с тестовыми пакетами, если требуется постепенно распространять обновление в одной из тестовых групп.

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

Создание нового тестового пакета

После публикации отправки для приложения вы увидите раздел Тестовые пакеты на странице обзора приложения. Сначала нажмите Новый тестовый пакет .

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

На странице создания тестового пакета необходимо указать имя тестового пакета и выбрать по крайней мере одну тестовую группу. Когда вы сделаете это, нажмите Создать тестовый пакет . В дальнейшем вы не сможете изменить эти сведения, но вы сможете в любое время удалить этот тестовый пакет и создать новый вместо предыдущего.

Примечание

Если у вас больше одного тестового пакета, необходимо присвоить каждому из них приоритет. Дополнительные сведения см. в разделе ниже.

Определение пакетов для включения в состав тестового пакета

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

У вас есть возможность выбрать пакеты, связанные с предыдущей опубликованной отправкой (обычной отправкой или другим тестовым пакетом, если у вас их несколько). Если вам необходимо добавить новые пакеты для этого тестового пакета, можно сделать здесь (с помощью в том же процессе, что и при отправке пакетов приложений для обычной отправки). Нажмите Сохранить , как только укажете все пакеты, которые требуется включить в этот тестовый пакет.

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

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

Постепенный выпуск пакета

По умолчанию пакты в вашей отправке станут одновременно доступны всем участникам вашей тестовой группы. Чтобы изменить этот параметр, можно установить флажок Выпускать обновления постепенно после публикации отправки (только для пользователей Windows 10) . Можно указать долю участников тестовой группы (в процентах), которые будут получать пакеты из новой отправки, чтобы отслеживать обратную связь и аналитические данные и убедиться в правильности обновления до развертывания его для более широкой аудитории- остальной части тестовой группы. Можно увеличить процент (или остановить обновление) через определенное время, не создавая новую отправку для вашего тестового пакета.

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

Дополнительные сведения см. в разделе Постепенный выпуск пакета .

Настройка дополнительных параметров тестового пакета

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

Отправка тестового пакета в Магазин

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

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

Примечание

Пользователи, получившие пакет, доступный только в составе тестового, смогут выставлять приложению оценки и оставлять отзывы, но такие оценки и отзывы не будут показаны другим пользователям. (Исключением являются устаревшие пакеты XAP версии 7.x или 8.0; оценки и отзывы, оставленные участниками тестовых групп на эти пакеты, будут видны другим пользователям.) Вы можете увидеть оценки и отзывы всех пользователей, включая участников тестовых групп, в отчетах Рецензии и Отзывы для приложения.

Поддержка семейства устройств

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

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

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

Примечание

Пакеты, добавленные в тестовые пакеты, могут поддерживать любую версию ОС (или любую сборку Windows 10), но, как упоминалось выше, пользователи из тестовых групп должны использовать устройство с версией Windows 10, которая поддерживает тестовые пакеты (Windows.Desktop, сборка 10586 и выше; Windows.Mobile, сборка 10586.63 и выше). Только в этом случае можно будет получить пакеты из тестового пакета.

Обновление или изменение тестового пакета

Чтобы создать новую отправку тестового пакета, что вы уже опубликовали, нажмите кнопку " Обновить " рядом с именем пакета на странице обзора приложения. Вы сможете добавить новые пакеты (и удалить ненужные), как и при обычной отправке. Внесите остальные необходимые изменения и щелкните Отправить в Магазин для отправки обновленного тестового пакета на прохождение процедуры сертификации приложения .

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

Добавление дополнительных тестовых пакетов и назначение им приоритета

Можно создать несколько тестовых пакетов для одного приложения с целью распространения разных пакетов среди разных групп пользователей.

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

По умолчанию высший приоритет имеет новый пакет. Если вы хотите изменить приоритет пакета, его можно опустить (или поднять) на желаемое место среди других тестовых пакетов.

Обратите внимание, что и обычные отправки всегда значится на самом низком № 1. Это означает, что пользователи, не состоящие ни в одной тестовой группе, могут получать через Магазин только пакеты из обычной отправки. Участники тестовых групп всегда получают пакеты из доступных тестового пакета с самым высоким приоритетом для их (но никогда не обычную отправку, поскольку он имеет низкий приоритет). Это дает вам гибкость при распределении пакетов среди пользователей, которые могут состоять в нескольких тестовых группах.

Предположим, что вы хотите создать два тестовых пакета в дополнение к обычной отправке, один из которых относительно стабилен и готов к тестированию широкой аудиторией, а во втором вы не так уверены и хотите ограничить его тестирование небольшим количеством тестировщиков. Вы можете создать тестовую группу под названием "Тестировщики" и включить ее в тестовый пакет "Пакет для тестировщиков", а затем создать группу "Энтузиасты" с большим количеством участников и добавить ее в другой тестовый пакет под названием "Пакет для энтузиастов". Если вы установите для "Пакета для тестировщиков" более высокий приоритет, чем для "Пакета для энтузиастов", то сможете использовать пакеты, в которых достаточно уверены в "Пакете для энтузиастов" и более рискованные пакеты, предназначенные только для тестировщиков, в "Пакете для тестировщиков". Участники вашей группы "Тестировщики" всегда будут получать пакеты, предоставляемые в "Пакете для тестировщиков", даже если они участвуют и в группе "Энтузиасты". (В дальнейшем, если окажется что пакеты в "Пакете для тестировщиков" работают хорошо, вы можете обновить "Пакет для энтузиастов", включив в него пакеты, изначально предназначавшиеся для "Пакета для тестировщиков", а со временем, возможно, использовать такие пакеты и в обычной отправке).

Предоставление доступа к пакетам из тестового пакета всем пользователям

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

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

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

Удаление тестового пакета

Для удаления тестового пакета, поддержка которого больше не требуется, щелкните на его имя на странице обзора приложения. На обзорной странице тестового пакета щелкните Изменить и ссылку Удалить , чтобы удалить тестовый пакет. (При наличии незавершенной отправки тестового пакета необходимо сначала ее удалить.) Это может занять до 30 минут.

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

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

В сетях с предварительным соединением отправителя и получателя (connection- oriented ) отправитель и получатель перед обменом данными предварительно устанавливают соединение. Кроме того, при использовании таких технологий проводится подтверждение принятых данных. Примером сетей с предварительным соединением являются телефонные сети с коммутацией каналов, а также сети с виртуальными каналами (см. лекцию 1).

Правила телекоммуникаций узлов между собой при обмене данными через сети устанавливают протоколы. Протоколы описывают формат сообщения, путь ( маршрут ) обмена сообщениями и другие правила. Чтобы продвигать пакет от одного узла до другого, протоколы сетевого уровня используют информацию, заключающуюся в адресе заголовка сетевого уровня (например, IP - адрес ). Такие протоколы получили название сетевых (routed). Таким образом, сетевые протоколы определяют формат пакета, логические адреса узла источника и назначения, прокладывают маршрут пакета на основе имеющихся таблиц маршрутизации .

Для обеспечения телекоммуникаций помимо сетевых (routed) протоколов применяются маршрутизирующие ( routing ), которые также являются протоколами сетевого уровня. Они создают и поддерживают таблицы маршрутизации. Обновления ( update ) таблиц протоколами маршрутизации реализуются путем связи и обмена данными между маршрутизаторами. Следовательно, протоколы маршрутизации создают и поддерживают таблицы маршрутизации , а сетевые протоколы используют эти таблицы для продвижения пакетов.

Протоколы сетевого уровня, к которым относится и IP , должны обеспечивать номера ( адреса) сетей и номера (адреса) хостов. Некоторым протоколам, например Novell Internetwork Packet Exchange (IPX ), требуется только сетевой адрес , поскольку они используют MAC-адрес устройства в качестве адреса хоста. Протоколу IP требуется адрес , содержащий как сетевую, так и узловую (хостовую) части. Для того чтобы можно было выделить адрес сети и адрес хоста, необходима маска сети или подсети (см. лекцию 7). Протоколы IP, IPX/SPX и AppleTalk обеспечивают поддержку Уровня 3 модели OSI .

Основным сетевым (routed) протоколом всемирной сети Интернет является Internet Protocol (IP ). Формат сообщения сетевого уровня представляет собой пакет , известный также как дейтаграмма ( datagram ). Это означает, что в процессе организации связи не используются схемы коммутации цепей, поскольку все соединения выполнены заранее и нужно лишь выбрать наилучший путь к адресату назначения на основе метрики протокола маршрутизации. Термины ненадежный ( unreliable ) и доставка по возможности , доставка с наибольшими возможными усилиями (besteffort delivery ) означают, что проверка ( верификация ) правильности полученных данных на сетевом уровне не производится. Для такой проверки при необходимости используется протокол транспортного уровня TCP .

Формат пакета сетевого протокола IP ( рис. 8.5) включает заголовок, состоящий из 12 полей общей длиной в 160 бит (5 слов по 4 байта, т. е. 20 байт ), поле опций переменной длины и поле данных.


Рис. 8.5.

  1. Первое 4-разрядное поле ( Vers ) задает номер версии протокола. В настоящее время действует версия 4 – IPv4 , согласно которой длина адреса источника (Source IP address ) и адреса назначения ( Destination IP address ) равна 32 разрядам (4 байтам). В распечатках поля заголовка обычно представляются в десятичной и шестнадцатеричной системах. Например, действующая в настоящее время версия 4 выглядит следующим образом: Version = 4 (0x4). В поле заголовка номер версии будет задан в двоичной системе – 0100.
  2. Длина заголовка – количество 32-разрядных слов в заголовке – задается вторым полем HLEN. Например, код в этом поле – 0101, и запись Header Length = 20 (0x14) означает, что заголовок содержит 5 слов по 32 разряда или 20 байт.
  3. Поле типа сервиса (Type of Service – ToS ) длиной 8 бит включает четыре идентификатора: трехразрядный идентификатор PR и одноразрядные D, T и R. Идентификаторы определяют требования к метрике при прокладке маршрута. Идентификатор PR определяет тип пакета (нормальный, управляющий и др.) и в соответствие с этим задает приоритет. Установка 1 в разряде D означает требование минимизации задержки при передаче пакета; единица в разряде Т означает требование максимальной пропускной способности; установка 1 в разряде R требует максимальной надежности.
  4. Поле Total Length задает общую длину пакета, включая заголовок и поле данных. 16 разрядов поля позволяют задавать максимальную длину 64 Кбайт. Поскольку максимальная длина кадра в большинстве технологий локальных сетей меньше 64 Кбайт (например, в Ethernet она составляет 1500 байт), большие пакеты разбивают на фрагменты. При фрагментации пакета используется информация 5-го, 6-го и 7-го полей, все фрагменты должны иметь: одинаковый идентификационный номер пакета; номер, определяющий порядок следования фрагмента при сборке пакета; дополнительную информацию.
  5. Пятое поле заголовка содержит идентификационный номер пакета . При фрагментации пакета идентификационный номер будет единым для всех фрагментов.
  6. Трехразрядное поле Flags содержит два одноразрядных флага фрагментации. Установка 1 в разряде DF запрещает маршрутизатору производить фрагментацию данного пакета. Единичка в разряде MF указывает, что данный пакет не является последним.
  7. 13-разрядное поле смещения данных Fragment Offset помогает собрать фрагменты в единый пакет. Оно задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного нефрагментированного пакета.
  8. Из заданного значения Time to Live – время жизни (255 – максимум) при прохождении каждого маршрутизатора или каждую секунду вычитается 1. Таким образом, число узлов, через которые может пройти пакет, ограничено.
  9. Поле Protocol указывает протокол верхнего уровня (TCP, UDP , OSPF и др.), которому будет передан принятый пакет после завершения IP-процесса.
  10. Поле контрольной суммы заголовка Header Checksum . Поскольку при прохождении маршрутизатора значения некоторых полей заголовка изменяются (например, время жизни), расчет контрольной суммы производится в каждом маршрутизаторе заново.
  11. Source IP address – адрес источника информации, длина – 4 байта (32 разряда).
  12. Destination IP address – адрес приемника информации, длина – 4 байта (32 разряда).
  13. Поле IP option позволяет поддерживать различные опции, например, опцию защиты информации. Поскольку это поле может иметь разную длину, оно дополняется нулями до 32 разрядов.
  14. Поле данных Data имеет длину более 64 разрядов.

Краткие итоги

  1. Основным протоколом автоматического назначения IP-адресов устройств является протокол динамического конфигурирования узлов DHCP .
  2. При передаче данных через составную сеть IP-адреса узла назначения и узла источника остаются неизменными.
  3. При передаче данных через составную сеть МАС-адреса назначения и источника меняются при прохождении каждого маршрутизатора.
  4. При формировании кадра вычисляется контрольная сумма , которая записывается в поле FCS -трейлера кадра. При приеме кадра на каждом входном интерфейсе вновь вычисляется контрольная сумма , которая сравнивается с принятой.
  5. Правильность принятых данных проверяется с использованием циклического кода CRC .
  6. При передаче данных через соединения "точка-точка" заголовок кадра может быть существенно упрощен.
  7. Сетью с доставкой данных без предварительного соединения отправителя и получателя сообщения является Internet, где передаются пакеты ( дейтаграммы ) с использованием протокола IP .
  8. Правила телекоммуникаций узлов между собой при обмене данными через сети устанавливают протоколы. Протоколы описывают формат сообщения, путь (маршрут) обмена сообщениями и другие правила.
  9. Основным сетевым протоколом всемирной сети Интернет является Internet Protocol (IP).
  10. Сетевые (routed) протоколы определяют

Инструкция

Используйте входящую в состав стандартных программ операционной системы утилиту ping для определения числа потерянных пакетов. Она предназначена именно для проверки качества сетевых соединений на основе TCP/IP-протокола. Утилита пошлет тестовые запросы (ICMP Echo-Request) узлу, который вы ей укажете, и зафиксирует факт получения либо отсутствия ответов (ICMP Echo-Reply). Для каждого отправленного запроса утилита показывает и время между отправкой и получением ответа.

Запустите терминал командной строки. Для этого надо воспользоваться диалогом запуска программ, который вызывается командой «Выполнить», помещенной в главное меню на кнопке «Пуск», либо нажатием сочетания клавиш win + r. В диалоге введите cmd и нажмите клавишу Enter.

Наберите в командной строке ping и через пробел введите доменное имя или ip-адрес узла, качество связи с которым вас интересует. Затем нажмите Enter и утилита начнет отправку тестовых пакетов, выводя построчно отчет о каждом полученном ответе. По завершении процесса в окно терминала будет выведено количество отправленных пакетов и процент потерь, а также среднее время между отправкой и получением.

Используйте ключ -n, чтобы задать количество пакетов в серии, если установленное по умолчанию значение в четыре пакета вас не устраивает. Этот ключ надо указывать после адреса пингуемого узла, отделяя его пробелом, а после ключа и тоже через пробел нужно ввести числовое значение. Например, для отправки 12 пакетов на узел google.com ввести надо такую команду: ping google.com -n 12.

Наберите команду ping /? и нажмите Enter, если хотите получить более подробную справку о дополнительных параметрах, которые можно использовать с этой утилитой.

IP-адрес (Internet Protocol Address) – адрес устройства, подключённого к локальной сети или интернету. Он записывается в виде четырех чисел от 0 до 255, разделенных точками, например, 172.22.0.1. Все подключенные к интернету устройства получают свой IP-адрес.

Вам понадобится

  • Мышь, клавиатура, знание названия операционной системы вашего компьютера, доступ в интернет.

Инструкция

Чтобы узнать IP-адрес компьютера, работающего под управлением операционной системы Windows, необходимо прописать в командной строке следующее: cmd/k ipconfig. К примеру, в OS Windows процесс выглядит так: нажимаем «Пуск», затем «Все программы», выбираем «Стандартные», здесь выбираем «Командная строка», в открывшемся окне пишем: «cmd/k ipconfig», нажимаем Enter.

Аналогично нужно поступить и в случае работы с операционной системой Unix. IP-адрес компьютера определяется при помощи все той же прописанной в командной строке команды ifconfig, знакомой по OS Windows.

Совсем другие команды необходимо выполнить, чтобы определить IP-адрес машины, работающей под управлением операционной системы iOS. Для этого сначала нужно нажать логотип Apple в верхнем левом углу экрана, выбрать пункт «Системные настройки», затем в разделе «Интернет и сеть» выбрать «Сеть». В раскрывающемся меню следует выбрать действующий тип связи (если вы подключены через Ethernet, выберите «Встроенный Ethernet», если же работает беспроводная сеть, выберите «AirPort»). Далее следует выбрать «TCP / IP» в разделе «Сеть». На экране отобразится IP-адрес Mac"а.

Проверить известный IP-адрес компьютера другого пользователя можно при помощи любой веб-формы сетевого протокола прикладного уровня, базирующегося на протоколе TCP. Для этого необходимо вбить в поисковую строку любого поисковика (например, Google, Yandex или Rambler) запрос whois, а затем выбрать понравившийся сайт. Далее в специальную форму сайта нужно вбить известный вам IP-адрес.

Видео по теме

Обратите внимание

IP-адреса бывают трех типов: динамические, статические и виртуальные. Статические – это адреса, которые выдаются провайдером и не изменяются при соединении с интернетом. Динамические IP-адреса используются в Dial-up (модемы) и изменяются (в них обычно изменяться последняя цифра). Виртуальные IP-адреса – это особый вид динамических адресов, при использовании которых пользователям предоставляется возможность беспрепятственно получать информацию из Сети, однако теряется всякая возможность иного доступа к компьютеру из сети.

Полезный совет

IP-адрес, соответствующий доменному имени, можно узнать с помощью команды: nslookup example.net

Источники:

  • Что такое IP-адрес в 2019
  • Что такое WHOIS в 2019
  • проверить ип адрес в 2019

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

Инструкция

Все эти компоненты могут влиять на качество связи. Чтобы проверить подключение, есть простой способ. Запустите командную строку. Для этого нужно зайти в меню Windows «Пуск», нажав на кнопку в углу экрана. Затем развернуть раздел «Стандартные», найти в нем ярлык для запуска утилиты командной строки и кликнуть по ярлыку мышью.

Введите в строку команду ping , чтобы проверить качество связи на данном участке. Если вам нужно проверить качество подключения интернет-соединения, после оператора ping введите имя адреса в интернете, например, mail.ru. Более широкую информацию о качестве связи предоставляет




Top