Определение сетевых единиц: фрагмент, сегмент, пакет, кадр, дейтаграмма

Какие единицы используются в сетевой терминологии? Где мы их используем?

Я знаю следующее, но я не уверен, что они означают:

  • Фрагмент
  • Сегмент
  • Пакет
  • Рамка
  • Дейтаграмма

Могут ли они быть назначены определенному уровню OSI? Это более сложно?


person schmijos    schedule 24.07.2012    source источник


Ответы (6)


Взяв за основу раздел 1.2 в TCP/IP Illustrated: Vol 1 by Richard Stevens et al., рассмотрим четырехуровневый стек TCP/IP:

        +-------------+-------------------------+
        | Application |  Telnet, FTP, etc       |
        +-------------+-------------------------+
        | Transport   |  TCP, UDP               |
        +-------------+-------------------------+
        | Network     |  IP, ICMP               |
        +-------------+-------------------------+
        | Link        | drivers, interface card | 
        +-------------+-------------------------+

Сегмент. Если транспортным протоколом является TCP, единица данных, отправляемая с TCP на сетевой уровень, называется Сегмент.

Дейтаграмма: используется на двух уровнях. Если сетевым протоколом является IP, единица данных называется Дейтаграмма. На транспортном уровне, если протокол UDP, мы также используем дейтаграмму. Следовательно, мы различаем их как UDP-датаграммы и IP-датаграммы.

Кадр: представление физического уровня.

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

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

