Лекция6.Протокол ARP,класс и маска IP адресов

Для передачи информации между двумя хостами в сети необходимо знать четыре адреса:

-Destination MAC address

-Source MAC address

-Destination IP address

-Source IP address

He зная хотя бы один из этих адресов, информацию передать будет невозможно.

На канальном уровне сетевая карта всегда знает свой адрес (MAC адрес источника), если сетевая карта не знает своего MAC адреса, значит, она имеет явные неисправности и работа такой сетевой карты в сети не будет нормальной.

Свой IP адрес (адрес источника) задаётся в настройках операционной системы, его можно менять и он не «прикреплён» к сетевой карте как MAC адрес. Этот параметр устанавливается пользователем и поэтому также доступен.

IP адрес удалённого устройства либо задаётся в явном виде (указывается в команде на формирование пакетов, к этому узлу, например, ping 192.168.0.1),либо в неявном, например посредством службы доменных имён или таблицы хостов. Адрес, который задан неявно всё равно будет транслирован в стандартный IP адрес и передан обратно станции отправителю для формирования пакетов. Итак, IP адрес назначения также задаётся пользователем.

А как узнать MAC адрес назначения? Ведь без него не получится сформировать из пакета фрейм и отправить в сеть. Для этого был создан протокол Address Resolution Protocol (ARP), целью которого является раскрытия MAC адреса определённого устройства по IP адресу этого устройства. Каждое «разумное» устройство в сети составляет так называемые ARP таблицы, в которых указаны пары IP и MAC адресов для создания фреймов, зная сетевой адрес назначения.

Рассмотрим алгоритм работы протокола. Для начала разберём ситуацию, когда сегмент сети представляет единый домен коллизии.

 

Рассмотрим такую топологию, где центральным звеном является концентратор. Если любая станция будет отправлять данные, то её фреймы будут отправлены на все порты, кроме порта источника и все станции, кроме отправляющей получат эти фреймы. Соответственно те, станции, чей MAC адрес не указан во фрейме в поле адреса назначения будут отбрасывать фреймы, но просматривая адресацию они будут дополнять свою таблицу соответствий IP и MAC адресов. Когда станции понадобится отослать фрейм другой станции, она посмотрит в свою таблицу и зная IP адрес интересующей станции найдёт соответствующий адрес канального уровня.

Для того, чтобы таблица не переполнялась, был введён таймер старения ARP записей в таблицах (aging timer). По умолчанию, должно пройти 30 секунд, перед тем, как запись в таблице будет признана устаревшей и удалена. Таймер старения записи обнуляется каждый раз, когда от устройства с адресами, которые указаны в записи приходит какой либо фрейм с данными.

Теперь рассмотрим случай, когда в сегменте находится несколько доменов коллизии.

 

Из-за того, что центром топологии является коммутатор, а не концентратор, как в предыдущем случае, каждая станция находится в своём домене коллизии. Коммутатор не передаёт фреймы, которые адресованы одной станции на все порты, вместо этого он смотрит в таблицу коммутации и точно определяет на какой порт необходимо отправить фрейм, чтобы он дошёл до нужной станции. В связи с этим, заполнение ARP таблиц, как было описано в предыдущем случае невозможно. В том случае, если станция хочет отправить фрейм другой станции, но она не знает MAC адрес назначения, ей необходимо отправить специальный фрейм, который называется ARP Request (ARP запрос).

 

 

Обратим внимание на строение и адресацию фрейма, свой IP адрес и адрес назначения станция знает, поэтому с формированием пакета никаких проблем не возникает, а вот с адресацией канального уровня есть некоторый нюанс. Свой MAC адрес станция просто обязана знать, а в поле MAC адреса назначения ставится адрес широковещательной рассылки, для того чтобы все станции в пределах широковещательного домена получили этот фрейм.

После отправки фрейма станцией, его получит коммутатор, он посмотрит в поле MAC адреса назначения и увидев там широковещательный адрес разошлёт этот фрейм на все порты кроме порта источника. Обе станции в топологии получат этот фрейм, обе раскроют фрейм, так как он адресован всем, а вот на сетевом уровне на этот пакет ответит только та станция, IP адрес которой совпадает с IP адресом, который указан в пакете в

поле назначения.

 

Рисунок 76

 

