Назначение маски подсети.

Тема в разделе "WASM.NETWORKS", создана пользователем Booster, 13 июн 2009.

  1. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Собственно везде предназначение маски описывается как для выделения адреса подсети и внутрисетевого адреса. Для роутера это важно, для определения в какую подсеть передавать запрос. Но для чего это нужно обычному компу в сети? Раньше я думал, что не зачем, но теперь засомневался. Если я ставлю маску - 255.0.0.0 то tracert показывает прямой маршрут. Если же 255.255.255.0, то через шлюз. Объясните, как такое может быть, и как оно работает?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Снифер показывает, что в случае маски - 255.255.255.0, запрос отправляется на физический адрес шлюза, а ответ приходит с физ. адреса трассируемого компа. В случае же маски 255.0.0.0, и в запросе и ответе физ. адрес компа. Фигня какая-то. Как это понимать?
     
  3. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Всё понял. Я просто протупил, поставил фильтр в снифере только на трассируемый комп.
    Теперь смысл маски ясен. ^)
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Не за что, обращайтесь :)
     
  5. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Booster, так ты бы отбил ответ, на тот случай если кто-то вдруг воспользуется поиском :)

    Про маски - если ip.dest попадает в под-сеть, то происходит ARP resolution этого самого "dest" с последующим eth unicast frame прямо адресату. В остальных случаях eth frame отправляется на layer2 адрес gateway (ессно после ARP). Gateway должен сделать routing на основе своих таблиц.
     
  6. ant0xa

    ant0xa New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2009
    Сообщения:
    29
    s0larian
    не совсем верно. в остальных случаях смотрится локальная таблица маршрутизации. Если в локальной таблице маршрутизации есть маршрут на сеть которой пренадлежит ip.dest, то происходит ARP resolution шлюза для этой сети и фрейм/мы с IP пакетом уходят на него. Если такой маршрут не найден, то на default gateway, если он есть, аналогичным образом.
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    ant0xa
    Спасибо. Написал такую лабуду - route add dest_addr mask 255.255.255.255 my_addr. И теперь с dst_addr прямой маршрут.
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Но чего я не понял, так это почему в таблице маршрутизации нельзя указать шлюз вне сети, в которой находиться основной шлюз. Например основной шлюз - 10.10.10.1. Маска - 255.255.255.0. Если написать - route add dest_addr mask 255.255.255.255 gateway_addr, где gateway_addr - от 10.10.10.0 до 10.10.10.254, то запись добавляется. Если адрес шлюза выходит за эти пределы, то - "Сбой добавления маршрута: Либо индекс интерфейса указан неверно, либо шлюз не лежит в той же подсети, что и данный интерфейс. Проверьте таблицу IP-адресов этого компьютера." Про 10.0.0.255 понятно, про остальные нет.
     
  9. ant0xa

    ant0xa New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2009
    Сообщения:
    29
    Именно так.

    Booster
    Шлюз обязаельно должен быть в твоей сети т.к. пакеты которые идут до шлюза не пакеты вовсе а фреймы в данном случае эзернетные и дойти до шлюза они должны без использования маршрутизаторов => шлюз должен находицца в одной сети с хостом. Винде правда на это правило положить и шлюз может быть из другой сети в томже эзернет сегменте и всё будет работать хотя в теории и не должно.