Здравствуйте, das,
d> прошу объяснить разницу между динамическим и статическим ip (кроме
d> различия в неизменчивости статического).
Добавлю несколько слов к объяснениям yuniks. Я больше коснусь
локальных сетей.
Во-первых, надо понимать, что никакого противостояния между
статическими и динамическими ip-адресами нет. В настройках
dhcp-сервера обычно можно указать период, на который компьютер
арендует ip-адрес. Если его указать несколько месяцев, то от
статического он мало чем отличаться будет, в смысле использования.
Во-вторых, надо понимать принципы работы DNS. DNS выполняют две
задачи: преобразуют имена в ip-адреса, и преобразуют ip-адреса в
имена. Например, любое имя в интернете связано с ip-адресом (точнее с
ip-адресами, но это нюансы). Есть целый ряд специальных серверов, где
хранятся таблицы прямого и обратного соответствия имён и адресов.
Отсюда явно следует, что статический адрес необходим для поддержки
сайта. Сайт или ftp может вполне работать и на динамическом адресе,
просто его никто не сможет найти по имени. Но до него можно добраться
по ip-адресу.
В общем-то, на эту дилемму лучше всего смотреть как на метод решения
определённых задач системного администрирования, примерно как на
вопрос - что лучше: гвозди или шурупы? Ответ и там, и там один: смотря
для чего, смотря что делать.
Рассмотрим некоторые типичные проблемы сисадмина. Есть несколько
компьютеров, которые должны друг друга видеть. Например, на сервере
(или просто на одном из компьютеров) стоит общая база данных типа
файл-сервер. Очевидно, что для решение такой простой задачки
достаточно одно-ранговой сети (такой сети, которой не управляет
специально выделенный компьютер - сервер). Ходить по машинам, и
ставить статические ip-адреса совершенно лишняя работа (с некоторыми
оговорками, о которых после). DHCP поддерживают сами виндоуз, и
специальный сервер для этого объявлять необязательно. Просто загоняем
все компьютеры в одну рабочую группу, для большего удобства. Открываем
общий доступ на папку с файлами файл-сервера, и, например, объявляем
её сетевым диском, который виндоуз может монтировать либо при загрузке
системы, либо при первой же необходимости.
Казалось бы, всё - зашибись, и "сисадмин" может почивать на лаврах. Но
тут происходит большая беда - у этой сети появляется выход в интернет.
Сисадмину приходится напрячься, ставить какой-нибудь раутер, и на
всех машинах прописать его в качестве шлюза, то есть устройства,
соединяющего разные сети между собой. Все счастливы, и сисадмину
готовятся выдать премию, но выдают выговор, так как тут же выясняется,
что из интернета лезут червяки и вирусы. Сисадмину приходится
напрячься, найти и поставить файервол и антивирус, либо общий, либо на
каждую машину, либо корпоративный. Опять всё хорошо, и сисадмин
готовит карман для премии, но получает ещё один выговор, за перерасход
интернет трафика.
И тут начинаются разветвлённые варианты. Проще всего (в смысле
лёгкости работы для сисадмина) поставить какой-нибудь прокси.
Например, IpCop - урезанный линукс специально для таких целей. Там
можно и фильтровать и запрещать определённые сайты, и устанавливать
квоты на трафик. И всё это только для ip-адресов. То есть, там нельзя
оперировать именами машин. Тогда сисадмин сильно задумывается: а что
же проще, поставить везде стат-адреса, или плюнуть на их, и
периодически, когда у пользователя отвалится интернет из-за смены
ip-адреса службой dhcp, с умным видом объяснять ему, что не надо
тупить и лазить, где не надо, а надо дружить с сисадмином, при этом
тихо подправляя его ip-адрес в таблицах прокси-сервера.
Ну, и с этим сисадмин справляется (как показывает жизнь, часто смена
задач сопровождается сменой сисадмина). Но возникает вопрос о том, что
начальник хочет видеть все общие документы, но не хочет, чтобы его
документы видел кто-то ещё. Аналогичное желание возникает у
бухгалтерии, отдела кадров и так далее. И где-то в глубине и без того
свёрнутых набекрень мозгов сисадмина появляется слово _подсеть_. Это,
собственно, такая же сеть, и физически подсети соединены с серверами и
прокси в одну локальную сеть, но друг друга им лучше не видеть, или
видеть с ограничениями. Это приводит к необходимости маршрутизации. То
есть управлению потоками пакетов, направлением их по специально
разработанным маршрутам, чтобы они попадали куда нужно (например, на
прокси сервер), и не попадали куда не надо (например, на бухгалтерский
сервер).
В принципе, современные свитчи и виндоуз позволяют это делать. Но увы,
в основном все эти инструменты работают с ip-адресами. А это означает,
что статические адреса проще обрабатывать. Хотя, справедливости ради,
ещё раз скажу, что любую задачу можно выполнить и с динамическими, и
со статическими адресами.
Дальше начинаются проблемы с пользователями. Мы-то, по наивности,
думали, что каждый работает только на своём рабочем компьютере, и
управляли мы (через ip-адреса) именно компьютерами, которые прокси
считает пользователями. Допустим, мы установили квоту трафика шустрому
Васе Пупкину, на его ip-адрес до 100 Мб в месяц, так, чтобы он не
качал чего не попадя. Но тут выясняется, что хитрый Вася Пукин
забалтывает своих соседок, и качает с их компьютеров. Снова сисадмину
приходится напрягаться, и строить что-нибудь _эдакое_ эпических
размеров: заводить доменный сервер, каждому пользователю под расписку
выдавать логин и пароль, определять группы пользователей, и
разрабатывать политики для них, ставить какое-нибудь чудо в перьях,
типа ISA, которое интегрируется с active directory, и тогда снова можно
обходиться динамическими адресами внутри сети.
Чем с точки зрения сисадмина хорош динамический адрес? Двумя основными
чертами. Во-первых, о нём не надо заботится. Пришёл новый комп -
настройка минимальная - Шлюз да, может быть, DNS-сервер прописать. Ну
и в домен вогнать при необходимости. Всё это и для статического адреса
нужно проделать, но там ещё надо помнить какой адрес свободен, а если
компьютеров несколько десятков, это становится напряжным, нужно вести
карту компьютеров и какую-то систему их нумерации. Тут проявляется
второй момент: dhcp сам разводит адреса, он не даёт один ip-адрес двум
компьютерам. А сисадмин запросто может такое учудить, что вызывает
лишнюю беготню и суету.
Чем плох динамический ip-адрес? Да тем, что многие удобные инструменты
ориентированы именно на ip-адреса. Например, тот же RAdmin. Там
компьютер запоминается по ip-адресу. И если dhcp его сменит, и прежний
присвоит другому компу, то вламываясь через RAdmin на компьютер
пользователя, вы неожиданно для себя попадаете на совсем другой
компьютер. Или те же проблемы с простыми прокси-серверами, оперирующими
ip-адресами.
Теперь о некоторых нюансах. Это уже из, так сказать, мифологии
сисадминов. Сетевые устройства бывают, мягко говоря, очень разными.
Для простоты я буду называть хабом такое устройство которое соединяет
все гнёзда между собой, ни о чём не задумываясь. Они плохи тем, что
принятый с одного разъёма сети пакет рассылают по всем разъёмам мол,
на конце сама операционка определит, ей ли этот пакет. Очевидно, что
каждый пакет назначен только одной машине, и его незачем гнать на все
разъёмы, забивая сеть мусорным трафиком. Поэтому, сейчас применяются
более-менее интеллектуальные свитчи, которые могут запомнить, что вот
с этим разъёмом связан именно такой-то ip-адрес. Выигрыш виден сразу,
а вот проблемы не всегда сразу видны. А суть в том, что изменение
динамического ip не всегда запоминается свитчём, чёрт его знает, толи
это сбои техники толи глюки на дешёвых свитчах, но такое бывает. И
выход при этом достаточно суровый, можно сказать, хирургический:
перезагрузка свитча - выключил (обрушив при этом всю сеть), включил, и
оно заработало как надо. В такой ситуации можно либо перестраховаться,
и все машины перевести на статику, либо приставать к начальству чтобы
не экономили на свитчах.
И это только цветочки. Чем дальше в лес, тем толще партизаны. Для
больших энтузиастов сетевого администрирования могу посоветовать
копаться в книгах CISCO, вплоть до получения сертификатов, которые
ценятся достаточно высоко.
--
С наилучшими пожеланиями
Владимир Лукьянов, Москва