Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Воронежский институт МВД России
Кафедра информационной безопасности
УТВЕРЖДАЮ
Заместитель начальника кафедры
информационной безопасности
полковник полиции
А.В. Мельников
«___» ___________ 2018 г.
Тезисы лекции
по программе повышения квалификации
сотрудников подразделений территориальных органов МВД России по теме:
«ПАК ViPNet Coordinator HW1000/2000,
правила эксплуатации и обработки информации»
(c использованием системы дистанционных образовательных технологий)
Блок дистанционного обучения в системе MOODLE
Тема №2. «Защита каналов связи ИМТС МВД России с помощью программно-аппаратной технологии ViPNet»
Лекция №2. «Основы адресации и маршрутизации в сети ИМТС МВД России»
Подготовил:
старший преподаватель кафедры
информационной безопасности
подполковник полиции
С.В. Зарубин
Обсуждены и одобрены
на заседании
методической секции кафедры
информационной безопасности
протокол № __ от _______ 2018 г.
Обсуждены и одобрены
на заседании кафедры
информационной безопасности
протокол № __ от _______ 2018 г.
Воронеж 2018
1. Введение в IP-адресацию.
Основной целью создания сетей передачи данных является организация взаимодействия между компонентами прикладного программного обеспечения (ПО), функционирующего на территориально удаленных вычислительных системах. Для упрощения разработки программного обеспечения все программные компоненты, отвечающие за взаимодействие с сетью передачи данных, выделили в отдельное множество — «Сетевое Программное Обеспечение» и определили стандартный интерфейс взаимодействия между прикладным и сетевым программным обеспечением. Схема взаимодействия между двумя удаленными компонентами прикладного ПО с использованием сетевого ПО, каналов связи и собственно сети передачи данных изображена на приведенном ниже рисунке.
Для сетей передачи данных, построенных на различных принципах, состав сетевого ПО существенно различен. Мы будем рассматривать сетевое ПО, используемое для взаимодействия прикладных задач через сеть, построенную на принципах Internet.
На нижеследующем рисунке представлена структура такого сетевого ПО.
На нижнем уровне сетевого ПО находится компонента «Интерфейс», которая выполняет следующие функции.
1. Взаимодействует с аппаратурой канала связи, обеспечивая прием данных из канала и передачу данных в канал.
2. Выполняет упаковку подлежащих передаче в канал блоков данных в транспортные кадры, состоящие из собственно передаваемых данных и вспомогательной информации, необходимой аппаратуре канала связи для правильной доставки данных (физические адреса, контрольные суммы и тому подобное).
3. Некоторые типы интерфейсов для формирования заголовков транспортных кадров используют вспомогательную компоненту ARP, подробное описание которой дано ниже.
4. Выполняет прием транспортных кадров из канала связи, откуда извлекает данные, отправленные удаленной стороной.
Интерфейсы используются следующим уровнем сетевого ПО, уровнем IP (Internet Protocol). Компонентыпрограммного обеспечения уровня IP выполняют следующие функции.
1. Получают от лежащих выше уровней сетевого ПО (TCP, UDP и других) блоки данных, подлежащие доставке на удаленную вычислительную систему.
2. К каждому блоку данных добавляют IP—заголовок, в котором указывается адрес получателя блока данных, адрес его отправителя и некоторая вспомогательная информация. Блок данных, снабженный IP—заголовком, называется IP—пакетом.
3. Выполняют процедуру «маршрутизации», в результате которой по адресу назначения каждого IP— пакета определяется интерфейс (один из многих возможных), ответственный за дальнейшую доставку данных. При наличии подходящего интерфейса IP—пакет передается ему для передачи в канал связи.
4. Обрабатывают принятые всеми интерфейсами блоки данных, которые являются IP—пакетами, отправленными IP—уровнями сетевого ПО других вычислительных систем. Из каждого IP—пакета извлекаются данные и передаются лежащим выше уровням сетевого ПО (TCP, UDP и другим).
Самый верхний уровень сетевого ПО обеспечивает взаимодействие прикладного ПО с уровнем IP и, как следствие, с сетью передачи данных. В зависимости от потребностей прикладного ПО возможны два основных варианта взаимодействия компонент.
1. Взаимодействие с помощью непрерывного дуплексного потока информации. При такой форме взаимодействия по команде прикладного ПО одной из сторон организуется виртуальный канал передачи прикладных данных, который может быть использован для непрерывной передачи любого объема информации между парой взаимодействующих приложений. Виртуальный канал передачи данных существует вплоть до его явной отмены по команде любой из взаимодействующих сторон. В составе сетевого ПО указанный тип передачи прикладных данных организуется с помощью компоненты TCP (Transport Control Protocol). Компонента TCP выполняет следующие функции:
• получает от прикладного ПО поток подлежащих передаче данных
• выполняет разбиение этого потока на фрагменты (пакеты)
• снабжает каждый пакет TCP—заголовком и передает уровню IP для последующей доставки адресату
• принимает от уровня IP все TCP—пакеты
• по информации из их заголовков восстанавливает исходный поток прикладных данных и передает его прикладному ПО
• контролирует целостность принятого потока информации и, в случае утери сетью отдельных фрагментов этого потока, запрашивает повторную отправку утерянных данных.
2. Взаимодействие с помощью периодически отправляемых небольших порций информации – датаграмм. Периодическая передача датаграмм не требует существования постоянного виртуального канала обмена информацией и существенно проще, чем обеспечиваемая компонентой TCP процедура информационного обмена. Для поддержки датаграммной формы взаимодействия прикладного ПО в сетевом ПО имеется компонента UDP (User Datagram Protocol), выполняющая следующие функции:
• получение от прикладного ПО блоков подлежащей передаче информации
• снабжение каждого блока UDP—заголовком и передача уровню IP для последующей доставки адресату
• прием от уровня IP всех UDP—пакетов
• извлечение из них блоков прикладной информации и передача их для обработки прикладномуПО.
2. Классовая и бесклассовая адресация в IP-сети.
Одной из основных задач, возникающих при организации сети передачи данных, является задача выбора системы адресации объектов сети. Как следует из приведенной выше структуры сетевого ПО, в сети Internet существует два класса адресуемых объектов сети и, соответственно, два класса адресов.
1. Адреса точек доступа вычислительных систем к сети. Ближайшей к сети компонентой сетевого ПО являются интерфейсы, поэтому вся вычислительная система доступна (видна из сети) по адресам своих интерфейсов.
2. Идентификаторы компонент прикладного ПО, работающих на каждой вычислительной системе. На одной вычислительной системе может одновременно работать несколько прикладных задач, поэтому одного адреса интерфейса вычислительной системы не достаточно. Вместе с адресом интерфейса необходимо указывать идентификатор конкретной задачи.
Архитекторы Internet решили проблему адресации объектов сети весьма просто. Все объекты сети нумеруются, и для указания требуемого объекта просто используется его порядковый номер. В сети Internet предусмотрено два типа адресов.
1. IP—адрес точки доступа вычислительной системы к сети. Задается 32—разрядным (4 байта) двоичным числом, означающим порядковый номер данного интерфейса данной вычислительной системы в сети. Естественно, организационными мерами должна быть обеспечена уникальность IP—адресов во всей сети. При указании IP—адресов обычно пользуются их точечно—десятичной (dotted—decimal) записью. 32—разрядное число разделяется на 8—битные компоненты (октеты), каждая из которых записывается десятичным числом (в интервале от 0 до 255). Десятичные представления компонент IP—адреса отделяются друг от друга точками. Слева записывается наиболее значимая компонента 32— разрядного числа. Например, IP—адрес 1100 0010 0100 0011 0000 0011 1000 1010 должен записываться как 194.67.3.138.
2. Номер порта (идентификатор компоненты прикладного ПО). Задается 16—разрядным (2 байта) двоичным числом, означающим порядковый номер компоненты прикладного ПО на данной вычислительной системе. При указании номера порта используется его десятичное представление.
Таким образом, для указания требуемой компоненты прикладного ПО в сети необходимо указать ее полный адрес (socket), состоящий из IP—адреса интерфейса вычислительной системы и номера порта. При указании полных адресов две компоненты, их составляющие, отделяют друг от друга двоеточием. Например, полный адрес 192.168.1.12:25 обозначает прикладную задачу 25 на вычислительной системе с адресом 192.168.1.12.
Учитывая изложенное выше, можно сформулировать алгоритм работы сети передачи данных, построенной на принципах Internet, следующим образом.
1. От каждой вычислительной системы сеть получает поток IP—пакетов. В заголовке каждого из них указан IP—адрес назначения – IP—адрес вычислительной системы, которой должен быть доставлен данный IP—пакет.
2. Получив IP—пакет, каждый узел сети (маршрутизатор) должен по IP—адресу назначения определить направление дальнейшей доставки пакета. Под направлением дальнейшей доставки понимается интерфейс, которому будет передан IP—пакет для доставки на следующий узел сети.
3. Если существует путь доставки IP—пакета адресату (вычислительной системе назначения), то, пройдя через несколько узлов сети, каждый отправленный IP—пакет достигнет своего адресата.
Каждому узлу сети приходится решать задачу маршрутизации – определения интерфейса дальнейшей доставки IP—пакета по содержащемуся в его заголовке адресу назначения. Для успешного решения этой задачи каждый узел сети должен обладать информацией о топологии всей сети, то есть знать размещение всех подключенных к сети вычислительных систем. При выбранной системе 32—разрядной адресации в сети может быть до 4294967295 объектов, поэтому получение знаний о каждом из них в каждом узле сети не реально.
Для упрощения задачи маршрутизации архитекторами Internet был использован следующий прием. Каждый IP—адрес разбили на две части: номер сети (netid) и номер узла в сети (hostid). Сначала указывается номер сети, а затем – номер узла:
Номер сети Номер узла
При решении задачи маршрутизации используется только номер сети, что избавляет маршрутизаторы от необходимости получения информации обо всех подключенных к сети вычислительных системах.
Указанный подход требует от маршрутизаторов умения в каждом IP—адресе провести границу между номером сети и номером узла.
Первоначально IP—адрес предполагали разбивать только по границе октетов, а информацию о точке разбиения хранить непосредственно в первом октете адреса. В результате появились 5 классов адресов: A, B, C, D, E. Адреса классов D и E используются только для служебных целей. Адреса классов A, B, C присваиваются специальной службой Internet Network Information Center (InterNIC) по запросам крупных сетевых операторов (Service Providers). Последние, в свою очередь, производят регистрацию и подключение абонентов к сети Internet с одновременной обязательной выдачей IP—адресов из предоставленных им службой InterNIC адресных зон.
Определение принадлежности любого IP—адреса к одному из указанных классов выполняется простым анализом нескольких начальных бит адреса, как это показано на приведенном ниже рисунке.
0 8 16 24 31
Класс А
номер сети
номер узла
Класс B
1 0
номер сети
номер узла
Класс C
1 1 0
номер сети
номер узла
Класс D
1 1 1 0
групповой адрес
Класс E
1 1 1 1 0
зарезервировано
Не трудно подсчитать возможное количество сетей и возможное количество узлов в каждом классе адресов. Для справки эти данные приведены ниже.
Характеристики классов адресов
Класс
Диапазон значений
первого октета
Возможное
количество сетей
Возможное
количество узлов
A
1 - 126
128 - 191
192 – 223
224 – 239
240 - 247
126
16382
2097150
-
-
16777214
65534
254
268435454
134217726
B
C
D
E
Вместе с введением классификации были ведены специальные значения для IP—адресов. Основные из них указаны в приведенной ниже таблице.
Специальные IP-адресa
Адрес
Назначение
все нули
Данный узел
номер сети
все нули
Данная IP-сеть
все нули
номер узла
Узел в данной (локальной) IP-сети
все единицы
Все узлы в данной (локальной) IP-сети
номер сети
все единицы
Все узлы в указанной IP-сети
127
что—нибудь (часто 1)
«Петля»
Обратите внимание, что в каждой сети предусмотрено два специальных номера узла:
— все нули, используется для указания адреса сети без указания номера узла
— все единицы, используется для указания сразу всех узлов данной сети (broadcast—адрес).
Наличие специальных номеров узлов уменьшает возможное количество узлов в сети каждого класса на два. Например, в сети класса C вместо ожидаемых 256 узлов может быть только 254 узла.
К сожалению, предложенный механизм разбиения IP—адресов на составляющие его номер сети и номер узла с использованием только классов адресов оказался не пригодным. Очень быстро пространство возможных номеров сетей в каждом классе адресов оказалось исчерпанным, или близким к этому. Это привело к необходимости введения другого механизма разбиения IP—адресов на две половины с точностью до бита. Иными словами, потребовалось проводить границу между номером сети и номером узла в любом месте IP—адреса. Для этой цели было введено понятие «маска сети».
Маска сети – это 32—разрядное двоичное число, единичные разряды которого указывают на поле «номер сети» в IP—адресе, а нулевые – на поле «номер узла». Не трудно увидеть, что алгоритм «вычисления» номера сети по IP—адресу заключается в простом логическом умножении значения IP—адреса на значение маски сети.
Вычисление адреса сети
IP-адрес & Маска = Адрес сети
& — операция логического умножения
Маска сети, так же как и IP-адрес записывается в точечно—десятичной (dotted—decimal) форме, как
0 8 16 24 31
1111 1111
1111 1111
1111 1111
1110 0000
255. 255. 255. 224
3. Особенности управления IP-сетями.
Для организации связей между сетевыми устройствами (маршрутизаторами), а также между сетью и вычислительными системами используются различные каналы связи. Все многообразие используемых Internet каналов связи можно разделить на два класса.
1. Двухточечные каналы связи.
Обладают следующими свойствами:
— соединяют только два сетевых устройства
— поток данных от A попадает только к B
— отсутствует проблема адресации канального уровня и, как следствие, отсутствуют адреса канального уровня
— для двухточечных каналов чаще всего используются следующие протоколы транспортировки IP-пакетов: PPP, SLIP, CSLIP.
Благодаря отсутствию проблемы адресации канального уровня, двухточечные каналы весьма просты с точки зрения их использования интерфейсами. Все подлежащие транспортировке IP-пакеты просто упаковываются в транспортные кадры канала и извлекаются на противоположной стороне.
2. Многоточечные каналы связи.
Обладают следующими свойствами:
— соединяют два и более сетевых устройств
— поток данных от A может попасть к любому сетевому устройству, подключенному к каналу, следовательно, в заголовках кадров обязательно надо указывать адреса канального уровня для отправителя и получателя
— ярким примером многоточечных каналов связи являются локальные сети Ethernet, в которых для транспортировки IP—пакетов используются кадры формата Ethernet_II.
Необходимость использования адресов канального уровня при формировании транспортных кадров требует применения специального протокола ARP (Address Resolution Protocol), который для каждого IP- адреса назначения определяет транспортный адрес станции—получателя в данной локальной сети.
Для транспортировки по локальной сети все IP-пакеты должны быть упакованы в транспортные кадры Ethernet MAC (Media Access Control) – шести байтовый адрес канального уровня, присваиваемый изготовителем каждой интерфейсной плате локальной сети. Специальное соглашение между изготовителями интерфейсных плат гарантирует уникальность MAC—адресов в каждой локальной сети.
Форма записи MAC-адреса: 00:01:39:00:2F:54
Перед отправкой IP-пакета интерфейс должен определить значения для всех трех полей Ethernet_II заголовка. Значение поля Source интерфейс считывает непосредственно из своей Ethernet-платы. Поле Type должно иметь значение 0x0800 (в поле данных кадра находится IP-пакет). А вот значение поля Dest должно быть получено с помощью протокола ARP, схема работы которого приведена ниже.
Между множествами IP—адресов и MAC—адресов нет никакой алгоритмической связи, поэтому единственным вариантом установления их взаимно—однозначного соответствия является ARP—таблица, например такая.
IP-адрес
MAC-адрес
192.168.1.1
192.168.1.2
192.168.1.3
00:00:39:00:2F:C3
00:01:28:A7:5A:17
00:00:10:99:AC:54
Ниже приведена блок-схема работы ARP-протокола. Принцип работы ARP основан на возможности отправки Ethernet-кадров сразу всем станциям локальной сети (Broadcast-кадры).
После запуска любого интерфейса, работающего с каналом локальной сети, его ARP-таблица обычно пуста. Первый же IP-пакет, отправляемый интерфейсом, активизирует ARP-протокол. Широковещательный ARP-запрос, содержащий IP-адрес получателя, отправляется всем станциям сети. Если одна из станций «узнает» свой IP-адрес, то она обязана прислать ARP-ответ, в котором будет указан ее MAC-адрес. На основе ответа станции будет сформирована строка в ARP-таблице, что обеспечит дальнейшую работу ARP-протокола для данного IP-адреса без выдачи запросов в сеть.
Станции локальной сети в любой момент могут отключаться от сети, поэтому записи в ARP-таблице не могут храниться вечно. Их необходимо периодически удалять и заменять новыми. Для этой цели каждой записи ARP-таблицы назначается «время жизни» (обычно от 5 до 15 минут), по истечении которого запись удаляется из таблицы.
4. Задача маршрутизации.
Алгоритм работы сети передачи данных, построенной на принципах Internet:
1. От каждой вычислительной системы сеть получает поток IP—пакетов. В заголовке каждого из них указан IP—адрес назначения – IP—адрес вычислительной системы, которой должен быть доставлен данный IP—пакет.
2. Получив IP—пакет, каждый узел сети (маршрутизатор) должен по IP—адресу назначения определить направление дальнейшей доставки пакета. Под направлением дальнейшей доставки понимается интерфейс, которому будет передан IP—пакет для доставки на следующий узел сети.
3. Если существует путь доставки IP—пакета адресату (вычислительной системе назначения), то, пройдя через несколько узлов сети, каждый отправленный IP—пакет достигнет своего адресата.
Каждому узлу сети приходится решать задачу маршрутизации – определения интерфейса дальнейшей доставки IP—пакета по содержащемуся в его заголовке адресу назначения. Для успешного решения этой задачи каждый узел сети должен обладать информацией о топологии всей сети, то есть знать размещение всех подключенных к сети вычислительных систем. При выбранной системе 32—разрядной адресации в сети может быть до 4294967295 объектов, поэтому получение знаний о каждом из них в каждом узле сети не реально.
Для упрощения задачи маршрутизации архитекторами Internet был использован следующий прием. Каждый IP—адрес разбили на две части: номер сети (netid) и номер узла в сети (hostid). Сначала указывается номер сети, а затем – номер узла:
Номер сети Номер узла
При решении задачи маршрутизации используется только номер сети, что избавляет маршрутизаторы от необходимости получения информации обо всех подключенных к сети вычислительных системах.
Указанный подход требует от маршрутизаторов умения в каждом IP—адресе провести границу между номером сети и номером узла.
В локальных сетях, как и во всех многоточечных каналах связи, возможны две формы адресации — прямая и косвенная.
Прямая адресация используется для передачи IP—пакетов между станциями одного сегмента локальной сети. Рассмотрим механизм прямой адресации на следующем примере. Пусть станции A, B и C подключены к одному сегменту локальной сети, и станция A хочет отправить станции B IP-пакет. IP-уровень сетевого ПО станции A формирует IP-пакет, указывая в его заголовке следующие IP-адреса: отправителя — IP(A) и получателя — IP(B). Передавая этот IP-пакет интерфейсу, IP-уровень должен указать, что интерфейсу предписывается отправлять пакет с использованием прямой адресации. В этом случае интерфейс выполнит «упаковку» IP-пакета в транспортный кадр Ethernet_II и его отправку по следующему алгоритму.
1. MAC-адрес отправителя будет получен интерфейсом от его собственной платы локальной сети — MAC(A).
2. Для получения MAC-адреса получателя интерфейс воспользуется ARP-протоколом, который по IP-адресу станции B «узнает» ее MAC-адрес – MAC(B).
3. Транспортный кадр будет отправлен в сеть непосредственно для станции Bе интерфейс станции B его получит, извлечет IP—пакет и передаст на обработку.
Схема работы прямой адресации показана на приведенном ниже рисунке. Отличительной чертой прямой адресации является формирование MAC-адреса получателя транспортного кадра непосредственно по IP-адресу станции назначения.
Косвенная адресация должна использоваться в тех случаях, когда необходима передача IP-пакетов между станциями, расположенными в разных сегментах локальной сети, или в разных локальных сетях.
Рассмотрим механизм косвенной адресации на следующем примере. Пусть станции A, B и C подключены к одному сегменту локальной сети, а станции E, F и G – к другому. Взаимосвязь сегментов сети выполняет специальная станция D, называемая шлюзом. Пусть станция A хочет отправить IP—пакет станции E. IP—уровень сетевого ПО станции A формирует IP—пакет, указывая в его заголовке следующие IP—адреса: отправителя — IP(A) и получателя — IP(E). Поскольку станция E непосредственно со станции A не доступна, то применение прямой адресации в данном случае невозможно. Следовательно, передавая этот IP—пакет интерфейсу, IP—уровень должен указать, что интерфейс должен отправлять пакет с использованием косвенной адресации, причем, в качестве шлюза необходимо использовать станцию D. В этом случае интерфейс выполнит «упаковку» IP—пакета в транспортный кадр Ethernet_II и его отправку по следующему алгоритму.
1. MAC-адрес отправителя будет получен интерфейсом от его собственной платы локальной сети — MAC(A).
2. Для получения MAC-адреса получателя интерфейс воспользуется ARP-протоколом, который по IP—адресу шлюза (станции D) «узнает» его MAC-адрес – MAC(D).
3. Транспортный кадр будет отправлен станцией A в свой сегмент сети для станции D, интерфейс которой его получит, извлечет IP—пакет и будет принимать решение по вопросу его дальнейшей обработки.
4. По IP-адресу назначения шлюз D «поймет», что IP-пакет на самом деле предназначен не для него, а для станции с адресом IP(E). Поскольку станция E находится в одном сегменте сети со шлюзом D, то шлюз отправит этот «транзитный» IP—пакет станции E с использованием прямой адресации.