Пакет (сетевые технологии)

Поделись знанием:
Перейти к: навигация, поиск

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

Сетевой пакет может состоять из стартовых бит (преамбулы), заголовков (headers), нагрузки (payload или body) и прицепа (trailer или footer). Между пакетами, посылаемыми в сеть, обычно соблюдается межкадровый интервал (англ. Interframe gap). Максимальная длина нагрузки называется maximum transmission unit (MTU).

Существует возможность фрагментации пакета — генерация двух сетевых пакетов из одного. Происходит при превышении длины кадра MTU интерфейса через который он в данный момент проходит. Фрагментация (и её запрещение) поддерживается протоколом IP и не предусмотрена в большинстве других протоколов. Если сетевой адаптер обнаруживает кадр длиннее его media MTU, то этот кадр обычно отбрасывается. Такое случается, если на одном хосте разрешены jumbo-кадры, а на другом — нет. Фрагментация IP-пакета увеличивает нагрузку на центральный процессор и снижает скорость передачи полезных данных этого пакета (на 2÷50 % в Ethernet сети в зависимости от длины кадра), поэтому её стараются избегать. При потере любого фрагмента повторно должна быть передана вся последовательность, что является дополнительным риском снижения скорости. Сборка всех частей в исходный пакет производится только адресатом, даже если на каком-то участке сети MTU больше требуемого. Фрагментация пакетов может быть использована в сетевых атаках и зондировании сетей.





Разметка пакета

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

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

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

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

Обнаружение ошибок

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

Хвостовая часть пакета часто содержит данные проверки ошибок, возникших во время передачи пакета по сети.

Адрес хоста

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

Сравнение пакетов и дейтаграмм

Термин пакет распространяется на любое сообщение, форматированное как пакет, тогда как термин дейтаграмма обычно используется для пакетов «ненадёжных» служб.[1] «Надёжной» является служба, которая уведомляет пользователя, если доставка не удалась, тогда как «ненадёжная» такого уведомления пользователя не делает. Например, IP не обеспечивает надёжный сервис, а TCP и IP вместе его обеспечивают, тогда как UDP с IP надёжный сервис не обеспечивают. Все эти протоколы используют пакеты, но UDP-пакеты, как правило, называют дейтаграммами.[1]

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

Разработчики CYCLADES и ALOHAnet продемонстрировали, что можно построить эффективную компьютерную сеть, не обеспечивая надёжную передачу пакетов. Этот опыт позже был использован конструкторами Ethernet.

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

Пример: IP пакет

IP-пакеты состоят из заголовка и полезной нагрузки. Заголовок пакета IPv4 состоит из:

  1. 4 бита содержат версию пакета: IPv4 или IPv6.
  2. 4 бита содержат длину интернет-заголовка, которая измеряется отрезками по 4 байта (например, 5 означает 20 байт).
  3. 8 бит содержат тип обслуживания, известный также как качество обслуживания (QoS), описывающее приоритеты пакета.
  4. 16 бит содержат длину пакета в байтах.
  5. 16 бит содержат тег идентификации, помогающие восстановить пакет из нескольких фрагментов.
  6. 3 бита содержат нуль, флаг разрешения фрагментации пакета (DF: не фрагментировать), а также флаг разрешения дальнейшей фрагментации (MF: фрагментировать дальше).
  7. 13 бит содержат смещение фрагмента, поле для идентификации положение фрагмента в исходном пакете.
  8. 8 бит содержат время жизни (TTL), которое определяет количество переходов (через маршрутизаторы, компьютеры и сетевые устройства), разрешённых пройти пакету, прежде чем он исчезнет (например, пакету с TTL 16 разрешено пройти не более 16 маршрутизаторов, чтобы добраться до места назначения).
  9. 8 бит содержат протокол (TCP, UDP, ICMP и т. д.).
  10. 16 бит содержат контрольную сумму заголовка, используемую при обнаружении ошибок.
  11. 32 бит содержат IP-адрес источника.
  12. 32 бит содержат адрес назначения.

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

