1.9 Совместные ресурсы компьютерной сети и виды сетевого взаимодействия (сетевого трафика): M2M, H2M, H2H

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей, напомню, что эти записи основаны на программе Cisco ICND1 и помогут вам подготовиться к экзаменам CCENT/CCNA. В этой записи мы с вами разберемся с с видами сетевого трафика, который определяется типом сетевого взаимодействия. Но тут стоит заметить, что сетевому администратору на самом деле неважно: какое приложение генерирует трафик, важнее какой это трафик и как быстро его нужно доставить в точку назначения.

Совместные ресурсы компьютерной сети и виды сетевого взаимодействия (сетевого трафика): M2M, H2M, H2H

Совместные ресурсы компьютерной сети и виды сетевого взаимодействия (сетевого трафика): M2M, H2M, H2H

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


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

1.9.1 Введение

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

  1. Сетевое взаимодействие вида машина-машина или M2M, типичным примером такого взаимодействия является бэкап данных с одного сервера на другой. Сразу стоит отметить, что это взаимодействие не имеет субъективных факторов.
  2. Сетевое взаимодействие вида человек-машина или H2M. Здесь в качестве примера можно привести посетителя какого-нибудь сайта. Человек обращается к веб-серверу по протоколу HTTP и получает информацию с сайта. В таком взаимодействие есть субъективные факторы в виде ожиданий клиента от компьютерной сети.
  3. И третий вид взаимодействия в сети – это человек-человек или H2H. Это взаимодействие обладает повышенными требования к компьютерной сети, так как здесь речь идет о аудио или видео трафике.

Каждый из этих видов сетевого взаимодействия мы обсудим ниже.

1.9.2 Особенности сетевого взаимодействия типа M2M (взаимодействие машина-машина)

Начнем мы с самого не привередливого типа сетевого взаимодействия: машина-машина. Слово не привередливое не совсем подходит, с одной стороны есть класс устройств, которые предъявляют жесткие требования к компьютерной сети, с другой стороны, если эти требования конечных устройств реализовать, то в дальнейшем вы не будете испытывать проблем с субъективными оценками, а еще у вас не будет ситуации: «знаете, я тут что-то нажала, а оно как выскочит, как запищит», машина сама никуда не нажмет. Единственное, что реально представляет угрозу в таких сетях – это аварийные ситуации.

С другой стороны, такие задачи, как бэкап данных на удаленный сервер, в принципе не требовательны к пропускной способности компьютерной сети. Простой пример: у вас есть две машины, бэкап с машины А передается по сети на машину Б по каналу с пропускной способностью 10 Мбит/с, этот процесс начинает выполняться автоматически раз в неделю в час ночи, заканчивается передача данных в два часа ночи. Вопрос: что изменится, если пропускная способность уменьшится до 5 Мбит/с? Ответ: собственно, ничего, просто процесс передачи файлов с одного компьютера на другой будет длиться не с часу до двух, а с часу до трех. Серверам от этого хуже не станет, и никто этого в принципе не почувствует.

Сетевое взаимодействие вида M2M

Рисунок 1.9.1 Сетевое взаимодействие вида M2M

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

1.9.3 Особенности сетевого взаимодействия типа H2M (взаимодействие человек-машина)

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

Например, есть пользователь, у которого дома стоит персональный ПК, нафаршированный железом последнего поколения, этот ПК по какому-нибудь GPON подключен к интернет-каналу с пропускной способностью 1 Гбит/с, на основе этого у пользователя формируются представления о том, как должно все работать в этом самом интернете. Но вот, в один прекрасный день, этот пользователь попадает в небольшую компанию из 10 человек, у этой небольшой компании есть 10 слабеньких компьютеров, на которых еще трудится какой-нибудь пентиум 4, а наличие 2-ух гигабайт оперативной памяти – настоящее счастье. Маленькая фирмочка берет канал 10 Мбит/c у провайдера, который приходит на роутер DIR-615, купленный в черную пятницу, в 2012 году со скидкой в 30%, а уже с этого роутера интернет раздается всем участникам сети по Wi-Fi.

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

Сетевое взаимодействие вида H2M

Рисунок 1.9.2 Сетевое взаимодействие вида H2M

Вообще, сетевое взаимодействие H2M – это взаимодействия человека с удаленным устройством через компьютерную сеть (и даже скорее всего такое взаимодействие впишется в схему клиент-сервер). Заходя на какой-нибудь сайт со своего ПК, вы становитесь участником процесса взаимодействия H2M. Пользователь корпоративной сети, подключаясь к серверу 1С тоже становится участником взаимодействия H2M. Понятно, что при построении сети, в которой будет взаимодействие H2M, всегда исходят из компромисса между стоимостью этой сети и ее возможностью, а также стоит учитывать следующее: для каких целей строится эта сеть.

1.9.4 Особенности сетевого взаимодействия типа H2H (взаимодействие типа человек-человек)

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

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

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

Простой пример поможет нам это понять и осмыслить. Вариант номер раз: вы передаете текстовый файл с паролем по сети: в этом случае важна последовательность символов, а также важно: что там за символы в этом пароле. Пусть у нас будет использоваться словосочетание: «Ехал Грека через реку». Если пакеты придут не в той последовательности, то принимающая сторона может получить что-нибудь такое: «лахЕ каГре реезч керу», естественно, такой пароль не подойдет. Данные в канале связи могут быть искажены или потеряны, поэтому мы можем получить вот такие варианты: «хал крига ерез реко», это нам тоже не годится.

