Канальный уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки (посылает повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями (обеспечивая передачу по нескольким различным физическим следам), контролируя и управляя этим взаимодействием.
Спецификация IEEE 802 разделяет этот уровень на 2 подуровня:
- MAC (Media Access Control) регулирует доступ к разделяемой физической среде,
- LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты.
В программировании канальный уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС.
Так, как канальный уровень позволяет передавать данные в рамках одной топологии, необходимо ввести данное понятие. Термин "топология сети" относится к пути, по которому данные перемещаются по сети.