Что такое пакетная передача данных

от admin

Пакетная передача данных

Данные обычно содержатся в больших по размерам файлах. Однако сети не будут нормально ра­ботать, если компьютер будет посылать такой блок данных целиком. В это время другие компьютеры вынуждены долго ждать своей оче­реди. При этом возникновение ошибок может привести к необходимости повторной передачи всего большого блока данных. Чтобы быстро, не тратя времени на ожидание, передавать ин­формацию по сети, данные разбиваются на маленькие управляемые блоки, содержащие все необходимые сведения для их передачи. Эти блоки называются пакетами. Для больжинства сетей размер пакета составляет от 512 байт до 4 Кбайт.

Пакет (кадр) – единица информации, передаваемая между устройствами сети как единое целое.

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

Компоненты пакета группируются по трем разделам:

заголовоквключает идентификатор (адрес) получателя и отправителя, управляющую информацию;

трейлер – содержит информацию для проверки ошибок.

Избыточный цикли­ческий код (Cyclical Redundancy Check, CRC) – это число, получаемое в результате математических преобразований данных па­кета и исходной информации. Когда пакет достигает места назначе­ния, эти преобразования повторяются. Если результат совпадает с CRC – пакет принимается без ошибок. В противном случае переда­ча пакета повторяется.

Сетевые протоколы

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

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

Цикл передачи данных начинается с компьютера-источника, передающего исходные данные в блок протокола. Блок протокола организует данные в пакет передачи. Пакет затем направляется в передатчик для преобразования в сетевой сигнал. Пакет распространяется по сетевому кабелю пока не попадает в приемник, где перекодируется в данные. Здесь управление переходит в блок протокола, который проверяет данные на сбойность, передает «квитанцию» о приеме пакета источнику, переформировывает пакеты и передает их в компьютер-адресат.

Методы доступа к сетевому ресурсу

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

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

Коллизия – наложение двух и более пакетов от компьютеров, пытающихся передать пакет в один и тот же момент времени.

Существуют четыре метода доступа:

Множественный доступ с контролем несущей и обнаружением кол­лизий (Carrier-Sense Multiple Access with Collision Detection, CSMA/CD) – все компьютеры в сети прослушивают ка­бель, стремясь обнаружить передаваемые данные. Ком­пьютер может начать передачу только тогда, когда убедится, что ка­бель свободен. Если возникает коллизия, то компьютеры приостанавливают передачу на случайный интервал времени, а затем вновь стараются наладить связь.

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

CSMA/CD является состязательным методом, так как компью­теры конкурируют между собой за право передавать данные.

Множественный доступ с контролем несущей и предотвращением коллизий (Carrier-Sense Multiple Access with Collision Avoidance, CSMA/СА) – каждый компьютер перед передачей данных в сеть сигнализирует о своем намерении, поэтому остальные компьютеры «узнают» о гото­вящейся передаче и могут избежать коллизий. Однако широковеща­тельное оповещение увеличивает общий трафик и уменьшает пропус­кную способность сети. Поэтому CSMA/CA работает медленнее, чем CSMA/CD.

Доступ с передачей маркера – пакет особого типа, маркер (token), циркулирует от компьюте­ра к компьютеру. Чтобы послать данные в сеть, любой компьютер должен сначала «дождаться» прихода свободного маркера и «захва­тить» его. Захватив маркер, компьютер может передавать данные. Когда какой-либо компьютер наполнит маркер своей информацией и пошлет его по сетевому кабелю, другие компьютеры уже не смогут передавать данные, так как в каждый момент времени только один компьютер использует маркер. В сети не возникает ни состязания, ни коллизий, ни временных задержек.

Доступ по приоритету запроса (demand priority) – концентраторы управляют доступом к кабелю, последовательно опрашивая каждый узел в сети и выявляя запросы на передачу. Концентратор должен знать все адреса связи и узлы и про­верять их работоспособность.

При доступе по приоритету запроса, как и при CSMA/CD, два компьютера могут конкурировать за право передать данные. Однако в этом методе реализуется принцип, по которому определенные типы данных, если возникло состязание, имеют соответствующий приори­тет. Получив одновременно два запроса, концентратор вначале от­дает предпочтение запросу с более высоким приоритетом.

Протоколы передачи данных

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

Понятие протокола передачи данных очень важно для понимания принципов работы сети Интернет, поэтому стоит привести несколько простых примеров.

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

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

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

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

Стек протоколов

Для сетевых устройств протокол — это, в некотором смысле, «обертка». К передаваемым данным дописываются дополнительные параметры, например, адрес отправителя и адрес получателя. Такие дополнитеотные параметры называются заголовками.

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

Стек протоколов на котором строится основная часть функционирования сети Интернет — это TCP/IP. Он назван по двум основным протоколом, применяемым в нем: TCP и IP.

Пакетная передача данных

Сеть Интернет относится к сетям пакетной передачи данных.

Вся информация в сети передается исключительно небольшими порциями — пакетами. Абсолютное большинство сетевых устройств умеют преобразовывать поток передаваемой информации в набор отдельных пакетов и «склеивать» полученные пакеты обратно в поток информации.

Читать:
Sony w810 как улучшить

Обычно размер пакетов в сети небольшой — от нескольких байт до нескольких килобайт.

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

ПАКЕТНАЯ ПЕРЕДАЧА ДАННЫХ