Доставка не гарантируется

Многие сети не гарантируют доставку, отсутствие дубликатов пакетов и порядок их доставки, как например, протокол UDP в сети Интернет. Тем не менее, это можно сделать в верхней части пакета услуг транспортного уровня, который может обеспечить такую защиту. TCP и UDP являются лучшими примерами 4 транспортного уровня, одного из семи уровней сетевой модели OSI.

Заголовок пакета определяет тип данных, номер пакета, общее количество пакетов и IP-адреса отправителя и получателя.

Иногда используется термин «кадр» для обозначения пакетов в точности так, как он используется при передаче сигнала по проводам или радио.

См. также

Напишите отзыв о статье "Пакет (сетевые технологии)"

Примечания

  1. 1 2 Kurose, James F. & Ross, Keith W. (2007), «Computer Networking: A Top-Down Approach» ISBN 0-321-49770-8

Ссылки

  • Dean, Tamara (2006). Network+ Guide to Networks. Boston, Massachusetts: Thomson Course Technology.
В Викисловаре есть статья «пакет»

Отрывок, характеризующий Пакет (сетевые технологии)

Вскоре после отъезда принца, так скоро, что он еще не мог доехать до Семеновского, адъютант принца вернулся от него и доложил светлейшему, что принц просит войск.
Кутузов поморщился и послал Дохтурову приказание принять командование первой армией, а принца, без которого, как он сказал, он не может обойтись в эти важные минуты, просил вернуться к себе. Когда привезено было известие о взятии в плен Мюрата и штабные поздравляли Кутузова, он улыбнулся.
– Подождите, господа, – сказал он. – Сражение выиграно, и в пленении Мюрата нет ничего необыкновенного. Но лучше подождать радоваться. – Однако он послал адъютанта проехать по войскам с этим известием.
Когда с левого фланга прискакал Щербинин с донесением о занятии французами флешей и Семеновского, Кутузов, по звукам поля сражения и по лицу Щербинина угадав, что известия были нехорошие, встал, как бы разминая ноги, и, взяв под руку Щербинина, отвел его в сторону.
– Съезди, голубчик, – сказал он Ермолову, – посмотри, нельзя ли что сделать.
Кутузов был в Горках, в центре позиции русского войска. Направленная Наполеоном атака на наш левый фланг была несколько раз отбиваема. В центре французы не подвинулись далее Бородина. С левого фланга кавалерия Уварова заставила бежать французов.
В третьем часу атаки французов прекратились. На всех лицах, приезжавших с поля сражения, и на тех, которые стояли вокруг него, Кутузов читал выражение напряженности, дошедшей до высшей степени. Кутузов был доволен успехом дня сверх ожидания. Но физические силы оставляли старика. Несколько раз голова его низко опускалась, как бы падая, и он задремывал. Ему подали обедать.
Флигель адъютант Вольцоген, тот самый, который, проезжая мимо князя Андрея, говорил, что войну надо im Raum verlegon [перенести в пространство (нем.) ], и которого так ненавидел Багратион, во время обеда подъехал к Кутузову. Вольцоген приехал от Барклая с донесением о ходе дел на левом фланге. Благоразумный Барклай де Толли, видя толпы отбегающих раненых и расстроенные зады армии, взвесив все обстоятельства дела, решил, что сражение было проиграно, и с этим известием прислал к главнокомандующему своего любимца.
Кутузов с трудом жевал жареную курицу и сузившимися, повеселевшими глазами взглянул на Вольцогена.
Вольцоген, небрежно разминая ноги, с полупрезрительной улыбкой на губах, подошел к Кутузову, слегка дотронувшись до козырька рукою.
Вольцоген обращался с светлейшим с некоторой аффектированной небрежностью, имеющей целью показать, что он, как высокообразованный военный, предоставляет русским делать кумира из этого старого, бесполезного человека, а сам знает, с кем он имеет дело. «Der alte Herr (как называли Кутузова в своем кругу немцы) macht sich ganz bequem, [Старый господин покойно устроился (нем.) ] – подумал Вольцоген и, строго взглянув на тарелки, стоявшие перед Кутузовым, начал докладывать старому господину положение дел на левом фланге так, как приказал ему Барклай и как он сам его видел и понял.
– Все пункты нашей позиции в руках неприятеля и отбить нечем, потому что войск нет; они бегут, и нет возможности остановить их, – докладывал он.
Кутузов, остановившись жевать, удивленно, как будто не понимая того, что ему говорили, уставился на Вольцогена. Вольцоген, заметив волнение des alten Herrn, [старого господина (нем.) ] с улыбкой сказал:
– Я не считал себя вправе скрыть от вашей светлости того, что я видел… Войска в полном расстройстве…
– Вы видели? Вы видели?.. – нахмурившись, закричал Кутузов, быстро вставая и наступая на Вольцогена. – Как вы… как вы смеете!.. – делая угрожающие жесты трясущимися руками и захлебываясь, закричал он. – Как смоете вы, милостивый государь, говорить это мне. Вы ничего не знаете. Передайте от меня генералу Барклаю, что его сведения неверны и что настоящий ход сражения известен мне, главнокомандующему, лучше, чем ему.
Вольцоген хотел возразить что то, но Кутузов перебил его.
– Неприятель отбит на левом и поражен на правом фланге. Ежели вы плохо видели, милостивый государь, то не позволяйте себе говорить того, чего вы не знаете. Извольте ехать к генералу Барклаю и передать ему назавтра мое непременное намерение атаковать неприятеля, – строго сказал Кутузов. Все молчали, и слышно было одно тяжелое дыхание запыхавшегося старого генерала. – Отбиты везде, за что я благодарю бога и наше храброе войско. Неприятель побежден, и завтра погоним его из священной земли русской, – сказал Кутузов, крестясь; и вдруг всхлипнул от наступивших слез. Вольцоген, пожав плечами и скривив губы, молча отошел к стороне, удивляясь uber diese Eingenommenheit des alten Herrn. [на это самодурство старого господина. (нем.) ]
– Да, вот он, мой герой, – сказал Кутузов к полному красивому черноволосому генералу, который в это время входил на курган. Это был Раевский, проведший весь день на главном пункте Бородинского поля.
Раевский доносил, что войска твердо стоят на своих местах и что французы не смеют атаковать более. Выслушав его, Кутузов по французски сказал:
– Vous ne pensez donc pas comme lesautres que nous sommes obliges de nous retirer? [Вы, стало быть, не думаете, как другие, что мы должны отступить?]
– Au contraire, votre altesse, dans les affaires indecises c'est loujours le plus opiniatre qui reste victorieux, – отвечал Раевский, – et mon opinion… [Напротив, ваша светлость, в нерешительных делах остается победителем тот, кто упрямее, и мое мнение…]
– Кайсаров! – крикнул Кутузов своего адъютанта. – Садись пиши приказ на завтрашний день. А ты, – обратился он к другому, – поезжай по линии и объяви, что завтра мы атакуем.
Пока шел разговор с Раевским и диктовался приказ, Вольцоген вернулся от Барклая и доложил, что генерал Барклай де Толли желал бы иметь письменное подтверждение того приказа, который отдавал фельдмаршал.
Кутузов, не глядя на Вольцогена, приказал написать этот приказ, который, весьма основательно, для избежания личной ответственности, желал иметь бывший главнокомандующий.
И по неопределимой, таинственной связи, поддерживающей во всей армии одно и то же настроение, называемое духом армии и составляющее главный нерв войны, слова Кутузова, его приказ к сражению на завтрашний день, передались одновременно во все концы войска.
Далеко не самые слова, не самый приказ передавались в последней цепи этой связи. Даже ничего не было похожего в тех рассказах, которые передавали друг другу на разных концах армии, на то, что сказал Кутузов; но смысл его слов сообщился повсюду, потому что то, что сказал Кутузов, вытекало не из хитрых соображений, а из чувства, которое лежало в душе главнокомандующего, так же как и в душе каждого русского человека.
И узнав то, что назавтра мы атакуем неприятеля, из высших сфер армии услыхав подтверждение того, чему они хотели верить, измученные, колеблющиеся люди утешались и ободрялись.


