Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
makar
Зарегистрирован: 24.04.2012 Сообщения: 3 Откуда: Krasnoyarsk
|
Добавлено: Вт Апр 24 2012 09:47 Заголовок сообщения: ARP в Windows |
|
|
Всем, привет!
Нет понимания каким образом работает ARP в Windows и есть ли различие между его работой в Win7 и WinXP? Есть куча вопросов:
1. Столкнулся со следующей проблемой:
Несколько хостов (Win7) и принтер включены в свитч Cisco (в одной сети). Далее этот свитч подключен к роутеру, который задан шлюзом на хостах.
При потере связи между свитчом и роутером хосты не видят друг друга и принтер. То есть, если указываем шлюз на Win7, хост отправляет ему ARP запрос, узнает его MAC и при отправке любых пакетов отправляет эти пакеты на MAC шлюза? Если шлюз будет недоступен, но нужен будет доступ к принтеру из той же локальной сети то хост с Win7 не отправит стандартный ARP запрос для того чтобы узнать MAC принтера?
2. К свитчу Cisco подключаем хост Win7 и хост с WinXP. Задаем им IP из одной подсети, шлюзы не указываем. Получаем: от хоста с Win7 к хосту с WinXP ping проходит, а от WinXP к Win7 нет. Если указать шлюзами друг друга, такая же ситуация. Тут в чем подвох?
3. На роутерах Cisco есть такая штука, как Proxy ARP. Вратце: если на интерфейс роутера приходит ARP-запрос, роутер проверяет знает ли он маршрут к той сети в диапазоне которой находится IP адрес назначения в пакете ARP. Если роутер знает маршрут к этой сети, он отвечает на ARP-запрос, указывая в качестве MAC адреса, МАС адрес своего интерфейса. Заправшивающий хост принимает это ответ и далее будет отправлять все пакеты, предназначенные для этого IP на МАС адрес интерфейса роутера, которы будет успешно отправлять их по имеющемуся у него марщруту. Вопрос: зачем тогда на Windows вообще указывать шлюз? Но без него передача данных не работает. То есть, если Windows хочет отправить паке на неизвестный IP, шлюх по умолчанию не настроен, то Винда не сгенерирует обычный ARP-запрос и не отправит его по всем свом сетевым интерфейсам?
Тысячу извинений за такие объемы, но вопросы уже давно не дают покоя  |
|
Вернуться к началу |
|
 |
Andrew Grekhov
Зарегистрирован: 29.06.2005 Сообщения: 200
|
Добавлено: Ср Апр 25 2012 14:01 Заголовок сообщения: |
|
|
re 2.
Настраивай файервол на win7.
Там более мудрёно чем на XP, но более грамотно.
3.
Разбирайся как вообще работает маршрутизация.
Маршрутизатор, для твоей сети он же daflaut gate way. Служит для пересылки пакетов ВНЕ сети которая прописанна на сетевом интерфейсе...
Лень всё описывать, в инете документации слишком много.
PS. Я когда с маршрутизацией разбирался доку на циску читал - самое то что надо. |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Апр 26 2012 14:35 Заголовок сообщения: |
|
|
1. Скажи какие IP и маски на компах, принтере, роутере - получишь правильный ответ. Так же может быть важна настройка свича.
2. Проблема в FireWall на Windows 7 и Windows XP, которые включены по умолчанию и имеют разные настройки. В Windows 7 вообще много чего перепахали.
3. Стандартной практикой является указание шлюза по умолчанию. Proxy ARP - это костыль, который надо включать иногда, когда это действительно надо. В больших и сложных сетях включенные Proxy ARP больше вредит, чем помогает.
Как работает маршрутизация, написано в тыще мануалов. Надо хоть один прочитать, после этого задавать вопросы. |
|
Вернуться к началу |
|
 |