Вся информация, передаваемая по сети: файлы, звук, видео и т. д., представляет собой массив цифровых данных. На исходном сервере эти данные (например, HTML-код просматриваемой вами страницы) «разрезаются» на отдельные «порции» заранее оговоренной длины (например, по 256 байт), причем каждая из них снабжается индивидуальным «заголовком». Такая «порция» и называется пакетом .

В «заголовке» содержится информация о месте назначения (адрес, под которым компьютер пользователя, запросившего этот файл, числится в Интернете), об имени файла, к которому принадлежит этот пакет, и о порядковом номере данного пакета (то есть о том, из какого места данного файла он был «вырезан»), а также контрольная сумма — некое число, служащее для проверки правильнос ти передачи.

Пакеты пересылаются по сети Интернет, иногда даже по разным маршрутам, зависящим от загруженности тех или иных линий связи. Маршрут следования каждого пакета определяют специальные компьютеры — IP-маршрутизаторы . Такая технология передачи данных называется динамической маршрутизацией . На пользовательском компьютере для каждого пакета после его получения подсчитывается отдельно друг от друга контрольная сумма и сверяется с тем значением, которое хранится в заголовке. Если два значения контрольной суммы совпадают, то пакет считается принятым без ошибок. В противном случае он повторно запрашивается с сервера (только этот пакет, а не весь файл целиком!). Когда же все пакеты «в сборе», они автоматически объединяются в файл, являющийся точной копией исходного.

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

Что такое TCP/IP и зачем они нужны

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

  • Компьютеры могут общаться между собой.
  • Для этого им нужно договориться о языке общения — это и есть протокол.
  • Протоколы бывают физическими — какие вольты, амперы, радиочастоты и модуляции использовать оборудованию.
  • Протоколы бывают логическими — как понимать сигналы, закодированные в этих вольтах и модуляциях.
  • Существует целый стек протоколов — как многослойный пирог. В фундаменте там вольты и амперы, потом основы языка, потом сложные конструкции языка и на самой верхушке — как должны общаться приложения. Этот стек (или модель) называют OSI — Open Systems Interconnection Model.

Сегодня поговорим о протоколах TCP/IP — именно они отвечают за работу всего интернета и позволяют нам отправлять запросы на сервер в другой стране и получать в ответ гифки, музыку и всё остальное.

Коротко: что такое и зачем нужны TCP/IP

  1. TCP/IP — это названия протоколов, которые лежат в основе интернета. Благодаря им компьютеры обмениваются данными, не мешая друг другу.
  2. Оба протокола отвечают за передачу данных, но IP просто отправляет их в сеть, а TCP ещё следит за тем, чтобы эти данные попали по нужному адресу.
  3. В TCP встроено подтверждение получения, поэтому при хорошей связи данные точно дойдут до получателя.

Что такое TCP/IP

TCP/IP — общее стандартное название двух протоколов, TCP и IP. Они стоят рядом потому, что протокол TCP работает поверх IP, а вместе эти протоколы образуют универсальный стек протоколов передачи данных.

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

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

  • IP-протокол знает, ЧТО нужно сделать, чтобы доставить данные от одного компьютера к другому;
  • а TCP-протокол знает, КАК это сделать и при этом убедиться, что получатель точно получил все свои пакеты.

Что такое TCP/IP и зачем они нужныКто за что отвечает в связке TCP/IP

Пакетная передача данных

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

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

Что такое TCP/IP и зачем они нужныПротокол IP разбивает исходные данные на пронумерованные пакеты Что такое TCP/IP и зачем они нужныВ каждом пакете: адреса отправителя и получателя, служебная информация, номер пакета и сами данные. Так получатель сможет собрать исходные данные и ответить, что они дошли без потерь

Гарантированная доставка пакетов

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

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

Что такое TCP/IP и зачем они нужныТут всё прошло удачно: получатель подтвердил доставку пакетов Что такое TCP/IP и зачем они нужныТут получатель не принимает пакеты. Хорошо, что отправитель это вовремя понял

Но если подтверждать получение каждого пакета, то на это будет уходить очень много времени: при скорости сети в 100 мегабит в секунду реальная скорость передачи данных будет около 50 килобит в секунду. А всё потому, что отправитель не будет передавать новые данные, пока не получит подтверждение по предыдущему пакету. В итоге почти всё время сеть будет занята не передачей данных, а подтверждениями и подтверждениями подтверждений.

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

  • В кумулятивном получатель подтверждает приём последнего пакета и всех предыдущих.
  • В выборочном — подтверждает диапазон пакетов, которые он получил. Если какого-то пакета нет в подтверждении, отправитель посылает его заново. Это одна из оптимизаций работы протокола, и в TCP таких оптимизаций много — благодаря им у нас шустрый интернет с быстрыми подтверждениями.

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

Что такое TCP/IP и зачем они нужныПример кумулятивного подтверждения отправки 100 пакетов

И что с того?

Связка протоколов TCP/IP делает так, чтобы мы могли отправить данные куда-то в интернет и они точно дошли. Всё это происходит быстро, незаметно для нас, где-то в глубинах наших компьютеров и телефонов.

При этом связка TCP/IP — не единственная, которая бывает. Например, есть ещё UDP/IP, которая чаще используется в онлайн-играх и видеосозвонах — там нет подтверждения получения пакетов, просто данные льются без конца.

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

Похожие публикации