Еще раз про IP-адреса, маски подсетей и вообще

    Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

    IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

    Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
    232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
    Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


    Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

    В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.

    Однако, когда IP-адрес присваивается интерфейсу (сетевому адаптеру или как там его еще называют) компьютера или маршрутизатора, то кроме самого адреса данного устройства ему назначают еще и маску подсети. Еще раз: маска не передается в заголовках IP-пакетов.

    Компьютерам маска подсети нужна для определения границ — ни за что не угадаете чего — подсети. Чтоб каждый мог определить, кто находится с ним в одной [под]сети, а кто — за ее пределами. (Вообще-то можно говорить просто «сети», часто этот термин используют именно в значении «IP-подсеть».) Дело в том, что внутри одной сети компьютеры обмениваются пакетами «напрямую», а когда нужно послать пакет в другую сеть — шлют их шлюзу по умолчанию (третий настраиваемый в сетевых свойствах параметр, если вы помните). Разберемся, как это происходит.

    Маска подсети — это тоже 32-бита. Но в отличии от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идет сколько-то единиц, потом сколько-то нулей. Не может быть маски

    120.22.123.12=01111000.00010110.01111011.00001100.

    Но может быть маска

    255.255.248.0=11111111.11111111.11111000.00000000.

    Сначала N единиц, потом 32-N нулей. Несложно догадаться, что такая форма записи является избыточной. Вполне достаточно числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы несут один и тот же смысл, но первая заметно удобнее.

    Чтобы определить границы подсети, компьютер делает побитовое умножение (логическое И) между IP-адресом и маской, получая на выходе адрес с обнуленными битами в позициях нулей маски. Рассмотрим пример 192.168.11.10/21:

    11000000.10101000.00001011.00001010
    11111111.11111111.11111000.00000000
    ----------------------------------------------
    11000000.10101000.00001000.00000000 = 192.168.8.0

    Обстоятельство второе. Любой уважающий себя администратор обязан уметь переводить IP-адреса из десятичной формы в двоичную и обратно в уме или на бумажке, а также хорошо владеть двоичной арифметикой.

    Адрес 192.168.8.0, со всеми обнуленными битами на позициях, соответствующих нулям в маске, называется адресом подсети. Его (обычно) нельзя использовать в качестве адреса для интерфейса того или иного хоста. Если же эти биты наоборот, установить в единицы, то получится адрес 192.168.15.255. Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда. Тем не менее этот адрес также нельзя (обычно) использовать в качестве адреса хоста. Итого два адреса в каждой подсети — на помойку. Все остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно являются полноправными адресами хостов внутри подсети 192.168.8.0/21, их можно использовать для назначения на компьютерах.

    Таким образом, та часть адреса, которой соответствуют единицы в маске, является адресом (идентификатором) подсети. Ее еще часто называют словом префикс. А часть, которой соответствуют нули в маске, — идентификатором хоста внутри подсети. Адрес подсети в виде 192.168.8.0/21 или 192.168.8.0 255.255.248.0 можно встретить довольно часто. Именно префиксами оперируют маршрутизаторы, прокладывая маршруты передачи трафика по сети. Про местонахождение хостов внутри подсетей знает только шлюз по умолчанию данной подсети (посредством той или иной технологии канального уровня), но не транзитные маршрутизаторы. А вот адрес хоста в отрыве от подсети не употребляется совсем.

    Обстоятельство третье. Количество хостов в подсети определяется как 232-N-2, где N — длина маски. Чем длиннее маска, тем меньше в ней хостов.

    Из данного обстоятельства в частности следует, что максимальной длиной маски для подсети с хостами является N=30. Именно сети /30 чаще всего используются для адресации на point-to-point-линках между маршрутизаторами.

    И хотя большинство современных маршрутизаторов отлично работают и с масками /31, используя адрес подсети (нуль в однобитовой хоствой части) и бродкаст (единица) в качестве адресов интерфейсов, администраторы и сетевые инженеры часто попросту боятся такого подхода, предпочитая руководствоваться принципом «мало ли что».

    А вот маска /32 используется достаточно часто. Во-первых, для всяких служебных надобностей при адресации т. н. loopback-интерфейсов, во-вторых, от криворукости: /32 — это подсеть, состоящая из одного хоста, то есть никакая и не сеть, в сущности. Чем чаще администратор сети оперирует не с группами хостов, а с индивидуальными машинами, тем менее сеть масштабируема, тем больше в ней соплей, бардака и никому непонятных правил. Исключением, пожалуй, является написание файрвольных правил для серверов, где специфичность — хорошее дело. А вот с пользователями лучше обращаться не индивидуально, а скопом, целыми подсетями, иначе сеть быстро станет неуправляемой.


    Интерфейс, на котором настроен IP-адрес, иногда называют IP-интерфейсом или L3-интерфейсом («эл-три», см. Модель OSI).

    Прежде чем посылать IP-пакет, компьютер определяет, попадает ли адрес назначения в «свою» подсеть. Если попадает, то шлет пакет «напрямую», если же нет — отсылает его шлюзу по умолчанию (маршрутизатору). Как правило, хотя это вовсе необязательно, шлюзу по умолчанию назначают первый адрес хоста в подсети: в нашем случае 192.168.8.1 — для красоты.

    Обстоятельство четвертое. Из сказанного в частности следует, что маршрутизатор (шлюз и маршрутизатор — это одно и то же) с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом между, например, хостами 192.168.8.5 и 192.168.8.7. Очень частой ошибкой начинающих администраторов является желание заблокировать или как-то еще контролировать с помощью шлюза трафик между хостами в рамках одной подсети. Чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.

    Таким образом в сети (даже самого маленького предприятия) обычно должно быть несколько IP-подсетей (2+) и маршрутизатор (точнее файрвол, но в данном контексте можно считать эти слова синонимами), маршрутизирующий и контролирующий трафик между подсетями.


    Следующий шаг — разбиение подсетей на более мелкие подсети. Полюбившуюся нам сеть 192.168.8.0/21 можно разбить на 2 подсети /22, четыре подсети /23, восемь /24 и т. д. Общее правило, как не сложно догадаться, такое: K=2X-Y, где K — количество подсетей с длиной маски Y, умещающихся в подсеть с длиной маски X.

    Обстоятельство пятое. Как и любому приличному IT-шнику, администратору сети, если только он получает зарплату не за красивые глаза, положено знать наизусть степени двойки от 0 до 16.


    Процесс объединения мелких префиксов (с длинной маской, в которых мало хостов) в крупные (с короткой маской, в которых много хостов) называется агрегацией или суммаризацией (вот не суммированием!). Это очень важный процесс, позволяющий минимизировать количество информации, необходимой маршрутизатору для поиска пути передачи в сети. Так, скажем, провайдеры выдают клиентам тысячи маленьких блоков типа /29, но весь интернет даже не знает об их существовании. Вместо этого за каждым провайдером закрепляются крупные префиксы типа /19 и крупнее. Это позволяет на порядки сократить количество записей в глобальной таблице интернет-маршрутизации.

    Обстоятельство шестое. Чем больше длина маски, тем меньше в подсети может быть хостов, и тем большую долю занимает «съедение» адресов на адреса подсети, направленного бродкаста и шлюза по умолчанию. В частности в подсети с маской /29 (232-29 = 8 комбинаций) останется всего 5 доступных для реального использования адресов (62,5%). Теперь представьте, что вы провайдер, выдающий корпоративным клиентам тысячи блоков /29. Таким образом, грамотное разбиение IP-пространства на подсети (составление адресного плана) — это целая маленькая наука, включающая поиск компромиссов между разными сложными факторами.


    При наличии достаточно большого диапазона адресов, как правило из блоков для частного использования 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, конечно, удобно использовать маски, совпадающие по длине с границами октетов: /8, /16, /24 или, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0. При их использовании можно облегчить работу мозгу и калькулятору, избавившись от необходимости работать с двоичной системой и битами. Это правильный подход, но не стоит забывать, что злоупотребление расслабухой редко доводит до добра.

    И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 20 лет (!), как нет никаких классов. Ровно с тех пор, как стало понятно, что длина префикса может быть любой, а если раздавать адреса блоками по /8, то никакого интернета не получится.

    Иногда «матерые специалисты» любят блеснуть словами «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Скажем, часто можно услышать слово «сеть класса C» про что-нибудь вроде 10.1.2.0/24. Класс сети (когда он был) не имел никакого отношения к длине маски и определялся совсем другими факторами (комбинациями битов в адресе). В свою очередь классовая адресация обязывала иметь маски только предписанной для данного класса длины. Поэтому указанная подсеть 10.1.2.0/24 никогда не принадлежала и не будет принадлежать к классу C.

    Но обо всем этом лучше и не вспоминать. Единственное, что нужно знать — что существуют разные глобальные конвенции, собранные под одной крышей в RFC3330, о специальных значениях тех или иных блоков адресов. Так, например, упомянутые блоки 10/8, 172.16/12 и 192.168/16 (да, можно и так записывать префиксы, полностью откидывая хостовую часть) определены как диапазоны для частного использования, запрещенные к маршрутизации в интернете. Каждый может использовать их в частных целях по своему усмотрению. Блок 224.0.0.0/4 зарезервирован для мультикаста и т. д. Но все это лишь конвенции, призванные облегчить административное взаимодействие. И хотя лично я крайне не рекомендую вам их нарушать (за исключением надежно изолированных лабораторных тестов), технически никто не запрещает использовать любые адреса для любых целей, покуда вы не стыкуетесь с внешним миром.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 203
    • +5
      А про ИП на loopback (127.0.0.1—127.255.255.255) забыто, а ведь многие не знают (даже добавляя в hosts записи, что бы программы не могли активироваться).
      • +1
        Что именно не знают, кроме того что там диапазон 127..0/8
        Можно например по. Rdp подключится сам на любой loopback кроме 127.0.0.1, так же некоторые сервисы при обращении на свой же хост используют не .1, а адрреса из этой сети
        • +5
          Да кроме 127/8 есть еще куча специальных диапазонов (см. rfc3330). Но это все другой уровень.

          Да и конкретно в отношении этого блока… когда вы последний раз видели лупбек с адресом из этого блока, но не 127.0.0.1/8? Я в своей жизни видел одну технологию, которая использует такие адреса, но… не было б ее, и мало что изменилось в жизни. Так что, в сущности, просрали один /8 на какую-то фигню.

          Лупбеки в реальной жизни нумеруют либо /32 из реальных адресов, либо /N, например, при выдаче ШПД-абонентам с BRAS из большого блока. Но это все ни полраза не ликбез.
          • 0
            /8 может и зря просрали, но меньше /16 все равно не стоило бы, imnsho. Я, к примеру, на очень маленьком и скромненьком freebsd-сервере раздал несколько loopback-адресов jail'ам. Потому что было надо, да.
            • 0
              У нас активно используется для внутренней адресации бэкендов внешних сервисов. Без /8 выкрутились бы, наверное, но такими методами, что ну его нафиг.
              • 0
                а чем 10/8 для этих же целей не устраивает?
                • 0
                  Произвольные адреса из 10/8 могут использоваться для адресации внутри тоннелей до тех клиентов, у которых 10/8 в корпоративной сети. А нужен был блок адресов, который можно автоматизированно и относительно бездумно аллоцировать для внутренней адресации.

                  Я хочу уточнить предыдущий комментарий: лично нам именно /8 необязателен, хватило бы 127/17. Но в контексте вопроса «когда вы последний раз видели лупбек с адресом из этого блока, но не 127.0.0.1/32» это не так важно. Видели, и много.
                  • 0
                    Ну, если аллоцировать, то конечно :)
            • +1
              Ну тогда стоит еще вспомнить о link-local адресах…
            • +1
              очень познавательно, спасибо
              • –17
                Спасибо, кеп. Плюсанул.
                • +3
                  >> Из сказанного в частности следует, что маршрутизатор (шлюз и маршрутизатор — это одно и то же) с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом между, например, хостами 192.168.8.5 и 192.168.8.7.
                  Но тем не менее можно настроить, чтобы весь траффик шёл через шлюз, а хосты об этом и знать ничего не будут. С помощью специальных железяк. Хотя конечно в статье об этом можно не упоминать.

                  >> Адрес 192.168.8.0, со всеми обнуленными битами на позициях, соответствующих нулям в маске, называется адресом подсети. Его (обычно) нельзя использовать в качестве адреса для интерфейса того или иного хоста.
                  Если обычно нельзя, то когда можно?

                  >> Если же эти биты наоборот, установить в единицы, то получится адрес 192.168.15.255. Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда.
                  Но он работает так до сих пор, или же это уже не работает?
                  • +1
                    >Но он работает так до сих пор, или же это уже не работает?

                    интересно, а как маршрутизатор узнаёт какой ip адрес соответствует какому MAC адресу…

                    Из текста я понял только что автор не «начинающий администратор», а совсем даже «уважающий себя администратор».
                    • 0
                      ARP, который определяет mac для ip, работает поверх ethernet, а не ip. И ему в общем-то все равно, какой широковещательный адрес у сети, он шлет сообщения только по маку (ff:ff:ff:ff:ff:ff).

                      Широковещательный адрес сети можно использовать для, например, пинга всех хостов сразу. Но немногие системы на такое отвечают, и в моей сети на такой пинг ответил только шлюз.
                      • 0
                        Шлет запросы на ff:ff:ff:ff:ff:ff, но ответы уже unicast'ом ДОЛЖНЫ быть, но я замечал, что есть железки (немного кривоватые), которые отвечают тоже броадкстом.
                    • 0
                      1. Не так часто, когда такое «можно настроить» нужно использовать в жизни. Иногда да, надо, но в большинстве случаев этим занимаются господа, знающие толк в извращениях.

                      2. В статье есть ответ на этот вопрос. См. про p2p-линки с масками /31.

                      3. В принципе директ-бродкаст до сих пор теоретически используется. Например в приложении wake-on-lan. Но, вообще говоря, нет проблем переписать такие приложения (не знаю, но думаю, что скорее всего уже) под использование, например, мультикаста. Я лично не видел ни одной живой сети, где на директ-бродкаст что-то возлагали. В любом случае негативный эффект от выкидывания адресов на помойку не сравним с преимуществами, которые дает направленный бродкаст.
                      • 0
                        > Я лично не видел ни одной живой сети, где на директ-бродкаст что-то возлагали.

                        Ну-ну. А как хост, включенный в сеть, находит там DHCP-сервер, чтобы получить с него сетевые настройки? Делает он это именно через UDP-броадкаст на IP-адрес 255.255.255.255.
                        DHCPDISCOVER:
                        UDP Src=0.0.0.0 sPort=68 Dest=255.255.255.255 dPort=67

                        Т.е. вы «лично не видели ни одной живой сети» с DHCP-сервером?

                        • +2
                          255.255.255.255 — это не директ-бродкаст. Одного адреса из четырех миллионов мне не жалко. А одного на каждую подсеть — ну не знаю.
                          • +1
                            тьфу, 4 миллиардов, то есть.
                          • –1
                            Не, не. Давайте на пальцах. Вот я, например, покупаю дешевый пассивный свич на 5 портов для квартирной сетки. Адреса выставляю на компах вручную, диапазон 192.168.0.0/24. Соотвественно вопросы:
                            * Если я дам компам адреса 192.168.0.0 и 192.168.0.255 оно будет работать.
                            * А если я пошлю с 192.168.0.1 пинг на 192.168.0.255 мне все компы ответят? А если есть/нет хоста с таким адресом в сети?
                            • 0
                              1. Зависит от реализации (и настройки) стека на конкретных устройствах, но с большой вероятностью нет.
                              2. То же самое. Скорее всего нет.
                              • 0
                                То есть, если у меня не активный свитч или что покруче, то 2 адреса для меня всегда закрыты для использования?
                                • 0
                                  Ой, слушайте, спросите в гугле, чем свич от роутера отличается, а то я устал, если честно )

                                  Адреса подсетей (все нули в хостовой части) и бродкастов (все единицы) нельзя использовать в качестве адресов компьютеров. В случае с серыми адресами это и не является проблемой, т. к. их много.
                                  • –3
                                    Ан нет. Раз уж взялись объяснять, то будьте добры.

                                    Впрочем у меня к вам больше вопросов нет.
                                    • 0
                                      Простите, я таки задам вопрос, с вашего позволения.
                                      Правильно ли я понял? Адреса подсетей и бродкастов (эти же подсетей) можно использоваться только между линками L3.
                                      … пока писал вопрос сам понял свою глупость, какие IP адреса могут быть на L2 %)
                                      В таком случае, если в ситуации описанной qnomeby при отправки пинга с 192.168.0.1 на 192.168.0.255 первый хост отправит широковещательный пинг на ffff.ffff.ffff?
                                      • +1
                                        Зависит от конкретного пинга. В линуксе пинг говорит следующее

                                        user@host:~$ ping x.x.x.255
                                        Do you want to ping broadcast? Then -b


                                        Опция -b заставляет отправлять это на MAC из всех единиц (доступно руту).

                                        Отвечает на него один из двух принтеров. Даже не принтер, а HP-шная коробочка принт-сервер.

                                        JUNOS-based устройства Juniper, Cisco IOS (тоже из-под enable) и Brocade NetIron ничего не спрашивая сразу шлют на бродкастовый MAC.

                                        Некоторые другие имеющиеся в моем распоряжении устройства тупо спрашивают ARP «who is x.x.x.255». Среди них SreenOS-based файрволы Juniper.

                                        Но пинг с машины, которая сама знает, что адрес бродкастовый — это еще полбеды. Куда сложнее вопрос, как обрабатывать транзитный трафик. Допустим вы пингуете адрес 10.0.0.63. Вы ничего не знаете, как оно там где-то побито. Дошло все до маршрутизатора, у которого есть интерфейс 10.0.0.1/26. Чего ему делать?

                                        Весьма допотопная RFC1812 как бе намекает нам: «Чо хошь, то и делай»:

                                                 Directed Broadcast - a broadcast directed to the specified
                                                 network prefix.  It MUST NOT be used as a source address.  A
                                                 router MAY originate Network Directed Broadcast packets.  A
                                                 router MUST receive Network Directed Broadcast packets; however
                                                 a router MAY have a configuration option to prevent reception
                                                 of these packets.  Such an option MUST default to allowing
                                                 reception.
                                        
                                • +2
                                  Задать адреса 192.168.0.0/24 или 192.168.0.255/24 вам не позволит ОС (если это не какая-то редкая непонятная ОС, не соблюдающая стандарты).
                                  На пинг с адреса 192.168.0.1 на 192.168.0.255 в сети 192.168.0.0/24 ответят все работающие интерфейсы в этой сети.
                                  Кроме того, большинство хостов считают адрес самой сети 192.168.0.0 также её броадкастовым адресом, поэтому если пропинговать 192.168.0.0, то на него тоже скорее всего ответят все работающие интерфейсы (но это не обязательно).
                                  Если пропинговать 192.168.0.255 из какой-нибудь другой сети, например из 10.0.0.0/24 то ICMP-пакеты скорее всего отбросятся на ближайшем маршрутизаторе, т.к. по умолчанию маршрутизация directed broadcast адресов запрещена (для защиты от smurf-атак). Если на всех промежуточных роутерах между этими сетями её включить, то тогда вы опять таки получите ответ от всех работающих интерфейсов в сети 192.168.0.0/24.
                                  И да, от того, какой вы купите свитч, дешёвый или дорогой, вышесказанное не зависит.
                          • +12
                            Прежде чем посылать IP-пакет, компьютер определяет, попадает ли адрес назначения в «свою» подсеть. Если попадает, то шлет пакет «напрямую», если же нет — отсылает его шлюзу по умолчанию (маршрутизатору).
                            Не совсем так.
                            В системе может быть указано несколько шлюзов, и в списке маршрутов указано соответствие конкретных IP-подсетей конкретным шлюзам. Т.е. при отправке пакета в одни подсети будет использоваться шлюз, который определён для этих подсетей, а при отправки в другие подсети — другой шлюз, который определён для этих других подсетей.
                            А на шлюз по умолчанию IP-пакет будет отправляться, только если адрес назначения:
                            а) не входит в подсеть данного хоста (свою подсеть, определённую маской);
                            б) не входит в подсети, для которых в системе указан какой-то конкретный шлюз.
                            Потому он и называется не просто шлюз, а именно шлюз по умолчанию (default gateway), т.к. его используют только в том случае, если другие шлюзы для сетей не указаны.
                            • +7
                              Видимо, тот, кто ставит минусы, не в курсе настройки маршрутизации по подсетям…
                              Для примера вот типичная ситуация, когда подобная настройка используется на домашнем компьютере.
                              Допустим, на компьютере есть два сетевых подключения:
                              1) Ethernet-подключение к локальной сети;
                              2) Подключение к интернету, например, через DSL/GPRS/Dial-Up модем.

                              Чтобы при подключении модема можно было полноценно работать как с локалкой, так и с интернетом, обычно делают следующим образом:
                              1) В настройках подключения к локалке убирают Default gateway;
                              2) В качестве Default gateway используется тот, который указан в настройках модемного подключения (обычно получен автоматически);
                              3) Для маршрутизации в локальные IP-подсети прописывают постоянные маршруты (persistent routes) вручную:
                              route -p add 192.168.0.0 mask 255.255.0.0 192.168.0.1
                              route -p add 10.0.0.0 mask 255.0.0.0 192.168.0.1
                              route -p add 172.16.0.0 mask 255.240.0.0 192.168.0.1

                              Где 192.168.0.1 — это шлюз в вашем сегменте локальной сети, а 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 — это IP-подсети используемые в вашей локальной сети.

                              После такой настройки маршрутизации пакеты, адресованные хостам внутри вашей локалки (в указанных локальных IP-подсетях), будут отправляться на указанный шлюз в локалке (192.168.0.1), согласно прописанным вручную маршрутам, а пакеты, адресованные всем прочим хостам (интернетным), будут отправляться на шлюз по умолчанию (defaul gateway) через модемное подключение в инет.
                              • +2
                                Все верно, но в рамках данной статьи это не нужно. Нельзя же в одной статье рассказать всю теорию ip адресации и маршрутизации
                                • 0
                                  А потом можно и метрики в маршрутах вспомнить…
                                  Таким образом статья начнет разрастаться до габаритов небольшой энциклопедии.
                                • +1
                                  Еще можно добавить, что пакет улетит в тот шлюз, в который прописана самая «наименьшая» (точная, более специфичная) сетка, куда входит адрес назначения. Обычно применяют термин more specific.
                                  • 0
                                    Все верно. Только надо делить таблицу маршрутизации на транзитных устройствах (шлюзах aka маршрутизаторах) и компьютерах aka терминальных хостах.

                                    С первым — все понятно, а со вторым — мало я видел внедрений, где наличие более одного шлюза в подсети было бы обусловлено реальной необходимостью, а не бардаком и фантазией админа.
                                    • 0
                                      Со вторым вариантом, это достаточно большое количество интернет провайдеров на просторах России, где используется высокоскоростная локалка на серых адреса и доступ в интернет через VPN, тут какраз и приходится городить маршрутизацию у конечного пользователя, дабы иметь доступ в локалку при подключенном VPN.
                                      • 0
                                        Это и есть кривой дизайн :) Хотя тут «прямой» вообще редкость в наших юдолях.
                                        • 0
                                          Вполне нормальный дизайн.
                                          • 0
                                            Мы на эту тему с вами уже общались. Пришли к одному и тому же, собственно. Второй раз не хочу )
                                            • 0
                                              Да? Я уже не помню, если честно. :) Anyway, в данном дизайне нет ни «дырявых» масок, ни src-specific маршрутов, а только «старые добрые» сети через интерфейс — что в общем-то и является простейшим роутингом. ;)
                                              • 0
                                                роутинг у клиента — это криво. не обязан клиент ничего делать сам. вы ему за деньги продали сервис в котором написано «локалка+интернет» и всё. воткнул провод в комп и всё есть, без лишних настроек. никакой статики, никакого роутинга.
                                                • 0
                                                  … и никакого PPTP — продолжая вашу мысль.
                                                  Никто не продаёт услугу «локалка», так что это так, «прицепом» идёт к интернету.
                                                  Маршруты могут анонсироваться через DHCP.

                                                  Так что по прежнему не согласен, что это кривой дизайн.
                                                  • 0
                                                    Это нормальный дизайн, вопрос лишь в том, какие у вас туннели до абонента. Если PPPoE или 1:N VLAN — нормально, если чистый SVLAN 1:1, то так просто не работает. Если PPTP, то вообще говно, а не дизайн.

                                                    С другой стороны, ситуация потихоньку меняется. Нынешние брасы стали мощными и multi-edge будет отмирать.

                                                    Но мы, собственнно, о чем? О стоительстве сетей ШПД или о ликбезе про маски подсетей? То есть, я-то о втором, а вы — не знаю.
                                      • 0
                                        Запросто может быть более одного шлюза. Например, резервный канал с балансировкой (или без), с фаиловером и т.п. Я какие только дикие конфигурации не встречал на клиентских узлах.
                                        • 0
                                          Ну, да, VRRP и аналоги — наиболее правильный ответ, но в сущности это не два шлюза, а один с резервированием.

                                          А вот балансировка таким образом — это почти наверняка полный бред.
                                          • 0
                                            есть аж специальный протокол с балансировкой — GLBP. почему же бред? да и с помощью vrrp можно балансировку сделать, забавная штукенция. Когда есть серверная ферма и от неё два пути в ядро, зачем заранее занижать пропускную способность используя только один путь (активный) когда с помощью нехитрой манипуляции можно воспользоваться обоими путями и удвоить пропускную способность?
                                            • 0
                                              О, господи, куда катится мир. HSRP, VRRP, NSRP, JSRP, GLBP…

                                              С точки зрения описываемого это все на одну тему: как резервировать шлюз по умолчанию.

                                              Балансировать нагрузку (с деградацией при отказе) таким способом — воля ваша, но посмотрю я, когда вам понадобится потраблшутить такую штуку (найти определенный пакет, и дебагом поглядеть, что с ним происходит) или акцесс-листы написать. Балансировать нагрузку на шлюзы по умолчанию надо разбиением сетей на подсети. Остальное — это от безысходности, когда уже дела не очень.
                                              • 0
                                                IRDP ещё забыли :-D

                                                Тот же самый citrix требует, чтоб виртуальные адреса клиентов были в одной подсети с citrix-хостом, так что разбиение — далеко не всегда вариант.
                                                • 0
                                                  1. Да небось еще десяток можно насчитать.

                                                  2. Вы либо чего-то путаете, либо цитрикс ничего не слыхал про IP-маршрутизацию. В последнем я, если честно, сомневаюсь, при всем уважении к вам.
                                                  • 0
                                                    я имею в виду вот что: когда приложение запускается на сервере приложений citix от имени какого-то удаленного пользователя и это приложение дальше использует сетевые ресурсы (ну допустим пользователь с тонким клиентом запустил веб-браузер на сервере и лезет из браузера куда-то на веб-сервер), то по-умолчанию src-адрес этого подключения будет адресом сервера приложений, соотвественно все удаленные пользователи будут иметь один и тот же src-адрес всегда. Иногда с этим возникают проблемы, когда какие-то приложения дифференцируют пользователей по ip-адресам, а иногда возникают проблемы с фаерволлами и ip-sec-ом. У ситрикса есть опция, при включении которой он каждому пользователю навешивает виртуальный адрес из пула адресов закрепленных за сервером и все приложения запускаемые пользователем ориджинируется уже с этого виртуального адреса. Так вот, пул виртуальных адресов должен быть в одной подсети с адресом сервера приложений ситрикса. И никакой магии.
                                                    • 0
                                                      А. Ну это все равно, что куча пользователей в одной подсети, в сущности. Уж как они там получают доступ к своим рабочим местам: руками и глазами, удаленно через цитрикс, телепатически или методом бифуркации кармических состояний — дело сто пятьдесят третье.

                                                      Но непонятно, какое это имеет отношение к балансировке по двум дефолт-гейтвеям :)
                                                      • 0
                                                        нет, это конкретный глюк ситрикса, потому как если бы разработчики ситрикса имели понятие о маршрутизации, то виртуальный пул можно было бы и отвязать от сети на интерфейсе (vmware, например, прекрасно умеет делать любые адреса для виртуальных машин, независимо от адреса физического хоста).

                                                        а отношение простое — когда есть сервер ситрикса с чуть менее чем дохренища пользователей, то от него и к нему генерится чуть менее чем дохренища трафика и балансировать его, в случае с ситриксом, не получится вашим методом по причине указанной выше. подобные проблемы можно найти в очень многих продуктах, особенно связанных с кластеризацией, когда ноды кластера обязаны быть в одной подсети. Checkpoint NGX ещё, например.
                                                        • 0
                                                          Аа-а.

                                                          Насколько я знаю, привязка пулов витруальных адресов к интерфейсным подсетям — это сознательная позиция в некоторых продуктах. Иначе нужно писать какой-то роутинг или арп-прокси. Одни заказчики начнут ныть, что это слишком сложно, другие скажут, мол, подавай нам OSPF с BGP. Это все толкает продукт в другую нишу рынка, более эдвансную, что не всегда оправдано с коммерческой точки зрения. Но я согласен, что технически так лучше.

                                                          Но. Что-то я сомневаюсь, что это нормально, если один дефолт-гейтвей не способен пережевать нагрузку, которую может дать один цитрикс-сервер.
                                                          • 0
                                                            тут и я согласен. но к сожалению есть немало сетей в которых в качестве серверного свитча выступает какой-нить WS-C2950… и линки от него до «ядра» всего 100мб (pagp/lacp не предлагать, у них свои проблемы ;) )
                                                            • 0
                                                              А трафика прям реально больше 100-ни? Ну это я и называю: «от безысходности, когда уже дела не очень».
                                                          • 0
                                                            Кстати, не знаю за цитрикс, но вообще стандартный обход этого ограничения (собственно, как разработчики и хотели) — создание loopback-интерфейса, на который вешается хоть 10/8, и из нее нарезаются какие хошь пулы. Включение OSPF на этом loopback-интерфейсе также не возбраняется.
                                                            • 0
                                                              городить маршрутизацию между сетевым железом и серверами под Win? :) я уж лучше как-то с vrrp/glbp поиграюсь, зато хоть уверен буду в этом.
                                                              • 0
                                                                Эээ… пардон, а если вы можете просто определить пул виртуальных адресов, не привязанных к физическому интерфейсу, то как вы добьетесь, что сетевое оборудование пошлет пакеты адерсам этого пула именно цитриксу или кому там. VRRP тут вообще ни при чем.
                                                                • 0
                                                                  уточню. я готов провесить статику в сторону сервера, но вот динамику — не-не-не!
                                                                  • 0
                                                                    Ну понятно. Хотя тут все от количества зависит :)
                                      • –4
                                        Чем длиннее маска, тем меньше в ней хостов.
                                        Наоборот, не?
                                        • +2
                                          не
                                          • 0
                                            Смотря что значит «длиннее». Если под длиной подразумевается количество единичных бит в маске, то чем длиннее маска, тем меньше в ней хостов, то есть предыдущий за вами оратор прав.
                                            • 0
                                              Не-не, тогда автор статьи прав, да. Запутался
                                              • 0
                                                «Поролон запутался». Сценка из жизни обтягивальщика мягкой мебели. Извините)
                                        • +5
                                          про ipv6 будет такая статья? А то этот ipv6 у меня в голове не укладывается(((
                                          • +46
                                            > ipv6 у меня в голове не укладывается(((

                                            Ага, так и запишем: у MakeInstall в голове менее 128-bit
                                            • –3
                                              Я так и думал, что вы так запишите)))) ну тогда уже 32-bit, так как в 128-bit ipv6 все же влазиет.
                                              • +6
                                                > в 128-bit ipv6 все же влазиет

                                                Именно поэтому я и написал «менее 128».
                                                • 0
                                                  Постараюсь впредь вам писать кратко, а то ещё ваш стек переполнится ;)
                                            • +1
                                              Самому пока лень. А если по-английски читаете, то вот:
                                              www.nanog.org/meetings/nanog46/presentations/Sunday/RAS_Practical_ipv6_61309_N46.pdf
                                              • 0
                                                Отличная презентация, ржал аки конь над обильно рассыпанными шуточками.
                                                • 0
                                                  Да, некоторые прям стоит в цитатники растаскать.
                                                  «Если у вас в голове хотя бы промелькнуло слово RIP, пожалуйста, выйдите вон отсюда»
                                                  • 0
                                                    RIPng, но не суть :)
                                              • 0
                                                То есть, это, конечно, не «такая статья» ни полраза (ликбез, но другого уровня). Однако, судя по тому, что вы пишете, вам будет в самый раз )
                                              • +1
                                                Его (обычно) нельзя использовать
                                                Хотелось бы по-подробнее про "(обычно)". Можно, нельзя, или где конкретно можно, а где нельзя? Используется ли адрес сети (именно как адрес сети, а не узла) вообще хоть где-нить для чего-нить, я имею в виду — в коде? Или только для документирования сети и общения админов? И что происходит с броадкастами — они таки работают, или нет? Точнее, я знаю, что они иногда работают, а иногда нет, но интересно — они должны работать, или не должны?
                                                • 0
                                                  Про необычный вариант для адреса сети. К примеру у вас есть некий VPN сервер, куда подключаются клиенты, и им вполне можно выдать на ppp интерфейсы и 192.168.8.0 и даже 192.168.15.255, и это все будет работать.
                                                  А на предыдущем роутере, чтобы достучаться до этих клиентов вы так и будете прописывать route add -net 192.168.8.0/21 gw <vpn_serv_ip>. В этом случае все адреса из подсети равноправные.
                                                  • 0
                                                    Вообще, в статье про это есть. См. про маски /31 на p2p-линках.

                                                    И еще вот, в соседней ветке: habrahabr.ru/blogs/sysadm/129664/#comment_4311683
                                                  • 0
                                                    Первый курс Cisco Intro для сертификации CCNA очень хорош именно объяснением всей этой математики без привязки к их оборудованию.
                                                    • +9
                                                      Ага, и этим хороши еще сотни статей, на которые попадаешь через три секунды поиска в гугле.
                                                      Сто лет на хабр не заходил, но тут явно ничего не меняется. Сначала один напишет, что Земля круглая, а потом его начинают дружно обвинять в том, что написал муть, скопипастенную из википедии, и вываливают почти то же самое, только другими словами.
                                                      Salium, ничего личного, и Ваше негодование по поводу «тех статей» понятно, но эта тогда зачем? Если она претендует на универсальный справочник, который каждый, у кого под рукой нет гугла, а есть лишь хабр, должен добавить в избранное, чтобы в случае чего быстренько заглянуть и посчитать нужную маску — то не хватает достаточно многих вещей, тех же основ перевода dec<>bin или знакомой каждому админу таблички префиксов с числом хостов.
                                                      Если пост претендует на что-то другое (срывание покровов, раскрытие тайн вселенной, уничижение неграмотных авторов унылых постов на эту же тему), то в нем вообще ничего уникального.

                                                      • +2
                                                        Нет никакого негодования. Каждый делает, что хочет.

                                                        Есть масса вещей в жизни, про которые все давно известно. Тем не менее про них пишут. Например школьные учебники по естественным дисциплинам. Или буквари. Не поверите, иногда получается хуже, а иной раз лучше, чем все предыдущее. Бывет, что и гениально (не претендую :)
                                                        • +1
                                                          одно могу сказать, из всех упомянутых сотен нефтистатей, это первая в которой рассказали про возможность использовать подсети /31. у меня это первый любимый вопрос на собеседовании на тему широты кругозора. 98% интервьируемых понятия не имеют о возможности использования /31 и о RFC 3021
                                                          • 0
                                                            В своё время на ВМК МГУ в курсе системного администрирования это было, кстати :-)
                                                            • +1
                                                              Кого ж вы собеседуете?..-) Нет, серьезно, любой, кто хотя бы удосужился что-то почитать, прежде чем конфигурить, это знает. На моей прежней и текущей работе все, кто циску трогает, в курсе. И даже на инглиш-wiki в статье по маскам это есть.
                                                              И возвращаясь к моему брюзжанию в прошлом комменте: блог «Системное администрирование». Вашу ж мать, давайте сюда еще про то, как обжимать патчкорды, писать будем.
                                                              Чуть ниже верная точка зрения: «Мне (ни разу не админу) было интересно почитать». Вот и пусть это идет в другой блог («разное», «это интересно», «а вот мне вчера приснилось»).
                                                              Я за свободу самовыражения, но если уж тут модерируют и даже (ой, мамочки!) иногда банят, то пусть и фильтруют хоть как-то, если уж сами члены сообщества не хотят. Сетовали, что весь хабр превращается в не-ИТ сообщество, а тут уже и тематические блоги скатываются до уровня ликбеза.
                                                              P.S. А может, это я злой, потому что в отпуск хочу, а не пускают-)
                                                            • 0
                                                              Мне (ни разу не админу) было интересно прочитать.
                                                              Узнал, зачем нужны маски.
                                                          • –1
                                                            192.168.11.10/21 :::: 11000000.10101000.00001011.00001010
                                                            Или в IP-адресе надо 10 на 11 сменить или в двоичной система 1011 на 1010.
                                                            • +1
                                                              Насчёт /32 — неправда. /32 выдаётся p2p линкам в VPN, например. И совсем не в «индивидуальном» порядке, просто там unnumbered интерфейс.
                                                              • 0
                                                                В случае коммутируемых соединений тоже такой фокус возможен, насколько я помню (сто лет уже с ними не работал). Там вообще в качестве шлюза можно не адрес, а имя устройства по дефолту указать.
                                                                • 0
                                                                  Так этож по сути одно и тоже ppp, что диалап, что пптп )
                                                                  • 0
                                                                    В принципе да, за исключением того, что vpn это далеко не всегда pptp/ppp, да и коммутируемое соединение это не всегда ppp :)
                                                                • 0
                                                                  Чего именно неправда? Какое из моих утверждений неверно? (допускаю, что так может быть)
                                                                  • 0
                                                                    Что использование /32 подразумевает хаос и handwork. Оно прекрасно автоматизируется радиусом, например.
                                                                    • 0
                                                                      :) Вы уверены, что мне стоило об этом писать в статье?
                                                                      • +1
                                                                        Просто не надо делать неточных утверждений.
                                                                • 0
                                                                  внутри подсети 192.168.8.0/24
                                                                  Вроде речь сначала шла про /21 сеть.
                                                                  • 0
                                                                    Спасибо, да. Опечатка, поправил.
                                                                    • 0
                                                                      Да, опечатка, скорее всего по привычке автор написал.:)
                                                                    • +4
                                                                      как я считаю сколько IP в подсети:
                                                                      — маска /26 = 32(бита макс. значение) — 26 = 6; 2^6= 64 IP
                                                                      — маска 255.255.224.0 = 256(макс. значение) — 224 = 32 (подсети /24) = 32 *256 = 8192 IP

                                                                      ps: there is no place like 7F000001
                                                                      • 0
                                                                        «Сеть класса С», это уже по сути дела устоявшийся термин, который имеет к изначальным классам сети опосредованное отношение и совпадает только по размерности маски. Т.е. фразы типа «круто, у них целых 5 сетей класса С» вполне общеупотребимые.
                                                                        Если уж так дотошно подходить к терминологии, то модель OSI имеет к tcp/ip очень опосредованное отношение. Уровни tcp/ip по сути дела «натянули» на 7-уровневую модель, а точнее говоря притянули за уши, т.к. уровни у них совпадают только номинально по названиям. Меня вот тоже корежит когда ее упоминают, но ничего — терплю. Также и с классами. Их названия по сути дела сейчас используются для указания размерности масок.
                                                                        • –1
                                                                          Ну и плюс попробуйте на любом (ну почти любом) маршрутизаторе задать адрес без маски и поймете, что они живее всех живых :)
                                                                          Просто изначальная идея — выдавать организациям сети классами в зависимости от размера организации, оказалась утопичной — слишком много контор в мире :) А в остальном классы живут :)
                                                                          • +1
                                                                            Из того, что иной софт по старинке назначает дефолтовую длину маски исходя из класса адреса, не следует, что классы живы. Можно и другое правило избрать, например назначать всем линкам по умолчанию /24 или /30. Толку будет даже чуть больше.

                                                                            А JUNOS вот например появился, когда уже никаких классов не было, не знает про них ничего, по умолчанию в описываемой ситуации назначает /32 и прекрасно себя чувствует.
                                                                            • –1
                                                                              ХЗ. Встречал несколько раз, когда сетки типа 10/8 и т.п. роутились в удаленный филиал без указания масок, т.к. жили там целиком. Собственно зачем указывать, если он сам допишет? Если современные железки это делать не умеют, то очень зря. Когда циска выпилит это, то откажемся от такой практики :)
                                                                              • +2
                                                                                Мне кажется это какой-то дурной тон на это надеяться, обычно стараются указывать все как можно более точно, чтобы не зависеть от того, какие настройки по умолчанию решит сделать производитель завтра.
                                                                                • –3
                                                                                  Примерно такой же, как и рекомендуемый в статье — 192.168/16. Встречались мне железки, которые такое не переваривали. Писать везде полную запись, даже если железка точно поддерживает короткую? А смысл. Если железка нормально все переваривает, и админ точно знает ее возможности, то почему бы и нет? Все равно при смене железки надо будет весь конфиг проверять на работоспособность.
                                                                                  • 0
                                                                                    Ну этот способ в статье ни как рекомендуемый, а просто как возможный.
                                                                                    В принципе то согласен, что если железка одна и ты ее полностью знаешь, то можно и всякие хаки использовать такие.
                                                                                    Но когда железок туева хуча и у каждой свои особенности, причем разные от прошивки к прошивке (привет длинку))), тут уже, как мне кажется, не до использования таких фич.
                                                                                    Вон у яндекса не так давно внезапно оказалась включена редистрибуция бгп подефолту )))
                                                                          • +1
                                                                            1. Ну, воля ваша. Можно и Таллин с двумя нэ на конце писать :)
                                                                            2. Я не согласен. Но это хливор. Не хочу продолжать. Многие уважаемые мною эксперты считают похожим образом. Я иногда с ними спорю, бывает даже, что переубеждаю. Общий хинт: надо делить инкапсуляцию заголовков и функциональное назначение протоколов и технологий. ATM вот не поделила, и сдохла.
                                                                          • +1
                                                                            Маска подсети — это тоже 32-бита. Но в отличии от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идет сколько-то единиц, потом сколько-то нулей. Не может быть маски
                                                                            120.22.123.12=01111000.00010110.01111011.00001100.


                                                                            www.tcpipguide.com/free/t_IPSubnetMasksNotationandSubnetCalculations-4.htm
                                                                            начиная с "RFC 950 actually specified..."
                                                                            • 0
                                                                              в самом RFC 950 это видимо описывается абзацем:

                                                                              Since the bits that identify the subnet are specified by a bitmask, they need not be adjacent in the address. However, we recommend that the subnet bits be contiguous and located as the most significant bits of the local address.
                                                                              • +1
                                                                                Спасибо, не знал. Хотя… ну вы понимаете :)
                                                                                • 0
                                                                                  Да у меня так вся сеть построена и работает!!1

                                                                                  А если честно, недавно на собеседовании одного бедолагу мучил, а когда он спросил «почему, собственно, маска обязана быть бездырочной» — задумался.
                                                                                  Бедолагу взяли — хэппиэнд ;)
                                                                                  • 0
                                                                                    Ну, только, давайте скажем для телезрителей, что мы говорим именно про маски подсетей.

                                                                                    Потому как в пакетных фильтрах могут встречаться адреса вида «0.128.128.2/0.128.128.3» (нотация JUNOS) и это нормально, но не имеет к теме никакого отношения.
                                                                                    • 0
                                                                                      Именно. Мы в пакетных фильтрах маски весьма часто дырчатые готовим: так уж сеть спроектирована (один из средних октетов «отвечает» за функционал).
                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                • 0
                                                                                  Ой, вот только не надо спрашивать у меня разрешения. Я, еще раз, ничего личного не имел в виду.
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                • +4
                                                                                  Спасибо большое!

                                                                                  Вот вас вверху благодарят от всего сердца, а комментарий заминусован. Странно, видимо это люди, кто в теме глубоко. Зря вы так, господа!

                                                                                  Вот я технарь, но с IP-сетями никогда плотно не сталкивался, а времени нет прочитать всё, что интересно. А в такой сжатой форме — то что доктор прописал!
                                                                                  • +1
                                                                                    Мало того, мне, например, приходится часто _пытаться_ объяснять доступными словами, почему дело обстоит с IP-адресами так, а не иначе. А тут — готовая статья, где многое объясненно нормальным языком, понятным человеку с высшим образованием. То, что доктор прописал! Присоединяюсь к благодарности.
                                                                                  • +1
                                                                                    >И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 20 лет (!), как нет никаких классов.

                                                                                    Ага, ну конечно. No auto summary и ip classless в цисках яркий тому пример. + Стоит понимать, какой диапазон подразумевается, когда «матерые специалисты» говорят не «Блок 224.0.0.0/4», а сеть класса D.
                                                                                    • +2
                                                                                      Ну, ладно, ладно. Вы круты, ОК. Хотите плюсану? :)

                                                                                      habrahabr.ru/blogs/sysadm/129664/#comment_4311725

                                                                                      Только 224/4 — это в сущности просто договоренность, какие адреса использовать для мультикаста. Родилась она из классов, но, собственно, на этом и все. С таким же успехом могло быть 10/8. То есть никакой технической разницы нету. А все-таки в классах в их изначальном виде разница была.

                                                                                      А в цисках приведенные команды — это именно что способ забыть про атавизм. Не могут они выкласть на обратную совместимость. А Juniper вот появился, когда этого всего уже не были, и смог выкласть сразу. И никто не умер.
                                                                                      • +1
                                                                                        Я уже который раз поражаюсь — я указываю на абсурдность высказывания, а кто-то на меня обижается.
                                                                                        Ну вот как можно забыть про классы, когда один из крупнейших поставщиков оборудования использует их в своем дефолтном конфиге(прошу заметить — я не говорю, что это ппц как удобно каждый раз изменять это в конфиге, но пока в конфигах дефолтом стоит auto summary итд наверное стоит помнить об этом).

                                                                                        Просто не нужно писать так категорично, ведь вашу статью читают люди. А потом эти люди иногда приходят на собеседование и могут вынести всем мозг такими заявлениями.
                                                                                        • +1
                                                                                          Ой, ладно вам. «Обижается» — это вообще не про меня.

                                                                                          Люди, которые имеют дело с настройкой маршрутизаторов (причем в их случаях не все равно, что делают указанные команды) станут читать мой ликбез и воспринимать его как единственное руководство к действию? Если так, то им уже и профессор Преображенский не поможет.

                                                                                          В крайнем случае таким людям достаточно запомнить, что что указанные команды надо просто всегда вводить, «чтобы не было какой-то допотопной хрени», и этого будет вполне достаточно )
                                                                                          • +1
                                                                                            Один из поставщиков это циска? Auto-summary для BGP и, прости господи, EIGRP, отключено начиная с 12.2(8)T. Произошло это, конечно, не так чтобы очень давно, но всё-таки произошло. Фича осталась включённой только для RIPv2, но там это совершенно непринципиально, в энтерпрайзе такие вопросы не встают.
                                                                                            Я один раз напоролся на эту гадость, кстати. Была сеточка, построенная на каком-то старье, даже не помню как оно называется. Софт там стоял из 11 семейства. Я же ставил 7206 с 12.4. Сеточку надо было смигрировать на BGP. Адресация у них была в сетке 10/8, каждая подсеть представляла собой /24. В какой-то момент дефолтное автосаммари сыграло со мной злую шутку:) Слава богу, такие вещи уже не надо держать в голове.
                                                                                            • 0
                                                                                              Значит, EIGRP — «прости господи», а RIPv2 — «в энтерпрайзе». От, понимашь, нелюбовь к proprietary до чего доводит ;)
                                                                                              • 0
                                                                                                Да сейчас в энтерпрайзе чаще OSPF встречается, нежели RIP. А к EIGRP я тёплых чувств никогда не испытывал, ибо интероп рано или поздно неизбежен, любое proprietary считаю обречённым:)
                                                                                                • 0
                                                                                                  Ну вы поняли. Это было (шутя) не про OSPF vs RIPv2 и не про EIGRP vs OSPF, а про RIPv2 vs EIGRP.

                                                                                                  Кстати, если серьезно, когда последний раз RIP в жизни видели? Ну так, чтоб прям сеть. Не в смысле там чего, а любопытно, вдруг где оно живо в промышленных количествах.

                                                                                                  Я — года два назад, но несерьезно: пара офисов, связанных IPSec'ом, поверх которого оно. Админу заказчика делать было нечего. А так вот прям чтоб сеть… аж в 2003 году был заказчик, которой всех забодал вопросами про каждую строчку в конфиге, и было принято политическое решение, что объяснения слова «ария» мы не переживем. Пяток рутеров с десятком сетей был у него. Причем даже не v2.
                                                                                                  • 0
                                                                                                    Понял, понял:)
                                                                                                    В промышленных не видел, наверное, очень давно. В несерьёзных — два раза. Первый — один в один как и у вас — элементарный роутинг между офисами. Второй — это был костыль. Делали один проект, и уже в ходе проекта возникло требование подцепить коммутатор в OSPF-домен. Коммутатором оказался кастомерский 3750-E с базовой лицензией, которая не умеет OSPF. Пришлось делать RIP и заморачиваться с редистрибуцией префиксов из OSPF в это безобразие. Потом заказчик купил правильную лицензию, и костыль убрали.
                                                                                                    EIGRP последний раз видел в описанном мной кейсе с автосаммари BGP. Суть того проекта заключалась в миграции сети с EIGRP на OSPF+BGP. Пожалуй, это был первый и последний раз.
                                                                                                    • 0
                                                                                                      Про лицензии на коммутаторах-то я и забыл. Вендоры, конечно говнюки в этом смысле. Уж бы совсем ничего не делали лучше, чем бесплатно RIP. Недавно тут консультировал заказчика, который таки купил без малого вагон EX2200, собираясь обставить ими чуть ни полстраны и построить на них супир-пупир провайдырскую сеть. При помощи plain IP с RIP. Консультирование свелось к констатации того, что сам делай что хочешь, но ни внедрять, ни поддерживать мы это не будем.

                                                                                                      А с EIGRP — знаю один весьма крупный энтерпрайз, где оно прекрасно себя чувствует до сих пор. Причем админы там на редкость крутые перцы (в самом хорошем смысле). Внедряли им таки Juniper'овскую коробку, но немного сбоку-припеку, так что EIGRP<->OSPF получилось, в целом, даже красиво, как по учебнику.
                                                                                                      • 0
                                                                                                        Суперпупер SP-сетка на RIP, да на EX2200 это действительно круто, да. Если мне память не изменяет, то именно 2200 является не джуниперовской разработкой, а каким-то унылым OEM, в отличие от старших моделей, которые весьма адекватны.
                                                                                                        По поводу EIGRP, дабы закрыть эту тему — любое пропраитори, что очевидно, закрывает полностью или же очень сильно ограничивает возможность развития сети на оборудовании иных вендоров. Обоснованность применения в том или ином случае любой proprietary-фичи должна быть очень серьёзной. В противном случае — создание искуственных ограничений, которые на пользу делу не идут. Мультивендорность необходимо держать в голове, т.к. это позволит избежать массы проблем в будущем. Вот у нас сейчас тут есть один вариантик — небольшой оператор, который во все поля делает псевдопровода по Компелле, а тут оказалось, что сеть будет расширяться уже на циске. Итог — ломать всё и вся, а ведь можно было сразу делать Мартини и проблем не знать. В общем это мы не в ту сторону уже пошли.
                                                                                                        • 0
                                                                                                          Не, не, EX2200 родные. Это 2500 ОЕМ (24x10GE). Я даже, если напрягусь, вспомню название тех китайцев, которые это под своим лейблом делают. На нем по-моему L3 ваще нету, но могу ошибаться тут.

                                                                                                          А 2200 — это 24/28 медных GE + 4 SFP, типа, аплинка. Десяток нет. Data plane под L3 (ну, понятно, plain IP) там вполне нормальный, wirespeed, VR'ы, а вот из протоколов пока только RIP. OSPF когда-то сделают, но за лицензию.
                                                                                                          • 0
                                                                                                            Значит память изменила. Сам с ними не сталкивался, работал только с 4200 из их свитчовой линейки.
                                                                                                          • 0
                                                                                                            Отдельный коментом.

                                                                                                            1. Ну, в контексте EIGRP — понятно, чего тут обсуждать-то. Но Тут есть всеми поддерживаемы энтерпрайзный стандарт де-факто. Я-то написал, что вот, мол бвыает и так.

                                                                                                            2. А вот с компеллой не все так гладко. Все же, если б это совсем одно и то же было, то компелла б никому не нужна была :) Если там реальный провижнинг VPN'ов, то, ага, пускай попробуют без BGP, посмотрю я на них :) А если оно ненапряжно, то наверное да, надо было подумать о мультивендорности. Кстати, хуавей например компеллу умеет )
                                                                                                            • 0
                                                                                                              Да много кто умеет — алколюсент тоже. Но, пацаны из циски говорят, что оно-таки скоро и у них заработает, посмотрим.
                                                                                                              С другой стороны — если бы всё было так просто, нам нечего было бы кушать;)
                                                                                                              • 0
                                                                                                                >Но, пацаны из циски говорят, что оно-таки скоро и у них заработает, посмотрим.

                                                                                                                Та вы чо? Неужели.
                                                                                                                • 0
                                                                                                                  Промелькнула такая новость пару месяцев назад. В упор не помню для какой платформы, надо у коллег уточнить.
                                                                                                                  • 0
                                                                                                                    Вспомнил тут, что читал когда-то про LDP signaling with BGP autodiscovery для Мартини.

                                                                                                                    В сущности та же схема внешнего автодискавери, что для VPLS. И то и другое вроде описано в недавно принятом rfc6074. Но только для VPLS оно как-то на слуху, и даже встречается в жизни (еще когда было в драфте), то для псевдопроводов я никогда не интересовался, поддерживается ли где, и как там с интероперабельностью.

                                                                                                                    Судя по свежести стандарта и составу авторов… — как бы это не было тем, что вы приняли за обещанную поддержку Компеллы.
                                                                                                            • 0
                                                                                                              Я вот, кстати, не помню, внутренний CCC на Juniper между мартини и компеллой сделать можно? На худой конец есть старый добрый hairpin.
                                                                                                              • 0
                                                                                                                Сходу не скажу про кроссконнект, надо посмотреть, не возникало такого вопроса. Хэйрпин спасёт всегда, главное чтобы интерфейсов хватило.
                                                                                          • +1
                                                                                            не хотите у нас в университете лекции по сетям ЭВМ читать?
                                                                                            • +2
                                                                                              У нас препод по курсу «Компьютерные сети», с полной уверенностью доказывал что в IPv6 6 байт, то есть 48 бит, по анологии с Ipv4 где 4 байта.
                                                                                            • 0
                                                                                              «Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего)»
                                                                                              Вот именно потому, что октет и байт — две разные вещи, говорят «октет».
                                                                                              • 0
                                                                                                Ну и в какой же реально рабочей системе байт не равен октету по количеству бит?
                                                                                                • 0

                                                                                                  Во-первых, это не важно.
                                                                                                  Во-вторых, что более занятно, даже если две сущности равны друг другу по количеству бит, они все еще не обязательно одно и то же.

                                                                                              • 0
                                                                                                Понравилась цитата «Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда.»

                                                                                                Прям в точку)))