Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Администрирование ИС ПОСОБИЕ.doc
Скачиваний:
60
Добавлен:
24.12.2018
Размер:
3.38 Mб
Скачать

2.2.2. Протокол arp. Отображение канального уровня на уровень межсетевого обмена

Прежде чем начать описание протокола ARP необходимо сказать несколько слов о протоколе Ethernet.

Технология Ethernet. Кадр Ethernet содержит адрес назначения, адрес источника, поле типа и данные. Размер адреса Ethernet - 6 байтов. Каждый сетевой адаптер имеет свой сетевой адрес. Адаптер "слушает" сеть, принимает адресованные ему кадры и широковещательные кадры с адресом FF:FF:FF:FF:FF:FF, отправляет кадры в сеть.

Технология Ethernet реализует метод множественного доступа с контролем несущей и обнаружением столкновений. Этот метод предполагает, что все устройства взаимодействуют в одной среде. В каждый момент времени передавать может только одно устройство, а все остальные только слушать. Если два или более устройств пытаются передать кадр одновременно, то фиксируется столкновение и каждое устройство возобновляет попытку передачи кадра через случайный промежуток времени. Одним словом, в каждый момент времени в сегменте узла сети находится только один кадр.

Понятно, что чем больше компьютеров подключено в сегменте Ethernet, тем больше столкновений будет зафиксировано и тем медленнее будет работать сеть. Кроме того, если в сети стоит сервер, к которому часто обращаются, то это также снизит общую производительность сети.

