К каким протоколам относятся dns и arp
Главной ЭВМ любой системы является та, на которой работаете вы. Но помимо этой машины и маршрутизатора локальной сети, не последнюю роль играет сервер имен ( DNS -система, RFC-4032, -4034, -4035, -2137, -2052, -2136, -1996, -1918, -1793, -171213, -1706, -1664, -161112, -153637, -1401, -1383, -1183, -1101, -103435).
Сервер имен — это программа управления распределенной базой данных, в которой хранятся символьные имена сетей, различных сетевых объектов и ЭВМ вместе с их IP-адресами.
Наиболее распространенным программным продуктом, решающим данную задачу является BIND (Berkeley Internet Name Domain ). Иногда для этой цели выделяют специальную машину. Задача DNS — преобразование символьного имени в IP-адрес и, наоборот, в условиях, когда число узлов Internet растет экспоненциально, совсем не проста. Сама иерархическая система имен (DNS) настроена на упрощение решения этой проблемы. Схема взаимодействия программы пользователя с локальным и удаленными DNSсерверами показана ниже на рисунке 5.1.
Рис. 5.1. Структура взаимодействия с серверами имен
База имен является распределенной, так как нет такой ЭВМ, где бы хранилась вся эта информация . Имя содержит несколько полей (длиной не более 63 символов), разделенных точками, а его полная длина не должна превышать 255 октетов, включая байт длины. Анализ имени производится справа налево. Самая правая секция имени характеризует страну или характер организации: образовательная, коммерческая, правительственная и т.д..
Следующие символьные коды в конце Internet -имени означают функциональную принадлежность узла (таблица 5.1.).
Маленький фрагмент интернетовской иерархии имен показан на рис. 5.2. Число уровней реально больше, но обычно не превышает 5.
Рис. 5.2. Иерархия имен в ИнтернетDNS (I — домен первого уровня; II — второго уровня)
DHCP-сервер может назначить клиенту не only IP-адрес клиента, но и др параметры стека TCP/IP, необх для его эффективной работы, Напр, маску, IP-адрес маршрутизатора по умолчанию, IP-адрес сервера DNS, доменное имя компа и т. п.
Domain Name System (DNS) — служба разрешения доменных имен, базовая для Интернета. В традиционной реализации DNS требует указывать статическое соотв м/у именем хоста и его адресом. Тк служба DNS не динамична, изменения в базе данных DNS (Напр, при добавлении нового хоста или перемещении его в другую подсеть) необходимо делать вручную. DNS-сервер (или сервер имен) - программа (1 или неск), обраб запросы типа: "определить IP-адрес по имени", "определить имя по IP-адресу", "определить имя сервера, на кот должна направлятся эл почта для заданного домена", "определить имя другого сервера имен, ответственного за заданный домен". DNS (Domain Name System) - распределенная бд, поддерживающая иерархич систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для авто поиска IP-адреса по известному символьному имени узла. DNS требует статической конфигурации своих таблиц, отображающих имена компов в IP-адрес. Протокол DNS явл служебным протоколом прикладного уровня. протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной бд о соотв символьных имен и IP-адресов. Бд DNS имеет структуру дерева, наз доменным пространством имен, в кот домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой бд по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.
ARP/RARPНазначение IP-адресов узлам сети даже при не очень > размере сети может представлять для админа утомительную процедуру. Для определения локального адреса по IP-адресу используется протокол разрешения адреса (Address Resolution Protocol, ARP). Протокол ARP в зависимости от того, какой протокол канальн уровня работает в данной сети - протокол лок сети (Ethernet, Token Ring, FDDI) с возможностью широковещ доступа одновременно ко всем узлам сети или же протокол глоб сети (Х.25, frame relay), не поддерж широковещ доступ. протокол, решающий обратную задачу - нахождение IP-адреса по известному лок адресу- реверсивный ARP (Reverse Address Resolution Protocol, RARP) и используется при старте бездисковых станций, не знающих в нач момент своего IP-адреса, но знающих адрес своего сетевого адаптера. Необходимость в обращении к протоколу ARP возникает каждый раз, когда модуль IP передает пакет на уровень сетевых интерфейсов, Напр драйверу Ethernet. IP-адрес узла назначения известен модулю IP. Требуется на его основе найти МАС - адрес узла назначения. Работа протокола ARP начинается с просмотра АRР-таблицы
IP-адрес МАС-адрес Тип записи
194.85.135.75 008048ЕВ7Е60 Динамический
194.85.135.70 08005А21А722 Динамический
194.85.60.21 008048ЕВ7567 Статический
строка таблицы устанавливает соответствие м/у IP-адресом и МАС - адресом. Для сети, подключенной к сетевому адаптеру компа или к порту маршрутизатора, строится отдельная ARP-таблица. В ARP -таблице содерж записи не обо всех узлах сети, а only о тех, кот активно участвуют в сетевых операциях. В глоб сетях админу приходится вручную формировать ARP-таблицы, в кот он задает, Напр, соответствие IP-адреса адресу узла сети Х.25, кот имеет для протокола IP смысл локального адреса. автоматизации работы протокола ARP в глоб сетях. Для этой цели среди всех роутеров, подключенных к к- л глоб сети, выделяется спец роутер, кот ведет ARP-таблицу для всех остальных узлов и роутеров этой сети. При таком централизован подходе для всех узлов и роутеров вручную нужно задать only IP-адрес и локальный адрес выделенного роутера. Затем узел и роутер регистрирует свои адреса в выделенном роутере, а при необх-ти установления соответствия м/у IP-адресом и лок адресом узел обращается к выделенному роутеру с запросом и автоматически получает ответ без участия админа. Работающий Т о роутер наз ARP-сервером. Если таковой адрес в ARP-таблице отсутствует, то исходящий IP-пакет, для кот нужно было определить локальный адрес, ставится в очередь. Далее протокол ARP формирует свой запрос (ARP-запрос), вкладывает его в кадр протокола канального уровня и рассылает запрос широковещательно. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в кот указывает свой IP-адрес и свой лок адрес, а затем отправляет его уже направленно, тк в ARP-запросе отправитель указывает свой лок адрес. ARP-запросы и ответы используют один и тот же формат пакета
Протокол WINS
Протокол WINS разработан компанией MicroSoft для операционной среды Windows и предназначен для расширения возможностей NetBIOS.
В поле данных UDP-дейтограммы отклика располагается 2-байтовое поле идентификатора, аналогичного содержащемуся в пакете запроса. Далее следует поле флагов с длиной в два октета.
Поле флаги имеет следующую структуру:1
Для поля флаги имени характерна следующая структура 2 Для поля флагов имени группы характерно следующее назначение бит
Протокол WINS весьма удобен для сбора данных о МАС-адресах ЭВМ в многоранговой сети, где получить эти данные с помощью ARP-запросов невозможно. Какие-то данные можно извлечь из кэша маршрутизаторов или таблиц сетевых переключателей, если они доступны с помощью SNMP-запросов. Но WINS может дать больше данных, если рабочая станция использует операционную систему Windows. Так что, когда, скажем, программа Black ICE Defender пришлет вам MAC-адрес атакера, сидящего на другом континенте, не удивляйтесь, на помощь был призван протокол WINS.
p, blockquote 1,0,0,0,0 -->
p, blockquote 2,0,0,0,0 -->
Но в реальности данные передаются с помощью какой-нибудь технологии канального уровня, например Ethernet. Коммутаторы Ethernet ничего не знают об IP-адресах и для передачи данных используют MAC-адреса. Следовательно, необходимо средство, которое позволяет по IP-адресу компьютера определить его МАК-адрес.
p, blockquote 3,0,0,0,0 -->
Таблица соответствия ARP
Самое простое средство это таблица соответствия. Мы создаем таблицу, в которой пишем IP-адрес и соответствующий ему MAC-адрес.
p, blockquote 4,0,0,0,0 -->
p, blockquote 5,0,0,0,0 -->
Такое средство действительно используется на практике, например в Linux такая табличка хранится в файле /etc/ethers. Однако в крупной сети такой подход не работает.
p, blockquote 6,0,0,0,0 -->
ARP-запрос
Протокол ARP позволяет автоматически определить МАК-адрес компьютера по его IP-адресу. Протокол работает в режиме запрос-ответ.
p, blockquote 7,0,1,0,0 -->
Компьютер, который хочет узнать МАК-адрес по известному IP-адресу, направляет ARP запрос “У кого IP 192.168.10.43?” Запрос отправляется на широковещательный МАК-адрес (FF:FF:FF:FF:FF:FF).
p, blockquote 8,0,0,0,0 -->
p, blockquote 9,0,0,0,0 -->
И этот запрос получают все компьютеры в сети. Тот компьютер, который узнал в запросе свой IP-адрес подготавливает и отправляет ARP ответ. В ответ включается IP-адрес компьютера (IP:192.168.10.43) и его МАК-адрес (MAC: 54:BE:F7:88:15:47).
p, blockquote 10,0,0,0,0 -->
p, blockquote 11,0,0,0,0 -->
Отправитель ARP запроса получает ответ, извлекает из него МАК-адрес и использует его для передачи данных по технологии канального уровня.
p, blockquote 12,0,0,0,0 -->
p, blockquote 13,0,0,0,0 -->
Формат ARP-запроса
ARP разрабатывался, как протокол общего назначения с возможностью применять его не только в Ethernet и не только для IP-адресов. Поэтому в начале ARP пакета идет служебная информация, которая позволяет определить с каким типом сетевого оборудования и с каким протоколом сетевого уровня мы работаем.
p, blockquote 14,0,0,0,0 -->
Формат ARP-ответа
Формат ARP ответа точно такой же, только в поле “операция” стоит значение 2 и адрес, который мы ищем находится в поле локальный адрес отправителя.
p, blockquote 16,0,0,0,0 -->
p, blockquote 17,0,0,0,0 -->
Место в модели OSI
В модели взаимодействия открытых систем OSI протокол ARP находится между канальным и сетевым уровнем. Пакеты ARP вкладываются напрямую в кадры Ethernet без IP.
p, blockquote 18,0,0,0,0 -->
p, blockquote 19,0,0,0,0 -->
Из-за того, что ARP находится ниже сетевого уровня, пакеты ARP не проходят через маршрутизаторы. Таким образом, с помощью ARP можно узнать только МАК-адреса компьютеров, которые находятся в одной подсети, а адреса компьютеров, которые находятся в другой подсети отделенные маршрутизатором узнать нельзя.
p, blockquote 20,0,0,0,0 -->
p, blockquote 21,0,0,0,0 -->
p, blockquote 22,0,0,0,0 -->
p, blockquote 23,0,0,1,0 -->
ARP-таблица
После того, как МАК-адрес получателя найден, он кэшируется на компьютеры отправителя в ARP-таблице для того, чтобы не запрашивать МАК-адрес каждый раз по протоколу ARP.
p, blockquote 24,0,0,0,0 -->
p, blockquote 25,0,0,0,0 -->
p, blockquote 26,0,0,0,0 -->
Посмотреть ARP таблицу на компьютере можно с помощью команды arp -a.
Оптимизация ARP
ARP запрос отправляется на широковещательный адрес и его получают все компьютеры в сети, кроме ip-адреса для которого необходимо получить мак-адрес в ARP запрос. Отправитель также включает свой ip-адрес и свой мак-адрес, эти данные могут быть записаны всеми компьютерами в сети в ARP-таблицу, чтобы использовать когда они понадобятся.
p, blockquote 28,0,0,0,0 -->
Добровольный ARP-запрос (Gratuitous ARP)
Это запрос по ARP собственного ip-адреса, он используется для двух целей. Первая цель, быстрое оповещение всех компьютеров в сети от том, что у компьютера появился новый ip-адрес.
p, blockquote 29,0,0,0,0 -->
Другая цель это проверка использования данного ip-адреса другим компьютером. Если на добровольный ARP запрос пришел ответ, это значит, что какой-то компьютер в сети уже использует этот ip-адрес и назначать его компьютеру отправителя нельзя.
p, blockquote 30,0,0,0,0 -->
Выводы по протоколу ARP
Протокол ARP
Протокол ARP (Address Resolution Protocol, RFC-826, std-38, Протокол распознавания адреса) предназначен для преобразования IP-адресов в MAC-адреса, часто называемые также физическими адресами.
Важной особенностью интерфейса Ethernet является то, что каждая интерфейсная карта имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты. Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная записи байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам.
В сетях нет однозначного соответствия между физическим адресом сетевого интерфейса (MAC адресом сетевой карты) и его IP-адресом. Поиск по IP-адресу соответствующего Ethernet-адреса производится протоколом ARP, функционирующим на уровне доступа к среде передачи. Протокол поддерживает в оперативной памяти динамическую arp-таблицу в целях кэширования полученной информации.
Порядок функционирования протокола следующий.
С межсетевого уровня поступает IP-дейтаграмма для передачи в физический канал (Ethernet), вместе с дейтаграммой передается, среди прочих параметров, IP-адрес узла назначения. Если в arp-таблице не содержится записи об Ethernet-адресе, соответствующем нужному IP-адресу, модуль arp ставит дейтаграмму в очередь и формирует широковещательный запрос. Запрос получают все узлы, подключенные к данной сети; узел, опознавший свой IP-адрес, отправляет arp-ответ (arp-response) со значением своего адреса Ethernet .
Полученные данные заносятся в таблицу, ждущая дейтаграмма извлекается из очереди и передается на инкапсуляцию в кадр Ethernet для последующей отправки по физическому каналу. Протокол ARP может поддерживать не только Ethernet, но и другие типы физических сред.
Упрощенно, ARP-таблица состоит из двух столбцов:
IP-адрес | Ethernet-адрес |
223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
В первом столбце содержится IP-адрес, а во втором Ethernet-адрес. Таблица соответствия необходима, так как адреса выбираются произвольно и нет какого-либо алгоритма для их вычисления. Если машина перемещается в другой сегмент сети, то ее ARP-таблица должна быть изменена.
ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода:
В Linux таблицу ARP можно посмотреть, используя команду arp:
Reverse ARP, обратный ARP протокол служит для того, чтобы по имеющемуся MAC адресу узнать IP адрес. Этот протокол используется в бездисковых машинах, загружающихся по сети. Первым делом такая машина должна узнать свой IP адрес, и параметры сети, чтобы она могла обратиться по сети, допустим к TFTP серверу, с которого она будет скачивать загрузочную запись. Единтсвенное, что знает о себе эта машина — её MAC адрес.
Она посылает в сеть широковещательный запрос с поиском RARP сервера и спрашивает у него, какой IP адрес будет ей соответствовать, если у неё вот такой MAC адрес. Это не тоже самое, что DHCP, хотя смысл похожий.
Читайте также: