Зачем нам нужно разбивать данные на части при передаче их по сети?

Зачем нам нужно разбивать данные на части при передаче их по сети?

В сети, если приложение может генерировать поток данных, то почему данные не могут передаваться по сети как поток данных? Вместо этого, почему они разрезаются/разделяются на части перед отправкой по сети?

решение1

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

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

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

Сегментация — это нечто иное: она группирует компьютеры вместе и позволяет концентрировать доступ/контроль доступа между различными группами компьютеров, а также обеспечивает гибкость маршрутизации.

решение2

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

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

Связанный контент