Эталонная модель OSI: оборудование уровня 3
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Эталонная модель OSI: оборудование уровня 1
- Эталонная модель OSI: оборудование уровня 2
- Эталонная модель OSI: оборудование уровня 4
Если вы хотите получать уведомления, когда Рассел Хичкок выпустит следующую статью из этой серии на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в режиме реального времени
В двух последних статьях я обсуждал эталонную модель Open System Interconnect (OSI) и ее первые два уровня. В этой статье я расскажу о третьем слое; сетевой уровень. Сетевой уровень связан с передачей данных с одного компьютера на другой. Это отличается от уровня канала передачи данных (уровень 2), поскольку уровень канала передачи данных связан с перемещением данных с одного устройства на другое напрямую подключенное устройство. Например, канальный уровень отвечает за передачу данных от компьютера к концентратору, к которому он подключен, в то время как сетевой уровень отвечает за передачу тех же данных на другой компьютер, возможно, на другой конец света.
Сетевой уровень перемещает данные из одной конечной точки в другую, реализуя следующие функции:
- Адресация
- Маршрутизация
- Инкапсуляция
- Фрагментация
- Обработка ошибок
- Контроль перегрузки
Адресация
Тем, кто читал мою предыдущую статью, может быть любопытно, почему уровень 3 реализует адресацию, когда я также сказал, что адресацию реализует уровень 2. Чтобы избавить вас от любопытства, вспомните, что я писал, что адрес уровня 2 (MAC-адрес) соответствует конкретной точке доступа к сети, а не адресу всего устройства, такого как компьютер. Еще кое-что, что следует учитывать, это то, что адрес уровня 3 является чисто логическим адресом, который не зависит от какого-либо конкретного оборудования; MAC-адрес связан с конкретным оборудованием и производителями оборудования.
Примером адресации уровня 3 является адресация Интернет-протокола (IP). Иллюстрацию IP-адреса можно увидеть здесь, на рисунке 1.
Рис. 1. Иллюстрация IP-адреса (Источник: Wikipedia.com)
Маршрутизация
Работа сетевого уровня заключается в перемещении данных из одной точки в пункт назначения. Для этого сетевой уровень должен иметь возможность планировать маршрут для прохождения данных. Комбинация аппаратных и программных процедур выполняет эту задачу, известную как маршрутизация. Когда маршрутизатор получает пакет от источника, ему сначала необходимо определить адрес назначения. Для этого удаляются заголовки, ранее добавленные канальным уровнем, и считывается адрес из предопределенного места в пакете, как это определено используемым стандартом (например, стандартом IP).
Как только адрес назначения определен, маршрутизатор проверит, находится ли этот адрес в пределах его собственной сети. Если адрес находится в его собственной сети, маршрутизатор затем отправит пакет вниз на канальный уровень (концептуально говоря), который добавит заголовки, как я описал в своей предыдущей статье (ссылка на предыдущую статью на мою статью об уровне OSI 2) и отправит пакет по назначению. Если адрес не находится в собственной сети маршрутизатора, маршрутизатор будет искать адрес в таблице маршрутизации. Если адрес найден в этой таблице маршрутизации, маршрутизатор прочитает соответствующую сеть назначения из таблицы и отправит пакет вниз на канальный уровень и далее в эту сеть назначения. Если адрес не найден в этой таблице маршрутизации, пакет будет отправлен для обработки ошибок. Это один из источников ошибок, которые можно увидеть при передаче данных по сети, и отличный пример того, почему требуется проверка и обработка ошибок.
Инкапсуляция
Когда маршрутизатор отправляет пакет вниз на канальный уровень, который затем добавляет заголовки перед передачей пакета в следующую точку, это пример инкапсуляции для канального уровня.
Подобно канальному уровню, сетевой уровень также отвечает за инкапсуляцию данных, которые он получает от вышестоящего уровня. В этом случае это будут данные, полученные с уровня 4, транспортного уровня. На самом деле каждый уровень отвечает за инкапсуляцию данных, которые он получает от вышележащего уровня. Даже седьмой и последний уровень — уровень приложений, поскольку приложение инкапсулирует данные, которые оно получает от пользователей.
Фрагментация
Когда сетевой уровень отправляет данные на канальный уровень, иногда могут возникнуть проблемы. То есть, в зависимости от того, какой тип технологии канального уровня используется, данные могут быть слишком большими. Для этого требуется, чтобы сетевой уровень имел возможность разбивать данные на более мелкие фрагменты, каждый из которых может быть отправлен на канальный уровень по очереди. Этот процесс известен как фрагментация.
Обработка ошибок
Обработка ошибок является важным аспектом сетевого уровня. Как я упоминал ранее, одним из источников ошибок является то, что маршрутизаторы не находят адрес назначения в своей таблице маршрутизации. В этом случае маршрутизатор должен сгенерировать ошибку о недоступности пункта назначения. Другим возможным источником ошибок является значение TTL (время жизни) пакета. Если сетевой уровень определяет, что значение TTL достигло нулевого значения, генерируется ошибка превышения времени. Как сообщение об ошибке адресата недоступно, так и сообщения об ошибке превышения времени соответствуют определенным стандартам, определенным в протоколе управляющих сообщений Интернета (ICMP).
Фрагментация также может вызывать ошибки. Если процесс фрагментации занимает слишком много времени, устройство может выдать ошибку превышения времени ICMP.
Контроль перегрузки
Еще одна обязанность сетевого уровня — контроль перегрузки. Я уверен, вы знаете, что любое данное сетевое устройство имеет верхний предел пропускной способности, с которой может справиться устройство. Этот верхний предел всегда ползет вверх, но все же бывают случаи, когда устройству не под силу обработать слишком много данных. Это мотивация для контроля перегрузки.
Существует множество теорий о том, как лучше всего это сделать, большинство из которых довольно сложны и выходят за рамки данной статьи. Основная идея всех этих методов заключается в том, что вы хотите, чтобы отправители данных конкурировали за то, чтобы их сообщения были приняты в пропускную способность. Перегруженное устройство хочет сделать это таким образом, чтобы уменьшить общий объем данных, которые оно получает. Это может быть достигнуто путем «наказания» отправителей, которые отправляют наибольшее количество данных, что заставляет отправителей «замедлять» свою отправку, чтобы избежать наказания, и тем самым уменьшая объем данных, видимых перегруженным устройством (что на данный момент не является обязательным). больше загружен).
Разглагольствование автора: Алгоритмы управления перегрузкой довольно сложны по разным причинам. Во-первых, задействованная математика интенсивна. Итак, для всех вас, кто когда-либо задавался вопросом, почему люди изучают математику в университете и какую работу они могли бы получить с этим образованием… это важный фактор, который хорошо оплачивается такими сетевыми компаниями, как CISCO и Nortel. Во-вторых, после того, как вы определили правильную математику для выполнения этой задачи, как ее можно реализовать эффективно и быстро? Это область инженеров, которым необходимо понимать математику, возможные стратегии реализации программного обеспечения, возможные стратегии реализации аппаратных средств и методологии проектирования. Многие люди, в том числе те, кто работает в технологической индустрии, на самом деле не понимают, что приносят эти и другие профессии: они должны. Это важно.
В моей следующей статье я расскажу о четвертом уровне эталонной модели OSI; транспортный уровень. До тех пор, как всегда, если у вас есть какие-либо вопросы по поводу этой или любой предыдущей статьи, не стесняйтесь, присылайте мне по электронной почте; Я сделаю все возможное, чтобы ответить на любые вопросы.
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Эталонная модель OSI: оборудование уровня 1
- Эталонная модель OSI: оборудование уровня 2
- Эталонная модель OSI: оборудование уровня 4
Если вы хотите получать уведомления, когда Рассел Хичкок выпустит следующую часть этой серии статей, на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в режиме реального времени