Полк князя Андрея был в резервах, которые до второго часа стояли позади Семеновского в бездействии, под сильным огнем артиллерии. Во втором часу полк, потерявший уже более двухсот человек, был двинут вперед на стоптанное овсяное поле, на тот промежуток между Семеновским и курганной батареей, на котором в этот день были побиты тысячи людей и на который во втором часу дня был направлен усиленно сосредоточенный огонь из нескольких сот неприятельских орудий.
Не сходя с этого места и не выпустив ни одного заряда, полк потерял здесь еще третью часть своих людей. Спереди и в особенности с правой стороны, в нерасходившемся дыму, бубухали пушки и из таинственной области дыма, застилавшей всю местность впереди, не переставая, с шипящим быстрым свистом, вылетали ядра и медлительно свистевшие гранаты. Иногда, как бы давая отдых, проходило четверть часа, во время которых все ядра и гранаты перелетали, но иногда в продолжение минуты несколько человек вырывало из полка, и беспрестанно оттаскивали убитых и уносили раненых.
С каждым новым ударом все меньше и меньше случайностей жизни оставалось для тех, которые еще не были убиты. Полк стоял в батальонных колоннах на расстоянии трехсот шагов, но, несмотря на то, все люди полка находились под влиянием одного и того же настроения. Все люди полка одинаково были молчаливы и мрачны. Редко слышался между рядами говор, но говор этот замолкал всякий раз, как слышался попавший удар и крик: «Носилки!» Большую часть времени люди полка по приказанию начальства сидели на земле. Кто, сняв кивер, старательно распускал и опять собирал сборки; кто сухой глиной, распорошив ее в ладонях, начищал штык; кто разминал ремень и перетягивал пряжку перевязи; кто старательно расправлял и перегибал по новому подвертки и переобувался. Некоторые строили домики из калмыжек пашни или плели плетеночки из соломы жнивья. Все казались вполне погружены в эти занятия. Когда ранило и убивало людей, когда тянулись носилки, когда наши возвращались назад, когда виднелись сквозь дым большие массы неприятелей, никто не обращал никакого внимания на эти обстоятельства. Когда же вперед проезжала артиллерия, кавалерия, виднелись движения нашей пехоты, одобрительные замечания слышались со всех сторон. Но самое большое внимание заслуживали события совершенно посторонние, не имевшие никакого отношения к сражению. Как будто внимание этих нравственно измученных людей отдыхало на этих обычных, житейских событиях. Батарея артиллерии прошла пред фронтом полка. В одном из артиллерийских ящиков пристяжная заступила постромку. «Эй, пристяжную то!.. Выправь! Упадет… Эх, не видят!.. – по всему полку одинаково кричали из рядов. В другой раз общее внимание обратила небольшая коричневая собачонка с твердо поднятым хвостом, которая, бог знает откуда взявшись, озабоченной рысцой выбежала перед ряды и вдруг от близко ударившего ядра взвизгнула и, поджав хвост, бросилась в сторону. По всему полку раздалось гоготанье и взвизги. Но развлечения такого рода продолжались минуты, а люди уже более восьми часов стояли без еды и без дела под непроходящим ужасом смерти, и бледные и нахмуренные лица все более бледнели и хмурились.