person Bhaskar    schedule 24.07.2012
comment
Хотя это не является обычным явлением, вы иногда слышите о пакетах Ethernet, например, на вики Wireshark. Фрейм, безусловно, более стандартен на физическом уровне. - person Tom Anderson; 25.07.2012
comment
Единица данных протокола — это общий, хотя и до боли похожий на OSI термин, обозначающий все это во всей иерархии. - person Tom Anderson; 25.07.2012
comment
Я не читал книгу, хотя должен был... но ты уверен, что это взято из книги Стивенса? потому что это выглядит не совсем правильно с технической точки зрения.. например. Я думаю, что в эталонной модели/архитектуре TCP/IP это межсетевой уровень, а не сетевой уровень. Сетевой уровень — это терминология ISO/OSI. И я думаю, что в модели ссылок TCP / IP есть канальный уровень, которого я не вижу в вашем ответе. И в эталонной модели ISO OSI уровень 1 (физический) я слышал, что «пакет» там называется символом, а уровень 2 — это кадр. - person barlop; 19.11.2014
comment
@barlop: замените «Сеть» на «Интернет» и замените «Физический» на «Сетевой доступ» на приведенной выше диаграмме, и это будет соответствовать модели TCP / IP, которую я изучал у О'Рейли. - person Wildcard; 08.10.2015
comment
@Wildcard И именно поэтому ответ этого человека неверен и полностью перепутан. И, кстати, в вашей книге О'Рейли все написано правильно, но было бы точнее, если бы в ней говорилось о канальном уровне, а не об уровне доступа к сети. См. en.wikipedia.org/wiki/Internet_layer. - person barlop; 08.10.2015
comment
Также совершенно неверно, что кадр является представлением физического уровня. Это общеизвестный термин OSI на канальном уровне OSI. Кадр (который является данными, как и все, что выше физического уровня), например, не является кабелем Ethernet. Этот ответ действительно не должен смешивать это, говоря, что кадр физический! - person barlop; 08.10.2015
comment
@barlop: На самом деле, видеокурс O'Reilly — от Рика Мессье. Спасибо за разъяснение кадра как уровня канала передачи данных. Я также обнаружил (на удивление), что ответ Yahoo здесь о пакете и дейтаграмме очень полезен: >in.answers.yahoo.com/question/index?qid=20080311235220AApLDVK Вам это кажется точным? - person Wildcard; 08.10.2015
comment
@Wildcard Термин дейтаграмма используется в определении UDP (буква D в UDP) и RFC для IP (используется термин дейтаграмма IP), и этот термин определен в RFC 1594. См. это определение. В нем говорится, что он должен быть автономным и иметь достаточно информации для маршрутизации от источника к месту назначения. UDP похож на определение дейтаграммы, потому что он не требует установления соединения, поэтому он не полагается на более ранние сообщения, поэтому в этом смысле является самодостаточным. достаточно информации для маршрутизации от источника к получателю) - person barlop; 08.10.2015
comment
поэтому термин дейтаграмма определен в этом RFC, но не совсем точно. например что является самодостаточным. Называть слой автономным все равно, что спрашивать, является ли модуль компьютерной программы автономным, вы можете возразить в любом случае, так что не совсем, нет! И вся концепция слоев — это просто глупый способ описания того, что происходит. У нас действительно должен быть термин, включающий все заголовки. Возможно, это было бы настолько автономным, насколько могут быть данные. Даже концепция автономных данных — вздор. - person barlop; 08.10.2015
comment
Может быть даже так (кажется, я читал), что определение в одном RFC не обязательно должно быть верным для других! И, может быть, даже верно только для этого RFC. Хотя я уверен, что RFC по UDP и IP считаются соответствующими определению дейтаграммы. Но определение самой дейтаграммы составлено не очень хорошо. Я читал, что RFC носят скорее описательный, чем предписывающий характер. то есть вещь построили потом написали потом, да и технически не очень. Кроме того, RFC относятся к элементам TCP/IP, а не к ISO OSI. - person barlop; 08.10.2015
comment
Мне кажется, я однажды где-то читал, что люди из ISO долго работали над своей архитектурой ISO OSI, а архитектура TCP/IP, возможно, более небрежная, но добралась до нее первой. Следовательно, Интернет работает на TCP/IP, но люди по-прежнему используют ISO OSI в качестве эталонной модели. Я полагаю, что Datagram будет терминологией TCP/IP (поскольку она есть в RFC), определенно не терминологией ISO OSI. И, поскольку она используется для IP и UDP, она не зависит от уровня. - person barlop; 08.10.2015
comment
@barlop спасибо за указание. Мой ответ смешивает пару вещей из книги. Раздел, на который он ссылается, - это 1.2 Layering из книги. На картинке вместо Physical это Link. Отредактирует ответ. Логика канального уровня находится в драйверах или даже в программном обеспечении на ASIC. В современной сетевой индустрии плоскость данных на маршрутизаторе настолько развита, что чрезвычайно трудно указать, где начинается и заканчивается функциональность канального уровня. В этом контексте ответ должен дать четкое представление о том, что означает каждый термин. - person Bhaskar; 09.10.2015
comment
Вы все еще не исправили свое определение фрейма, которое уже ввело в заблуждение другого ответчика (алебардиста) и сделало его ответ более запутанным. - person barlop; 09.10.2015
comment
правильно ли будет сказать дейтаграмма TCP или это нет-нет? - person Shuklaswag; 24.10.2017
comment
@barlop На самом деле символ - это нечто совершенно другое. Его можно очень условно рассматривать как эквивалент бита на реальном физическом уровне, то есть на уровне напряжений или электромагнитных волн. Кроме того, один символ может нести нецелое число информационных битов, например, 1/3, 1/2, 2/3, 4/3, 2, 3, 4 и т. д., в зависимости от типа модуляции и прямой коррекции ошибок. код (фактически по вопросам скорости кода). Если я правильно помню, в LTE есть MCS (схема модуляции и кодирования), которая передает ~ 1,18 бит/символ. С другой стороны, в 3G один бит можно разделить на несколько чипов. - person shycha; 09.03.2019

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

На уровне Phy, то есть на физическом уровне, фактические данные представлены в «битах», то есть 0 и 1.

Когда он достигает уровня канала передачи данных или уровня 2, он становится «кадром» с добавлением исходного и целевого MAC-адресов.

Когда он достигает третьего уровня или сетевого уровня, он становится «пакетом» с прикрепленными к нему IP-адресами источника и получателя.

