При использовании коммутации без буферизации коммутатор обрабатывает данные по мере их поступления даже в том случае, если передача ещё не завершена. Коммутатор добавляет в буфер именно такое количество кадра, которое требуется для чтения MAC-адреса назначения, чтобы он смог определить, на какой порт пересылать данные. MAC-адрес назначения указан в 6 байтах кадра после преамбулы. Коммутатор ищет MAC-адрес назначения в своей таблице коммутации, определяет порт исходящего интерфейса и направляет кадр на свой узел назначения через выделенный порт коммутатора. Коммутатор не проверяет кадр на наличие каких-либо ошибок. Поскольку коммутатору не нужно ждать добавления в буфер всего кадра целиком, и при этом он не выполняет проверку ошибок, коммутация без буферизации происходит быстрее, чем коммутация с буферизацией. Тем не менее, так как коммутатор не проверяет ошибки, он пересылает повреждённые кадры по всей сети. При пересылке повреждённые кадры уменьшают пропускную способность. В конечном итоге сетевая плата назначения отклоняет повреждённые кадры.
Воспроизведите анимацию, чтобы продемонстрировать коммутацию без буферизации.
Существуют два варианта коммутации без буферизации.
- Коммутация с быстрой пересылкой. Коммутация с быстрой пересылкой обеспечивает наименьший уровень задержки. При такой коммутации пакет пересылается сразу же после чтения адреса назначения. Поскольку при коммутации с быстрой пересылкой переадресация начинается до получения всего кадра целиком, могут возникнуть случаи, когда пакеты передаются с ошибками. Это происходит редко, и сетевой адаптер назначения отклоняет пакет, содержащий ошибки, после его получения. В режиме быстрой пересылки задержка измеряется с момента получения первого бита до передачи первого бита. Коммутация с быстрой пересылкой является типичным способом коммутации без буферизации.
- Коммутация с исключением фрагментов. При коммутации с исключением фрагментов коммутатор сохраняет первые 64 байта кадра перед его отправкой. Коммутацию с исключением фрагментов можно рассматривать как компромиссный вариант между коммутацией с буферизацией и коммутацией с быстрой пересылкой. Причина, по которой при коммутации с исключением фрагментов сохраняют только первые 64 байта кадра, заключается в том, что большинство сетевых ошибок и коллизий происходят именно в первых 64 байтах. Коммутация с исключением фрагментов пытается повысить эффективность коммутации с быстрой пересылкой, выполняя небольшую проверку ошибок в первых 64 байтах кадра, чтобы перед пересылкой кадра убедиться в отсутствии коллизии. Коммутация с исключением фрагментов представляет собой компромисс между большой задержкой с высокой целостностью (коммутация с буферизацией) и малой задержкой с меньшей целостностью (коммутация с быстрой пересылкой).
На рисунке приводится пример коммутации без буферизации.
Некоторые коммутаторы настроены на использование коммутации без буферизации для каждого порта до тех пор, пока не будет достигнуто указанное пользователем предельное количество ошибок, после чего автоматически устанавливается коммутация с буферизацией. После того, как частота повторения ошибок снизится до установленного предельного значения, порт автоматически переключится на использование коммутации без буферизации.