Как пакеты делят линию связи

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

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

Почему всем хватает одного кабеля

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

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

Как сообщение собирается обратно

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

Дональд Дэвис предложил эту идею в 1965 году. Её важный практический эффект — совместное использование сети без необходимости выделять отдельный канал каждому компьютеру: кабель переносит множество коротких фрагментов, а получатель видит собранное сообщение.