imho.ws |
|
23.06.2009, 20:21 | # 1 |
Junior Member
Регистрация: 19.12.2005
Сообщения: 69
|
Как по маске определить конкретный ip адрес
Доброго времени суток.
Был на собеседовании.. дали такую задачку... ниже пишу дословно. Всё голову себе выжег. "Пусть имеется подсеть 192.168.35.0/24. Написать маску (или множество) масок, выделяющее из этой сети один единственный адрес 192.168.35.150. Решить задачу таким образом, чтобы множество имело минимум записей." В последствии выяснилось - что там именно ряд масок. Использовавшихся в своё время в этой организации при настройке RRAS. Для задачи ограничения доступа ко всей 35 подсети, кроме 192.168.35.150 Почему нельзя было ограничить по ip незнаю. Задание звучало именно так как я написал. |
23.06.2009, 21:18 | # 2 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Вопрос поставлен некорректно как минимум...
Я так понимаю, оно должно звучать так: "разбить сеть на подсети таким образом, чтобы в одной из подсетей оказался единственный адрес XXX.XXX.XXX.XXX и количество подсетей при этом было минимальным"? Тогда вспоминаем, что маска подсети (как и IP-адрес) - двоичные числа, соответственно увеличение длины маски на 1 делит сеть на пару подсетей. (Вообще рекомендую поискать инфу по теме хотя б в Википедии - в двоичном виде оно просто нагляднее). Для данного конкретного случая: 192.168.35.0/24=192.168.35.0/25+192.168.35.128/25 (т.е. диапазон 0-255 делится на поддиапазоны 0-127 и 128-255). В первую подсеть искомый адрес не попал - соответственно её мы оставляем в покое. Вторую делим ещё напополам: 192.168.35.128/26 и 192.168.35.192/26 (соответственно диапазоны последней группы адреса 128-191 и 192-255). Искомого адреса во втором диапазоне второго этапа разбиения нет, посему оставляем подсеть 192.168.35.192/26 в покое, а 192.168.35.128/26 снова бьём напополам. И так далее, пока в результате последнего шага алгоритма не получим одну из подсетей 192.168.35.150/32 В качестве результата предъявляем список "отброшенных" сетей + обе с последнего шага алгоритма. При помощи спец. программ типа IP Calculator задача решается быстрее, но алгоритм в конечном итоге именно таков...
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
23.06.2009, 23:10 | # 4 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Частично.
Где /26,/27,/29 и вторая /32? Без них список неполный (в смысле, неполностью перекрывается исходная 192.168.35.0/24).
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
23.06.2009, 23:49 | # 5 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
У меня получилось 9 "записей" (подсетей):
192.168.35.0/25 (192.168.35.0-192.168.35.127) 192.168.35.192/26 (192.168.35.192-192.168.35.255) 192.168.35.160/27 (192.168.35.160-192.168.35.191) 192.168.35.128/28 (192.168.35.128-192.168.35.143) 192.168.35.152/29 (192.168.35.152-192.168.35.159) 192.168.35.144/30 (192.168.35.144-192.168.35.147) 192.168.35.148/31 (192.168.35.148-192.168.35.149) 192.168.35.150/32 192.168.35.151/32 Или, в порядке расположения их в исходном адресном пространстве: 192.168.35.0/25 (192.168.35.0-192.168.35.127) 192.168.35.128/28 (192.168.35.128-192.168.35.143) 192.168.35.144/30 (192.168.35.144-192.168.35.147) 192.168.35.148/31 (192.168.35.148-192.168.35.149) 192.168.35.150/32 192.168.35.151/32 192.168.35.152/29 (192.168.35.152-192.168.35.159) 192.168.35.160/27 (192.168.35.160-192.168.35.191) 192.168.35.192/26 (192.168.35.192-192.168.35.255) Метод дихотомии в действии. Возможно, будет понятнее, если нарисовать картинку...
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
23.06.2009, 23:54 | # 6 |
Junior Member
Регистрация: 19.12.2005
Сообщения: 69
|
эти цифры мне выдал http://ipcalc.dewil.ru/
когда Адрес1 был 192.168.35.0 а адрес2 192.168.35.150 может это и не очень корректно... когда расписал на бумажке, получил такие данные: 192.168.35.0/25 192.168.35.128/26 192.168.35.128/27 192.168.35.128/28 192.168.35.144/29 192.168.35.144/30 192.168.35.148/31 192.168.35.150/32 добавлено через 3 минуты Вот у меня реально мозг разрушается... почему так??? 192.168.35.0/25 (192.168.35.0-192.168.35.127) 192.168.35.128/28 (192.168.35.128-192.168.35.143) 192.168.35.144/30 (192.168.35.144-192.168.35.147) 192.168.35.148/31 (192.168.35.148-192.168.35.149) 192.168.35.150/32 192.168.35.151/32 192.168.35.152/29 (192.168.35.152-192.168.35.159) 192.168.35.160/27 (192.168.35.160-192.168.35.191) 192.168.35.192/26 (192.168.35.192-192.168.35.255) диапозоны которые написаны у меня: 192.168.35.0/25 192.168.35.128/26 192.168.35.128/27 192.168.35.128/28 192.168.35.144/29 а если конкретнее 192.168.35.128/26 192.168.35.128/27 192.168.35.128/28 они какбы объединяются? почему их нет в вашем списке??? Или почему "недостающие" подсети у вас в конце... 192.168.35.0/25 (192.168.35.0-192.168.35.127) 192.168.35.128/28 (192.168.35.128-192.168.35.143) 192.168.35.144/30 (192.168.35.144-192.168.35.147) 192.168.35.148/31 (192.168.35.148-192.168.35.149) 192.168.35.150/32 192.168.35.151/32 192.168.35.152/29 (192.168.35.152-192.168.35.159) 192.168.35.160/27 (192.168.35.160-192.168.35.191) 192.168.35.192/26 (192.168.35.192-192.168.35.255) не очень понимаю теорию... то что написал я вроде бы правильно.. хотя опять таки. в том что написаля есть ньюанс - а что делать с теми частями которые я отбрасывал, что делать со вторыми половинками? может быть их тоже нужно вносить? Последний раз редактировалось alsergeich; 24.06.2009 в 00:14. |
24.06.2009, 00:13 | # 7 | |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Блин, ну я ж написАл алгоритм: "полусеть", в которую адрес не попал "отбрасываем" а оставшееся делим пополам. Дихотомия потому что!
Картинку нарисуйте... Цитата:
В моём списке, (если его изобразить ) подсети не пересекаются, все принадлежат сети /24 и занимают её полностью.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
|
24.06.2009, 00:32 | # 8 |
Junior Member
Регистрация: 19.12.2005
Сообщения: 69
|
вот мои расчеты на бумажке...
какой итоговый диапозон все же мой ответ на поставленную мне задачу. 0-127 128-255 /25 128-191 192-255 /26 128-159 160-191 /27 128-143 144-159 /28 144-151 152-159 /29 144-147 148-151 /30 148-149 150-151 /31 150/32 вот такие у меня расчёты получились.. но почему Вы сделали выборку именно таким способом? |
24.06.2009, 00:38 | # 9 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Он всё правильно выдал. Только отвечал на другой вопрос... Список сетей (минимальный), перекрывающий заданный диапазон 192.168.35.0-192.168.35.150. Именно эти сети и выделит вам провайдер из своего пула, если вам дозарезу нужен данный диапазон адресов, не больше и не меньше. Задача со сходным, но не совсем тем же алгоритмом. И решение, соответственно, другое получается.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
24.06.2009, 00:51 | # 11 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Двоичная математика. Дихотомия. Ну хоть у того же Девила гляньте про маски!!! http://ipcalc.dewil.ru/netmask/
Извините, с хренового ГПРС искать справочники проблематично... Иначе чем напополам любая сеть не делится. Обратите внимание на количество и размеры кусков, из которых сложен любой "недвоичный" диапазон... в рассмотренном случае это куски размером от 1/2 до 1/256 (маска соответственно от /25 до /32) от исходного диапазона из 256 адресов (маска /24).
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
24.06.2009, 01:03 | # 12 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Ну. И я так же практически считал. Только записано у меня по-другому немного...
Ответом на Вашу задачу (если я её правильно понял) является приведённый мной список из 9 подсетей, полученный последовательным распополамливанием исходной сети на полусети. При этом исходный диапазон IP-адресов используется полностью (это не совсем так, но сейчас неважно), а искомый IP выделен в отдельную подсеть.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
24.06.2009, 01:15 | # 13 |
Member
Регистрация: 11.09.2007
Сообщения: 213
|
Это как бы ошибка, туда 150 адрес не входит никак
выделение одного единственного адреса это 32 маска, но если адрес нужно выделить для канала точка-точка то, по классическому варианту будет 30 маска, ну и еще 31 маска не может использовать в жизни Сама задача странна и в общем некорректна подозреваю, что умышленно
__________________
На американском форуме тебе дают ответ; На израильском тебе задают встречный вопрос; На русском форуме тебе долго рассказывают какой ты му#ак, да. Последний раз редактировалось werwulf; 24.06.2009 в 01:19. |
24.06.2009, 01:35 | # 14 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Это не ошибка, он туда и не должен входить. Это "отходы производства" при выделении 192.168.35.150/32 в отдельную сеть.
Я как бы и в курсе... Маска 30 бит подразумевает 4 IP адреса, из которых 1 адрес сети, 1 broadcast и 2 могут быть использованы устройствами для канала. Но в данном случае ни о каком канале речи нет.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
24.06.2009, 02:38 | # 15 |
Member
Регистрация: 11.09.2007
Сообщения: 213
|
не сомневаюсь, что в курсе канал точка-точка, это не только канал, но и выделенная машина, что в общем по-моему все же коррелирует со статусом выделенного адреса.
Вообще, повторюсь, что впечатление от вопроса такое, что хотели услышать не набор масок в ответ.. ЗЫ а можно расширить про "отходы производства", а то как-то в голову сходу ничего не приходит..
__________________
На американском форуме тебе дают ответ; На израильском тебе задают встречный вопрос; На русском форуме тебе долго рассказывают какой ты му#ак, да. |
24.06.2009, 11:39 | # 16 | ||
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 380
|
Цитата:
Цитата:
Блин, уже и не знаю, как объяснять! Ну, нельзя из сети /24 выделить одиночную подсеть /32 так, чтобы не получилось "дырки" в адресном пространстве. Соответственно, таких подсетей будет пара. Собственно, это следствие двоичности масок. На самом деле, сетей каждого уровня в сети предыдущего уровня всегда две. Ну рисовать не хотите - хоть представьте себе эту хрень графически... О! или в дробях. Принимаем за 1 сеть /24 (256 адресов). нам нужно разбить её на минимальное количество частей так, чтобы одна из частей была 1/256 (одиночный адрес). Имеем: 1=1/2+1/4+1/8+1/16+1/32+1/64+1/128+1/256+1/256 Т.е. одиночных адресов будет 2.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
||
24.06.2009, 23:13 | # 17 | |
Member
Регистрация: 11.09.2007
Сообщения: 213
|
если это было собеседование, а не тупой тест, то собеседующего иногда интересует прежде всего реакция на задачу и ход мыслей.
Цитата:
__________________
На американском форуме тебе дают ответ; На израильском тебе задают встречный вопрос; На русском форуме тебе долго рассказывают какой ты му#ак, да. Последний раз редактировалось werwulf; 24.06.2009 в 23:15. |
|