Терминология протокола:Сообщение против пакета
-
11-09-2019 - |
Вопрос
На практике какой термин наиболее подходит для передачи данных по сети с помощью протоколов более высокого уровня (например, выше TCP/IP)?В частности, я имею в виду небольшие двоичные единицы данных.
Я видел и «сообщение», и «пакет», упоминаемые в различных клиент-серверных библиотеках, но меня интересовал консенсус сообщества.
Решение
Это определенно сообщения.«Пакет» — это единица протокола уровня 3 (в терминологии ISO), такая как IP-пакет;а «дейтаграмма» — это единица уровня 1 или 2, например несколько дейтаграмм Ethernet, которые могут составлять фрагменты IP-пакета.
Таким образом, сообщение может быть разделено на несколько пакетов, особенно если вы используете потоковый протокол, такой как TCP, и пакет может быть разделен на несколько датаграмм.
Другие советы
Просто мой взгляд.Вероятно, это зависит от того, на каком уровне вы работаете.Когда я думаю обо всей передаче (все заголовки, данные и т. д.), я бы назвал это Сообщением.Пакет, особенно в TCP/IP, — это всего лишь часть сообщения.По сети передается несколько пакетов, составляющих целое сообщение.
Я думаю, что пакет относится к фрагментам данных, передаваемых на более низком уровне, например Ethernet, а сообщение используется для обмена информацией более высокого уровня.
имхо, по сути они означают одно и то же...
редактировать:
Есть также еще одна терминология, называемая Frame, которая определяется в RFC 1122 как «единица передачи в протоколе слоя ссылки и состоит из заголовка Link Layer, за которым следует пакет». [Википедия
msgs — это пакет на сетевом уровне.
это сегмент в протоколе TCP (уровень передачи)
это сообщения по HTTP или FTP (уровень приложений)