Эта станция, формирует ARP Response (ARP ответ), пакет, который отправляется станции, откуда пришёл запрос для раскрытия своего MAC адреса. Все значения полей, которые необходимы для отправки фрейма известны, так как пришедший запрос шёл от конкретной станции с указанным адресом канального уровня.

После получения фрейма, коммутатор отправит его на конкретный один порт, на котором есть запись о станции с MAC адресом 3333.3333.3333

Когда станция получит ARP ответ, она дополнит свою ARP таблицу и может теперь Рисунок 76передавать данные.

Несколько доменов коллизии

 

ARP Table
IP Address MAC Address
10.0.0.2 2222.2222.2222
   
   

Рисунок 77

В том случае, если ARP ответ не приходит, станция делает абсолютно справедливый вывод о том, что либо станция с заданным IP адресом не доступна (выключена и т.д.), либо устройства с таким сетевым адресом вообще нет в сегменте сети.

Формы записи IP-адреса. IP-адрес имеет длину 4 байта (32 бита) и состоит из двух логических частей – номера сети и номера узла в сети. Наиболее употребляемой формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной фор­ме и разделенных точками, например: 126.10.2.30. Этот же адрес может быть представлен в двоичном формате: 01111110 00001010 00000010 00011110.

А также в шестнадцатеричном формате:7F.0A.02.1D.

Классы IP-адресов. Традиционная схема деления IP-адреса на номер сети и номер узла основана на понятии класса, который определяется значениями нескольких первых битов адреса. Именно потому, что первый байт адреса 185.23.44.206 попадает в диапазон 128-191, мы можем сказать, что этот адрес относится к классу B, а значит, номером сети являются первые два байта IP-адреса, дополненные двумя нулевыми байтами – 185.23,0.0, а номером узла – два младшие байта, дополненные с начала двумя нулевыми байтами – 0.0.44.206.

Принадлежность IP-адреса к классу определяется значениями первых битов адреса.

Если адрес начинается с 0, то этот адрес относится к классу A, в котором под номер сети отводится один байт, а остальные три байта интерпретируются как номер узла в сети. Сети, имеющие номера в диапазоне от 1 (00000001) до 126 (01111110), называются сетями класса А. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) Сетей клас­са А немного, зато количество узлов в них может достигать 224, то есть 16777216 узлов.

Если первые два бита адреса равны 10, то адрес относится к классу В. В адресах: класса В под номер сети и под номер узла отводится по два байта. Сети, имеющие номера в диапазоне от 128.0 (1000000000000000) до 191.255 (1011111111111111), называются сетями класса В. Таким образом, сетей класса В больше, чем сетей класса А, но размеры ихменьше, максимальное количество узлов в них составляет 216 (65536).

Если адрес начинается с последовательности битов 110, то это адрес класса С. В этом случае под номер сети отводился 24 бита, а под номер узла – 8 бит. Сети класса C наиболее распространены, но число узлов в них ограничено значением 28 (256) узлов.

Еще два класса адресов D и Е не связаны непосредственно с сетями. Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес (multicast). Групповой адрес идентифицирует группу узлов (сетевых интерфейсов), которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает наряду с обычным индивидуальным IP-адресом еще один групповой адрес. Если при от­правке пакета в качестве адреса назначения указан адрес класса D, то такой па­кет должен быть доставлен всем узлам, которые входят в группу.

Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу E. Адреса этого класса зарезервированы для будущих применений. В таблице 9.1. приведены диапазоны номеров сетей и максимальное число узлов, соответствующих каждому классу сетей.

 

Т а б л и ц а 9.1 -. Характеристики адресов разного класса

Класс Первые биты Наименьший номер сети Наибольший номер сети Максимальное число узлов в сети
А 1.0.0.0 126.0.0.0 224
В 128.0.0.0 191.255.0.0 216
С 192.0.1.0 223.255.255.0 28
D 224.0.0.0 239.255.255.255 Multicast
Е 240.0.0.0 247.255.255.255 Зарезервирован

 

Большие сети получают адреса класса A, средние – класса B, а небольшие – класса С:

- если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом на­значения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast). Ограниченность в данном случае означает, что пакет не выйдет за границы маршрутизатора ни при каких усло­виях;

- если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast).

Специальные адреса, состоящие из последовательностей нулей, могут быть использованы только в качестве адреса отправителя, а адреса, состоящие из последовательностей единиц, — только в качестве адреса получателя.