Наконец, он становится «сегментом» на уровне 4 или уровне TCP/IP. В основном термин «сегмент» используется для TCP-соединений и «дейтаграмм» для UDP.

А как насчет других уровней, таких как: сеанс, презентация и приложение? В этих слоях данные называются «PDU» или «блок данных протокола».

Поэтому, когда кто-то говорит, что сетевое устройство получает «кадр», вы знаете, что это устройство является коммутатором.

Маршрутизатор получает пакет и обрабатывает его.

person guo    schedule 10.06.2016
comment
выглядит хорошо, у вас есть источник? интересно, что у вас есть все забавные малопонятные термины OSI, такие как кадр, PDU, сегмент. Затем для физического уровня вы говорите о битах, как обычный термин, использует ли OSI биты для обозначения вещей на физическом уровне так же, как они используют кадр, сегмент и т.д. для других слоев? Ваш источник даже OSI? OSI был тем, кто придумал термины «фрейм» и т. д. насколько мне известно. - person barlop; 09.03.2019
comment
@barlop Он использует терминологию, соответствующую amazon.com/dp/ 9332518742. - person devoured elysium; 30.05.2019
comment
@devouredelysium, вы говорите, что он использует ту же терминологию, что и Computer Networks 5th Эндрю С. Таненбаум. Имейте в виду, однако, что общая книга по сети часто не использует правильную/официальную терминологию, часто из-за небрежности. Не могу конкретно прокомментировать его содержание, но dannyreviews.com/h/Computer_Networks.html показывает цитату и, глядя на цитату, я замечаю, что он может не четко различать эталонную модель и архитектуру. - person barlop; 31.05.2019
comment
@barlop, просто взгляните на статью в вики. он полностью согласен с Гуо и книгой, на которую я ссылался выше: en.wikipedia.org/wiki/Protocol_data_unit #OSI_model. Единицей физического уровня является бит. - person devoured elysium; 31.05.2019
comment
@devouredelysium То, что находится на этой странице в Википедии, проблематично. Обратите внимание, что на этой странице в Википедии говорится о 4 слоях и называется моделью OSI, она явно перепутала TCP/IP с OSI. И, возможно, не ясно различать ссылку и архитектуру. Терминология там может быть более прагматичной, неясно, использует ли она чисто терминологию OSI или чисто терминологию TCPIP, когда речь идет о физическом уровне, поскольку она показывает только 4 уровня, но называет это моделью OSI (архитектура OSI или, конечно, эталонная модель OSI). 7 слой). - person barlop; 31.05.2019
comment
Эта страница сокращает ссылку OSI до 4 уровней и применяет ее к TCP/IP, что составляет 4 уровня. Так что неясно, используется ли терминология OSI или терминология TCP / IP, когда он говорит bit . Эти страницы википедии, возможно, более осторожны: en.wikipedia.org/wiki/Internet_protocol_suite и en.wikipedia.org/wiki/OSI_model, хотя они не упоминают имя того, что находится на физическом слой. - person barlop; 31.05.2019
comment
Однако интересно, что на вашей странице en.wikipedia.org/wiki/Protocol_data_unit#OSI_model есть ссылка на en.wikipedia.org/wiki/Physical_layer, в котором упоминается бит, но википедия говорит, что на странице есть несколько вопросы - person barlop; 31.05.2019
comment
@barlop совершенно ясно, что вся терминология, связанная со слоями, в настоящее время - полный беспорядок. - person devoured elysium; 31.05.2019
comment
@devouredelysium Не совсем. Википедия, как правило, более точна, чем большинство книг, ваша ссылка на Википедию очень необычная и странная в Википедии, и в вашей ссылке даже говорится о том, что ей нужны ссылки / цитаты. Книги, как правило, постоянно содержат неправильную терминологию по разным предметам. RFC немного своеобразны с терминологией, поскольку терминология может быть только для этого RFC. Но все же существуют официальные стандарты. Люди все еще могут применять эталонную модель OSI к архитектуре TCP/IP. Насколько я знаю, это символ на физическом уровне в эталонной модели OSI (но этот термин кажется немного абстрактным) - person barlop; 31.05.2019