Важной особенностью интерфейса Ethernet является то, что каждая интерфейсная карта имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты (таблица 2.1). Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес. Адрес записывается в виде шести групп шестнадцатиричных цифр по две в каждой (шестнадцатеричная записи байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам.

Таблица 2.1 <PПрефиксы адресов Ethernet интерфейсов(карт) и Производители, за которыми эти префиксы закреплены

Префикс

Производитель

Префикс

Производитель

00:00:0C

Cisco

08:00:0B

Unisys

00:00:0F

NeXT

08:00:10

T&T

00:00:10

Sytek8:00:11

Tektronix

00:00:1D

Cabletron

08:00:14

Exelan

00:00:65

Network General

08:00:1A

Data General

00:00:6B

MIPS

08:00:1B

Data General

00:00:77

Cayman System

08:00:1E

Sun

00:00:93

Proteon

08:00:20

CDC

00:00:A2

Wellfleet

08:00:2%

DEC

00:00:A7

NCD

08:00:2B

Bull

00:00:A9

Network Systems

08:00:38

Spider Systems

00:00:C0

Western Digital

08:00:46

Sony

00:00:C9

Emulex

08:00:47

Sequent

00:80:2D

Xylogics Annex

08:00:5A

IBM

00:AA:00

Intel

08:00:69

Silicon Graphics

00:DD:00

Ungermann-Bass

08:00:6E

Exelan

00:DD:01

Ungermann-Bass

08:00:86

Imageon/QMS

02:07:01

MICOM/Interlan

08:00:87

Xyplex terminal servers

02:60:8C

3Com

08:00:89

Kinetics

08:00:02

3Com(Bridge)

08:00:8B

Pyromid

08:00:03

ACC

08:00:90

Retix

08:00:05

Symbolics

AA:00:03

DEC

08:00:08

BBN

AA:00:04

DEC

08:00:09

Hewlett-Packard

 

 

Протокол ARP (RFC 826). Address Resolution Protocol используется для определения соответствия IP-адреса адресу Ethernet. Протокол используется в локальных сетях. Отображение осуществляется только в момент отправления IP-пакетов, так как только в этот момент создаются заголовки IP и Ethernet. Отображение адресов осуществляется путем поиска в ARP-таблице. Упрощенно, 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 можно посмотреть, используя команду arp:

quest:/usr/paul:\[8\]%arp -a

paul.polyn.kiae.su (144.206.192.34) at 0:0:1:16:2:45

polyn.net.kiae.su (144.206.130.137) at 0:1:1b:9:d0:90

arch.kiae.su (144.206.136.10) at 0:0:c:1b:ae:7b

demin.polyn.kiae.su (144.206.192.4) at 0:0:1:16:29:80

quest:/usr/paul:\[9\]%

Правда здесь существуют нюансы. В каждый момент времени таблица ARP разная. Это хорошо видно на следующем примере:

Ix: {8} arp -a

polyn.net.kiae.su (144.206.130.137) at 0:1:1b:9:d0:90 permanent

quest.net.kiae.su (144.206.130.138) at 0:0:1b:12:32:32

? (144.206.140.201) at 0:0:c0:89:c4:a4

polyn.net.kiae.su (144.206.160.32) at 0:80:29:b1:9f:e3 permanent

Ix.polyn.kiae.su (144.206.160.33) at (incomplete)

Ix: {9} ping apollo.polyn.kiae.su

PING apollo.polyn.kiae.su (144.206.160.40): 56 data bytes

64 bytes from 144.206.160.40: icmp_seq=0 ttl=255 time=1.409 ms

64 bytes from 144.206.160.40: icmp_seq=1 ttl=255 time=0.799 ms

64 bytes from 144.206.160.40: icmp_seq=2 ttl=255 time=0.797 ms

64 bytes from 144.206.160.40: icmp_seq=3 ttl=255 time=0.857 ms

^C

--- apollo.polyn.kiae.su ping statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max = 0.797/0.965/1.409 ms

Ix: {10} arp -a

polyn.net.kiae.su (144.206.130.137) at 0:1:1b:9:d0:90 permanent

quest.net.kiae.su (144.206.130.138) at 0:0:1b:12:32:32

? (144.206.140.201) at 0:0:c0:89:c4:a4

polyn.net.kiae.su (144.206.160.32) at 0:80:29:b1:9f:e3 permanent

Ix.polyn.kiae.su (144.206.160.33) at (incomplete)

apollo.polyn.kiae.su (144.206.160.40) at 8:0:9:b:3d:b8

Ix: {11}

В приведенном примере подчеркиванием выделены команды, которые пользователь вводил из командной строки. При первом использовании команды ARP в таблице ARP нет машины apollo.polyn.kiae.su, хотя она находится в том же сегменте Ethernet, что и машина polyn.net.kiae.su, на которой выполняются команды. После выполнения команды ping в таблицу добавляется новая строка, которая задает соответствие Ethernet-адреса машины apollo и ее IP-адреса.

Кроме этого, в обоих отчетах arp есть строка с пустым именем машины, а точнее символом "?" в имени машины. В разделе 3.1 будут подробно рассмотрены вопросы определения имени машины по IP-адресу и IP-адреса по имени машины. В данном случае для машины с адресом 144.206.140.201 просто не определено соответствие между IP-адресом и именем машины.

При работе в локальной IP-сети при обращении к какому-либо ресурсу, например архиву FTP, его Ethernet-адрес ищется по IP-адресу в ARP-таблице и после этого запрос отправляется на сервер.

ARP-таблица заполняется автоматически, что хорошо видно из приведенного ранее примера. Если нужного адреса в таблице нет, то в сеть посылается широковещательный запрос типа "чей это IP-адрес?". Все сетевые интерфейсы получают этот запрос, но отвечает только владелец адреса. При этом существует два способа отправки IP-пакета, для которого ищется адрес: пакет ставится в очередь на отправку или уничтожается. В первом случае за отправку отвечает модуль ARP, а во втором случае модуль IP, который повторяет посылку через некоторое время. Широковещательный запрос выглядит так:

IP-адрес отправителя

223.1.2.1

Ethernet-адрес отправителя

08:00:39:00:2F:C3

Искомый IP-адрес

222.1.2.2

Искомый Ethernet-адрес

<пусто>

Ответ машины, чей адрес ищется, будет выглядеть следующим образом:

IP-адрес отправителя

222.1.2.2

Ethernet-адрес отправителя

08:00:28:00:38:А9

IP-адрес получателя

223.1.2.1

Ethernet-адрес получателя

08:00:39:00:2F:C3

Полученный таким образом адрес будет добавлен в ARP-таблицу.

Следует отметить, что если искомого IP-адреса нет в локальной сети и сеть не соединена с другой сетью шлюзом, то разрешить запрос не удается. IP-модуль будет уничтожать такие пакеты, обычно по time-out (превышен лимит времени на разрешение запроса). Модули прикладного уровня, при этом, не могут отличить физического повреждения сети от ошибки адресации.

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

Если машина соединена с несколькими сетями, т.е. она является шлюзом, то в таблицу ARP вносятся строки, которые описывают как одну, так и другую IP-сети. При использовании Ethernet и IP каждая машина имеет как минимум один адрес Ethernet и один IP-адрес. Собственно Ethernet-адрес имеет не компьютер, а его сетевой интерфейс. Таким образом, если компьютер имеет несколько интерфейсов, то это автоматически означает, что каждому интерфейсу будет назначен свой Ethernet-адрес. IP-адрес назначается для каждого драйвера сетевого интерфейса. Грубо говоря, каждой сетевой карте Ethernet соответствуют один Ethernet-адрес и один IP-адрес. IP-адрес уникален в рамках всего Internet.

Назад | Содержание | Вперед