Физический уровень описывает физические свойства различных сред передачи, а также электрические свойства и интерпретацию сигналов при обмене информацией. Например, этот уровень определяет характеристики кабеля для стандарта Ethernet, типы используемых разъемов и оконечную нагрузку.
Физический уровень отвечает за передачу, если так можно выразиться, «сырых» битов по линии связи. Среди многих задач, которые решаются на физическом уровне, есть такие, как необходимость согласования: когда передающая сторона отсылает бит 1, принимающая сторона должна получать его как 1, а не как 0. Для этого уровня характерны такие вопросы, как, например, какой уровень сигнала обозначает 0, а какой — 1? Сколько микросекунд длится передача одного бита? Может ли передача осуществляться одновременно в обоих направлениях? Как устанавливается начальное соединение? Как разрывается соединение, когда обе стороны закончили обмен информацией? Сколько контактов используется в разъеме для подключения к сети, и за что отвечает каждый контакт?
Эти и многие другие вопросы, которые относятся к физическому уровню, связаны в основном с электрическими, механическими и процедурными интерфейсами и физической средой передачи, которая находится под физическим уровнем. По сути, физический уровень относится к сфере компетенции электротехников.
2. Канальный уровень
Канальный уровень описывает логическую организацию битов данных, которые передаются в определенной среде. Этот уровень определяет упаковку, адресацию и коррекцию ошибок для фреймов Ethernet. Основной задачей канального уровня является преобразование «простых» коммуникационных средств физического уровня в линию связи, которая будет защищена от ошибок передачи уже на сетевом уровне. Чтобы решить эту задачу, отправляющая сторона разбивает весь поток данных, предназначенных к отправке, на блоки, которые называются фреймами данных (обычно размером несколько сотен байт). Затем отправляющая сторона последовательно передает эти фреймы и принимает фреймы, подтверждающие получение, от принимающей стороны. Поскольку физический уровень отвечает только за передачу потока битов и не обращает внимания на их структуру, то начало и конец фрейма определяются на канальном уровне. Это осуществляется за счет добавления к началу и концу фрейма данных определенных служебных последовательностей битов. Во избежание конфликтов данных необходимо, чтобы такие служебные последовательности битов не могли возникнуть в основном потоке данных. Кроме того, канальный уровень обеспечивает коррекцию ошибок при передаче между двумя соседними узлами.
Еще одна проблема, которая возникает на канальном уровне (а также и на большинстве других высших уровнях) заключается в том, что необходимо регулировать поток данных, чтобы медленный приемник не «захлебнулся» в потоке данных от более быстрого передатчика. Для этого используются различные способы управления потоком данных. Зачастую для удобства на этом уровне интегрируются коррекция ошибок и управление потоком данных.
Если линия связи может передавать информацию в двух направлениях, то возникает еще одна проблема, которая должна решаться на канальном уровне. Дело в том, что фреймы, подтверждающие получение данных, переданных от А к В, начинают состязаться за доступ к линии связи с фреймами данных, которые передаются от В к А. Здесь было разработано довольно хитроумное решение в форме одновременной передачи прямых и обратных фреймов.
3. Сетевой уровень
Сетевой уровень отвечает за то, каким образом с помощью серии обменов данными по различным каналам передачи информация может быть доставлена от узла одной сети к узлу другой сети. Этот уровень определяет адресацию и маршрутизацию сети Интернет. Основная проблема на этом уровне заключается в определении путей маршрутизации, по которым пакеты с данными идут от отправителя к получателю.
Маршрутизация пакетов может основываться на статических таблицах, которые жестко привязаны к сети и редко изменяются, также она может определяться каждый раз при начале нового обмена данными, например, при открытии терминальной сессии. Наконец, маршрутизация пакетов может быть динамической и определяться каждый раз по-новому для нового пакета, учитывая загрузку сетей.
Если в какой-то подсети одновременно скапливается много пакетов, то они будут мешать друг другу, вызывая перегрузку. Контроль перегрузки тоже осуществляется на сетевом уровне.
Поскольку операторы подсетей должны получать вознаграждение за свою работу, то очень часто на сетевом уровне ведется учет переданных пакетов. Обязательно учитывается количество пакетов или битов, посланных каждым пользователем, которые затем используются для взаимных расчетов между операторами. Когда пакет пересекает национальные границы стран с разными тарифами, взаимные расчеты между операторами сетей значительно усложняются.