Ответ выше полный. Тем не менее, я думаю, что термин «пакет» произошел от коммутации пакетов, если я правильно это помню.

Есть 2 типа:

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

Коммутация пакетов – это метод связи в цифровой сети, который группирует все передаваемые данные, независимо от содержания, типа или структуры, в блоки подходящего размера, называемые пакетами.(Wiki)

Я бы определил это сам, но просто для уверенности.

Итак, вот термин пакета. Что касается фрагмента, я согласен с ответом Джошуа Шмида.

person Omar    schedule 30.11.2013

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

Для более оперативного определения я бы сказал, что фрейм — это блок данных протокола, который имеет средства для определения своих границ. Примеры:

  • кадр HDLC имеет флаги в начале и в конце и механизм битового заполнения
  • кадр Ethernet использует преамбулу и SFD
  • GFP использует разграничение кадров HEC, как и ATM.

ячейка, как и в ATM, если ввести еще один термин, представляет собой кадр фиксированной длины.

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

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

person Halberdier    schedule 30.06.2015
comment
Это может быть полезным ответом, но имейте в виду, что люди, читающие это, пытаются прояснить путаницу в основной терминологии и вводят дополнительные термины HDLC, SFD, GFD, HEC и ATM действительно не нужны для ответа на вопрос. Введение ячейки — это нормально, потому что вы также включили для нее определение. - person Wildcard; 08.10.2015
comment
@Wildcard Он представил этот Re Frame, потому что его немного смутил ответ с 25 голосами, поэтому он говорит, что представление Frame как физического уровня не звучит для меня на 100% точно, и он говорит о более рабочем определении, И он становится техническим, потому что он не может его упростить. Но на самом деле это намного проще. Мы можем полностью отбросить неправильное определение кадра, данное в ответе, с 25 голосами за. Фрейм (термин OSI) не является физическим уровнем Дело в том, что это уровень канала передачи данных. И это данные (как и все, что выше физического). Нет необходимости в разных фактических и рабочих определениях! - person barlop; 08.10.2015
comment
Можем ли мы сказать, что данные, отправляемые на транспортном уровне, представляют собой пакеты, состоящие из заголовка (сегмент< /b>, Датаграмма) и Сообщение (уровень данных) ? - person Dainius Kreivys; 15.12.2015

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

Транспортный уровень: Сегмент, если TCP, Дейтаграмма, если UDP Сетевой уровень: Дейтаграмма, Фрагмент может использоваться при разделении (это все равно будет дейтаграмма) Канальный уровень: Кадр на подуровне MAC, кадр или бит на подуровне LLC (в зависимости от того, какой уровень вы работаете, они не взаимозаменяемы) Физический уровень: Бит

И, как упоминалось в предыдущих ответах, пакет является более общим, его можно использовать для транспортного, сетевого или канального уровня, но НЕ для физического уровня. На этом уровне он еще не "упакован". Так что я бы сказал, что это самая большая разница между моделью стека TCP/IP и моделью OSI. Модель OSI разбивает физический уровень стека TCP/IP на два уровня: канальный и физический.

Надеюсь это поможет.

person cestevez    schedule 17.02.2015
comment
Голосование за ответ с привязкой к OSI. Тем не менее, я не согласен с вашим утверждением о самом большом отличии: модель стека TCP/IP объединяет канал передачи данных и физический доступ в сеть, это правда, но она также объединяет три верхних уровня OSI Application, Presentation, Session в Прикладной уровень. - person Wildcard; 08.10.2015

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

Сегмент - это .... Блок данных протокола, который состоит из заголовка TCP и части данных приложения (пакета), которая поступает с (верхнего) прикладного уровня.

person raja    schedule 08.06.2016
comment
Можете ли вы дать ответы на другие вопросы? - person Jonathan Eustace; 08.06.2016