Укрощение @Интернет@

       

Что такое пакет? Дейтаграмма?


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

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

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

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

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


???? Рисунок "карикатура" Чел. опускает в модем конверт, он идет по проводам, откуда высыпается вместе с другими конвертами в мешок, мешки движутся по транспортеру…. и т.д.

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

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

Однако при обсуждении протоколов TCP/IP технически правильно употреблять термин "дейтаграмма", вместо слова "пакет". Дейтаграмма

представляет собой единицу данных, с которой работают протоколы TCP/IP. А термин "пакет" принято употреблять при описании физического уровня передачи сообщений. Дейтаграмма упаковывается в пакет, причем не обязательно в один. Так, например, при передаче дейтаграмм по X.25 сетям они помещаются в два пакета. Впрочем, это лексическое различие достаточно незначительно и в обиходной речи часто говорят "пакет", подразумевая "дейтаграмма".


Содержание раздела