makar
Зарегистрирован: 24.04.2012 Сообщения: 3 Откуда: Krasnoyarsk
|
Добавлено: Чт Апр 26 2012 18:00 Заголовок сообщения: |
|
|
1. IP на хостах, принтере, роутере из одной сети 10.129.19.0/24. На свитче все в одной VLAN, свитч не провайдерский (типа Metro Ethernet), то есть на свитче блокировка трафик от порта порту отсутствует. Вопрос не в маршрутизации, основы которой мне известны, а в том как ведет себя Windows 7 в случае если шлюз недоступен и я с этой винды пытаюсь установить соединение на IP из той же локальной сети, что и хост. Будет Windows 7 отправлять стандартный ARP запрос к этому IP чтобы узнать какой у него MAC и достучаться до него на канальном уровне? Или будет пытаться ломиться на MAC шлюза по умолчанию.
2. Спасибо дело правда было в нем.
3. Опять вопрос не в маршрутизации, а снова в том что будет делать винда, если шлюз по умолчанию не настроен, и я пытаюсь достучаться на:
- IP из той же подсети;
- IP из другой подсети. |
|
Вернуться к началу |
|
 |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Апр 27 2012 21:00 Заголовок сообщения: |
|
|
1. Пропадание роутера из сети 10.129.19.0/24 (по любым причинам) эквивалентно выключению любого компа из этой же сети. При этом принтер и обращение к другим компам той же сети не должно пропадать!
Если получатель трафика - комп в локальной сети (что определяется IP и маской), то будет послан широковещательный ARP-запрос с целью определения MAC-адреса получателя (если его адреса еще нет в кэше).
На MAC-роутера будет послан пакет только в том случае, если получатель находится за пределами IP-сети компа.
3. Если шлюз по умолчанию не настроен, то может быть разное. Зависит от реализации и установленных патчей и другого ПО. Я тесно сталкивался с писателями реализаций прикладных протоколов. Там пипец какие чудеса бывают. Поэтому уже давно никому не верю. Снифер и открытая спецификация протокола - наше все. |
|
Вернуться к началу |
|
 |
makar
Зарегистрирован: 24.04.2012 Сообщения: 3 Откуда: Krasnoyarsk
|
Добавлено: Вс Апр 29 2012 17:46 Заголовок сообщения: |
|
|
and3008, спасибо, думал также. На днях запущу снифер, посмотрю где там затык. |
|
Вернуться к началу |
|
 |
mare
Зарегистрирован: 12.09.2003 Сообщения: 222
|
Добавлено: Чт Июл 12 2012 18:40 Заголовок сообщения: |
|
|
Если ещё актуально...
makar писал(а): | 3. ... что будет делать винда, если шлюз по умолчанию не настроен, и я пытаюсь достучаться на:
- IP из той же подсети;
- IP из другой подсети. |
Вне зависимости от типа операционной системы на хосте, при попытке отправить ip-пакет в общем случае делается следующее:
а) ищется интерфейс на хосте, которому принадлежит искомый ip-адрес. Далее - либо ip-пакет передается для дальнейшей обработке драйверу сетевой карты соответствущего интерфейса (см.пункт б), либо на шлюз по-умолчанию (см.пункт в);
б) Если выяснится, что искомый ip-адрес входит в подсеть на каком-либо интерфейсе, ip-пакет передается соответствующему драйверу сетевой карты (драйверу интерфейса, для которого прописана нужная ip-подсеть). При этом драйвер сетевухи поступает стандартно - сначала ищет искомый mac-адрес получателя по сохраненной ARP-таблице, а в случае отсутствия нужной записи в ней - посылает arp-запрос для определения mac-адреса получателя хоста по ip-адресу. При получении ответа на arp-запрос заносит его в arp-таблицу, а ip-пакет направляет по найденному mac-адресу, отправителю передается код возврата, что всё ОК. При неопределении mac-адреса получателя в течение определенного времени, отправителю возвращается ошибка.
в) Если выяснится, что искомый ip-адрес не принадлежит каким-либо известным подсетям, то ищется шлюз по-умолчанию и ip-пакет тупо перенаправляется на шлюз по-умолчанию. Если же шлюз по-умолчанию не задан (Ваш вариант), то драйвер не будет посылать никакого запроса и сразу возвратит ошибку.
Примечание:
А случае, если в настройках сети заданы несколько адресов для шлюза по-умолчанию, то в зависимости от реализации, ip-пакет для адресата в другой сети либо будет передан сначала по самому "дешевому" маршруту, а при неполучении ответа - по более "дорогому", либо одновременно на оба шлюза по-умолчанию, либо поочередно на тот или иной шлюз по-умолчанию, в зависимости от объёма ранее переданного трафика. Но здесь - полная стихия, определяемая настройками сети и алгоритмом реализации. И разобраться здесь может помочь только техническая документация и совет and3008 - снифер. |
|
Вернуться к началу |
|
 |
|