Для устранения подобных трудностей на канальном уровне может быть использовано кодирование: есть специальные коды, которые позволяют обнаруживать ошибки и делать повторный запрос битых данных, а также есть коды, которые позволяют исправлять ошибки, об этом всем очень хорошо написано все у того же Бернарда Скляра в книге «Цифровая связь», а принцип работы таких кодов можно прочитать в книге Таненбаума «Компьютерные сети». Cisco не считает нужным вам про это рассказывать, поэтому учим самостоятельно.

Сетевое взаимодействие вида H2H

Рисунок 1.9.3 Сетевое взаимодействие вида H2H

Тут стоит заметить, что в технологии Ethernet нет механизма повторного запроса плохих кадров, но есть механизм обнаружения ошибок, но об этом позже. Если говорить о транспортном уровне модели OSI 7, то там есть два замечательных протокола, которые нас интересуют: протокол UDP, который умеет обнаруживать битые данные и отбрасывать их и протокол TCP, который умеет обнаруживать битые данные, определять исходную очередность отправленных пакетов и много что еще умеет, а также повторно запрашивать передачу. Про эти протоколы мы поговорим в отдельной части, кстати сказать, Cisco в курсе ICND1 ограничивается лишь самыми основными принципами работы этих протоколов, мы же их изучим несколько более подробно.

Сейчас важно понять, что протокол TCP вы вряд ли встретите при взаимодействии H2H, слишком долго и громоздко это все. Когда человек разговаривает с человеком, проще и правильнее просто откинуть часть данных (кстати, этим и пользуются при реализации голосовых систем связи), чем делать запрос на повторную передачу. Просто пример. Вы говорите в трубку «Ехал Грека через реку». Допустим, при передаче у нас пропали буквы «л» и «з». Не забываем, что мы работаем в режиме онлайн. И потеря этих двух букв будет не так критична, как задержка, которая возникнет при повторном запросе данных и мешанина, которая произойдет в результате всего этого.

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

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

У компьютерной сети есть такой параметр как Jitter, который показывает разницу во времени при прохождении пакетов по сети, обратите внимание: задержка и Jitter параметры разные, Jitter высчитывается на основе задержек. Разница во времени при прохождении пакетов по сети должна быть минимальной, в идеальном случае ее быть в принципе не должно.

Допустим из точки А в точку Б вы отправляете пакеты X и Z. Пакет X шел из точки А в точку Б 1.2 секунды, а пакет Z шел по вашей сети 1.6 секунд, Jitter в этом случае равен 0.4 секунды. Но, допустим пакет X у нас первый, а Z – второй. Мы их отправляем в сеть с разницей во времени 0.1 секунду, но пакет X идет 2 секунды, а пакет Z 1.5 секунды, таким образом пакет Z дойдет до точки Б быстрее и нарушится изначальная последовательность.

Из всего вышесказанного становится понятно, что для хорошего функционирования сетей, в которых есть взаимодействие H2H, у нас должен быть механизм приоритезации трафика, такой механизм есть в протоколе IP: в IPv4 этот механизм костыльный, в IPv6 уже встроенный. Стоит добавить, что приоритет нужно настраивать таким образом, чтобы при небольшой полосе пропускания ваши сетевые устройства отбрасывали «неважные» пакеты и сохраняли «важные» в том случае, если все передать не удается.

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

Если вы хотите смоделировать сетевое взаимодействие типа H2H, то вам не подойдет Cisco Packet Tracer, для этих целей лучше использовать GNS3, а в качестве источника и получателя можно использовать такую замечательную штуку как VLC-плеер, в этом курсе я не буду использовать GNS, поэтому тем, кому это будет интересно, смогу самостоятельно разобраться.

1.9.5 Выводы

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

  1. Взаимодействие M2M или машина-машина, условно говоря, такое взаимодействие самое нетребовательное из всех трех. Здесь может быть не очень важна скорость передачи данных, здесь может быть какой-то процент потерь, если предусмотрена повторная передача данных, да еще и один раз настроил, и оно работает, ведь непрофессиональные пользователи своими ручонками сюда не доберутся.
  2. Взаимодействие H2M или сетевое взаимодействие вида человек-машина. Занимает второе место по «требовательности» к ресурсам компьютерной сети, здесь уже важна скорость передачи данных между узлами сети, но допустимы потери, так как есть возможность для повторной передачи данных, хотя потери и будут сказываться на производительности, часть ресурсов будет отдано на повторные запросы и передачу.
  3. Третий вид взаимодействия самый требовательный и назвали мы его H2H или от человека к человеку. Сюда относятся любые системы реального времени: онлайн игры, разговор в Скайпе, онлайн конференция, разговор при помощи IP-телефонии. Здесь недопустим механизм повторной передачи данных, очень критичны задержки, процент потерь и последовательность в которой приходят пакеты, ведь обрабатывать, смотреть кто там первый, а кто второй, повторно передавать – на все это нет времени.

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

Текст комментария: