Информационные сети Лекция 3. Сетевой уровень взаимодействия
Адресация Физические адреса (например, MAC-адресы в сетях Ethernet) используются на канальном уровне для взаимодействия к устройств, находящихся в том же сегменте сети. Для описания взаимодействия хостов между отдельными сегментами сети используется адресация на более высоком - сетевом - уровне. Поиск место размещения хостов и передача данных выполняется специальными устройствами – маршрутизаторами.
Примеры протоколов сетевого уровня Наиболее популярным протоколом сетевого уровня, используемым в Интернет, является протокол IP (Internet Protocol). Другим протоколом, используемым в локальных сетях, является протокол IPX (Internetwork Packet Exchange) фирмы Novell. Протокол NetBEUI является примером немаршрутизируемого протокола сетевого уровня.
Маршрутизаторы Маршрутизаторы – устройства обеспечивающие межсетевое взаимодействия и работающие на сетевом уровне модели OSI. Маршрутизатор обеспечивает сквозную маршрутизацию при прохождении пакетов данных перенаправления трафика на основании информации сетевого протокола. Маршрутизаторы позволяют решить проблему чрезмерного широковещательного трафика, поскольку они не переадресуют широковещательные кадры, если это не предписано.
Принцип работы маршрутизатора Маршрутизатор использует сообщения третьего уровня для определения оптимального маршрута доставки данных в сети.
IP-адресация Для успешной маршрутизации пакетов данных используется иерархическая адресация - каждая сеть (подсеть) имела уникальный номер. Эти номера записываются в заголовках пакетов сетевого уровня и анализируются маршрутизаторами для передачи пакетов из сети в сеть.
IP-адресация IP-адрес устройства включает в себя адрес сети, к которой принадлежит устройство, и адрес устройства в этой сети. IP-адрес имеет иерархическую структуру и более удобен для организации адресов компьютеров, чем MAC-адреса. IP-адресация позволяет находить пункт назначения в сети Интернет. Для определения адреса используются двоичные значения. Общая длина адреса составляет 32 бита (версия IPv4). Для записи IP-адреса как правило применяется десятичная нотация – адрес задается в виде 4 чисел разделенных точками, например, 192.168.160.224.
Классы IP-адресов Благодаря тому, что каждая сеть, подключенная в Интернет, имеет уникальный номер, данные могут точно переданы адресату. Для обеспечения уникальности адресов, их выделение для использования выполняется специальными организациями (например, American Registry for Internet Numbers – ARIN). Каждый IP-адрес состоит из двух частей: номера сети и номера хоста.
Классы IP-адресов Каждый 32-разрядный IP-адрес разделяется на 4 октета: xxx.xxx.xxx.xxx, где xxx – некоторое число из диапазона 0-255. Каждый IP-адрес состоит из двух частей: номера сети и номера хоста. Класс A составляют адреса, зарезервированные для правительственных учреждений; Класс B – адреса для организаций среднего размера Класс С – адреса для остальных организаций Номер хоста (24 бита) Номер сети (7 битов) 0 Номер хоста (16 битов) Номер сети (14 битов) 0 1 Номер хоста (8 битов) Номер сети (21 бит) 1 1 0 Класс A Класс B Класс C
Классы IP-адресов Класс Диапазон значений первого октета Возможное количество сетей Возможное количество узлов А 1 - 126 126 16777214 B 128 - 191 16382 65534 C 192 - 223 2097150 254 D 224 - 239 - 228 E 240 - 247 - 227
Подсети Для нужд организации выделенная сеть может быть разбита на отдельные части – подсети. Использование подсети не влияет на внешних пользователей, но в пределах организации подсеть рассматривается как структурная единица. 172.16.1.0 172.16.2.0 172.16.3.0
Бесклассовая адресация Маскирование подсетей Подсети скрыты от внешнего мира с помощью масок, называемых масками подсети. С их помощью устройствам сообщается какая часть является адресом подсети, а какая – адресом хоста. Маска подсети представляет собой 32 разрядное двоичное число разделена на 4 октета, подобно IP-адресу. Маска подсети имеет все единицы в части, отвечающей сети и подсети, и нули, в части отвечающей адресу хоста. Например, для сетей 172.16.1.0 – 172.16.254.0 маска будет иметь вид 255.255.255.0. Для указания маски также используется обозначение 172.16.1.0/24 (здесь 24 – указатель сколько единиц записывается в двоичном представлении макси – 11111111.11111111.11111111.00000000 = 255.255.255.0)
Адресация подсетей Адреса подсетей, подобно адресам хостов, задаются локально сетевым администратором. С точки зрения адресации, подсети являются расширением сетевого номера.
Широковещательные адреса IP-адреса, оканчивающие всеми двоичными единицами, зарезервированы для широковещания. Подсеть Двоичное число в поле подсети Диапазон двоичных чисел в поле хостов Диапазон десятичных чисел в поле хостов 1 000 00000-11111 .0-.31 2 001 00000-11111 .32-.63 3 010 00000-11111 .64-.95 4 011 00000-11111 .96-.127 5 100 00000-11111 .128-.159 6 101 00000-11111 .160-.191 7 110 00000-11111 .192-.223 8 111 00000-11111 .224-255
Операция & (AND) IP-адреса, оканчивающиеся всеми нулями, зарезервированы для адреса сети (или подсети, если выполнено разделение на подсети). При поступлении данных из внешних сетей маршрутизатор определяет назначение (подсеть) исходя из установленных масок. Взяв адрес хоста назначения, содержащийся в данных, и адрес маски подсети – маршрутизатор выполняет логическое умножение (операцию AND). При выполнении операции AND на выходе будет 1, только если оба операнда равны 1. При выполнении данной операции отбрасывается часть адреса соответствующая номеру хоста и остается только адрес подсети.
Протокол IP Протокол IP используется для управления рассылкой TCP/IP пакетов по сети Internet. Функции, возложенные на уровень IP : определение пакета, который является базовым понятием и единицей передачи данных в сети Internet. Такой IP-пакет называют датаграммой; определение адресной схемы, которая используется в сети Internet; передача данных между канальным уровнем (уровнем доступа к сети) и транспортным уровнем (другими словами мультиплексирование транспортных датаграмм во фреймы канального уровня); маршрутизация пакетов по сети, т.е. передача пакетов от одного шлюза к другому с целью передачи пакета машине-получателю; \"нарезка\" и сборка из фрагментов пакетов транспортного уровня.
Особенности IP-протокола Главными особенностями протокола IP является отсутствие ориентации на физическое или виртуальное соединение. Это значит, что прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP, не проверяет возможность установки соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP-пакете, по сети не передается. IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений. Вся информация о пути, по которому должен пройти пакет берется из самой сети в момент прохождения пакета. Эта процедура и называется маршрутизацией в отличии от коммутации, которая используется для предварительного установления маршрута следования данных, по которому потом эти данные отправляют.
Маршрутизация и коммутация Принцип маршрутизации является одним из тех факторов, который обеспечил гибкость сети Internet. Маршрутизация является ресурсоемкой процедурой, так как требует анализа каждого пакета, который проходит через шлюз или маршрутизатор При коммутации анализируется только управляющая информация, устанавливается канал, физический или виртуальный, и все пакеты пересылаются по этому каналу без анализа маршрутной информации. При неустойчивой работе сети пакеты могут пересылаться по различным маршрутам и затем собираться в единое сообщение. При коммутации путь придется каждый раз вычислять заново для каждого пакета, а в этом случае коммутация потребует больше накладных затрат, чем маршрутизация.
Формат IP пакета В заголовке пакета определены: адрес отправителя (4-ое слово заголовка), адрес получателя (5-ое слово заголовка), общая длина пакета (поле Total Lenght) тип пересылаемой датаграммы (поле Protocol). Если IP-адрес получателя принадлежит одной из ее сетей, то на интерфейс этой сети пакет и будет отправлен, в противном случае пакет отправят на другой шлюз.
Транспортировка пакетов Зная протокол транспортного уровня, IP-модуль производит раскапсулирование информации из своего пакета и ее направление на модуль обслуживания соответствующего транспорта. При обычной процедуре инкапсулирования пакет просто помещается в поле данных фрейма, а в случае, когда это не может быть осуществлено, то разбивается на более мелкие фрагменты. Размер максимально возможного фрейма, который передается по сети, определяется величиной MTU (Maximum Transsion Unit), определенной для протокола канального уровня. Для того, чтобы потом восстановить пакет IP должен держать информацию о своем разбиении. Для этой цели используется поля \"flags\" и \"fragmentation offset\". В этих полях определяется, какая часть пакета получена в данном фрейме, если этот пакет был фрагментирован на более мелкие части.
Стандарт IPv6 В 1995 года IETF выпустило предложения по новому стандарту протокола IP – IPv6. В новом протоколе: используются более длинные поля для адреса хоста, введены новые типы адресов, упрощена структура заголовка пакета, введена идентификация типа информационных потоков для увеличения эффективности обмена данными, введены поля идентификации и конфиденциальности информации.
Формат заголовка IPv6 пакета В заголовке поле Version \"версия\" - номер версии IP, равное 6. Поле Prior \"приоритет\" может принимать значения от 0 до 15. Первые 8 значений закреплены за пакетами, требующими контроля переполнения, например, 0 - несимвольная информация; 1 - информация заполнения (news), 2 - не критичная ко времени передача данных (e-mail); 4 - передача данных режима on-line (FTP, HTTP, NFS и т.п.); 6 - интерактивный обмен данными (telnet, X); 7 - системные данные или данные управления сетью (SNMP, RIP и т.п.).
Формат заголовка протокола Поле Flow label \"метка потока\" предполагается использовать для оптимизации маршрутизации пакетов. В IPv6 вводится понятие потока, который состоит из пакетов. Пакеты потока имеют одинаковый адрес отправителя и одинаковый адрес получателя и ряд других одинаковых опций. Поле Next Header \"следующий заголовок\" определяет тип следующего за заголовком IP-заголовка. Поле Hop Limit \"ограничение переходов\" определяет число промежуточных шлюзов, которые ретранслируют пакет в сети. При прохождении шлюза это число уменьшается на единицу. При достижении значения \"0\" пакет уничтожается. После первых 8 байтов в заголовке указываются адрес отправителя пакета и адрес получателя пакета. Каждый из этих адресов имеет длину 16 байт. Длина заголовка IPv6 составляет 48 байтов.
Адрес в протоколе IPv6 Шестнадцать байт IP-адреса для IPv6 выглядят достаточными для удовлетворения любых потребностей Internet. Не все 2128 адресов можно использовать в качестве адреса сетевого интерфейса в сети. Предполагается выделение отдельных групп адресов, согласно специальным префиксам внутри IP-адреса, подобно тому, как это делалось при определении типов сетей в IPv4. Двоичный префикс \"0000 010\" предполагается закрепить за отображением IPX-адресов в IP-адреса. В новом стандарте выделяются несколько типов адресов: unicast addresses - адреса сетевых интерфейсов, anycast addresses - адреса не связанные с конкретным сетевым интерфейсом, но и не связанные с группой интерфейсов multicast addresses - групповые адреса. Разница между последними двумя группами адресов в том, что anycast address это адрес конкретного получателя, но определяется адрес сетевого интерфейса только в локальной сети, где этот интерфейс подключен, а multicast-сообщение предназначено группе интерфейсов, которые имеют один multicast-адрес.
Маршрутизация и другие возможности В стандарт добавлены три новых возможности маршрутизации: маршрутизация поставщика IP-услуг, маршрутизация мобильных узлов автоматическая переадресация. Эти функции реализуются путем прямого указания промежуточных адресов шлюзов при маршрутизации пакета. Эти списки помещаются в дополнительных заголовках, которые можно вставлять вслед за заголовком IP-пакета. Кроме перечисленных возможностей, новый протокол позволяет улучшить защиту IP-трафика. Для этой цели в протоколе предусмотрены специальные опции. Первая опция предназначена для защиты от подмены IP-адресов машин. При ее использовании нужно кроме адреса подменять и содержимое поля идентификации, что усложняет задачу злоумышленника, который маскируется под другую машину. Вторая опция связана с шифрацией трафика.
Интеграция протоколов в глобальной IP-сети Для предоставления качественных и разнообразных услуг большинство крупных глобальных сетей строится по четырехуровневой схеме