Лекция №4. IP-адреса, маски подсети и основной шлюз

advertisement
Лекция №4. IP-адреса, маски подсети и основной шлюз
Итак, мы уже знаем, что компьютеры, подключенные к сети TCP/IP,
должны иметь IP-адрес, чтобы связаться с другими компьютерами в их
собственной подсети. При установке компьютера в сеть ему следует либо
вручную указать фиксированный IP-адрес, либо указать ему IP-адрес сервера
DHCP, который будет предоставлять ему IP-адрес из пула (т.е. списка)
доступных для использования IP-адресов. Но это еще не все функции IPадресов. Дело в том, что IP-адреса используются для адресации компьютеров
в огромной сети Интернета и в функции IP-адресов входит обеспечение
маршрутизации связей между компьютерами. Каждый хост А для связи с
другим хостом В должен обращаться к маршрутизаторам, которые
производят поиск наилучшего пути, ориентируясь на непрерывно
обновляемые данные о состоянии маршрутов между сетевыми хостами.
Неимоверное число компьютеров Интернета делает задачу маршрутизации
чрезвычайно трудоемкой. Поэтому все множество IP-адресов потребовалось
разбивать на части, соответствующие подсетям Интернета, после чего
появляется возможность маршрутизировать связи между подсетями, в
которых расположены хосты, а не между самими хостами. Это резко
сокращает объем обрабатываемой маршрутизаторами информации и делает
сеть более жизнеспособной.
Подсеть - это часть сети, которая расположена на ее собственном
физическом сегменте и обычно отделяется от других подсетей
маршрутизатором. Компьютеры, входящие в одну подсеть, указываются IPадресом, в котором определенная часть отводится под задание номера
подсети. Поясним это подробнее, поскольку вам придется заниматься
назначением IP-адресов компьютеров строящейся сети.
Как вы помните, IP-адрес представляет собой 32-разрядное число,
которое записывают в виде 4-х чисел в диапазоне от 0 до 255. Поэтому для
указания компьютеров отдельной подсети в их IP-адресах можно, например,
отвести первые 16 разрядов, т.е. первые два числа под номер сети, а
остальные два числа - под номера сетевых компьютеров. Та часть IP-адреса,
которая отводится под номер подсети, называется идентификатором
подсети, а остальная часть - идентификатором хоста.
Скажем, IP-адреса компьютеров подсети могут быть такими:
192.168.0.1,
192.168.0.2, . . . , 192.168.255.255.
Здесь первые два числа определяют идентификатор подсети
192.168.0.0, а последующие два числа содержат идентификаторы хостов
подсети. Чтобы отделить в IP-адресе идентификатор подсети от
идентификатора хоста, используется специальный параметр, называемый
маской подсети. А как же тогда компьютеры подсети могут связываться с
внешним миром? Для этого каждому компьютеру подсети указывается IPадрес компьютера, который будет играть роль шлюза между подсетью и
внешним миром. Чтобы посылать информацию через маршрутизатор на хост
вне собственной подсети, хостам-компьютерам Windows в настройках
протокола TCP/IP указывается IP-адрес так называемого основного шлюза,
или шлюза по умолчанию. На основном шлюзе можно установить средства
защиты, подключить его к модемной линии связи с сервером Интернета - в
1
общем, идея подсетей, связанных с внешним миром через отдельный шлюз,
достаточно понятна и весьма эффективна.
Вы, наверное, уже оценили все удобство использования подсетей - это
прекрасный способ разделения сетей TCP/IP на части, которые используют
собственные сетевые посредники, системы имен, настройки системы
безопасности, и так далее, т.е. живут собственной жизнью, общаясь с
остальным миром через защищенный шлюзовый компьютер.
Давайте обсудим эти вопросы поподробнее и начнем с процедур
назначения IP-адресов сетевым компьютерам. Понимание, что же это такое IP-адрес, и умение разделить сеть на подсети настройкой IP-адресов хостов
чрезвычайно важно для работы с инструментами управления сетями TCP/IP.
Без владения хотя бы основными приемами настройки IP-адресов для
сетевых компьютеров вам сеть не создать.
IP-aдpec
IP-адрес - это двоичное 32-разрядное число, которое идентифицирует, в
какой из подсетей постоянно находится компьютер, а также уникальный
номер компьютера в той подсети. Для лучшего восприятия это число
преобразуется в четыре десятичных числа со значениями в пределах от 0 до
255. Ниже приведен пример IP-адреса, представленного в виде четырех
десятичных чисел и в виде соответствующего им двоичного 32-разрядного
числа.
• Четыре десятичных числа: 207.219.170.193.
• 32-разрядное двоичное число: 11001111.11011011.10101010.11000001.
При преобразовании чисел из двоичного в десятичный формат
воспользуйтесь Таблицей 2.1.
Табл. 2.1. Десятичные значения битовых комбинаций
Эта таблица показывает возможные комбинации для различного числа
битов, используемых начиная с крайнего правого (младший значащий бит).
Далее приведен пример использования таблицы для преобразования
двоичного числа в десятичное.
• Двоичное число: 11001111
• Десятичное число: 128 + 64 + 0 + 0 + 8 + 4 + 2 + 1 =207
Классы IP-aдpecoв
Каждый компьютер в сети TCP/IP должен иметь собственный IP-адрес,
который идентифицирует сам компьютер и содержащую его подсеть. На
первый взгляд кажется, что любой разработчик сети TCP/IP при назначении
IP-адресов волен выбирать любой свободный номер, не заботясь ни о каких
ограничениях. Все это правильно, если вы создаете собственную сеть, однако
для Интернета это не так, поскольку IP-адреса хостов ни в коем случае не
должны совпадать.
Поэтому выдачей IP-адресов для сети Интернета занимаются
уполномоченные организации, например InterNIC (http://www.internic.net),
2
руководствуясь определенными правилами, а именно: IP-адреса Интернета
должны входить в один из перечисленных ниже классов IP-адресов.
• Класс А - Старший бит в адресе класса А всегда должен быть равен нулю
(0). Этот бит и следующие 7 битов отведены для сетевого адреса.
Остающиеся 24 бита отводятся для адресов сетевых компьютеров. Таким
образом, первое десятичное число в IP-адресе сети класса А может иметь
значение в диапазоне 0-127, предоставляя создать 128 возможных подсетей
класса А; однако, в действительности, таких сетей допускается только 126,
поскольку два числа 0 и 127 сохранены для специальных целей
(обсуждаемых далее в этом разделе). IP-адреса класса А в десятичном виде
таковы: от 1.0.0.0 до 126.0.0.0.
• Класс В - Два старших бита в IP-адресе класса В всегда являются
комбинацией битов 1 и 0. Эти два и следующие 14 битов отведены для
сетевого номера, а оставшиеся 16 битов используются для адресации
компьютеров. Поэтому могут использоваться всего 16383 подсетей класса В,
каждая с 65000 хостами. IP-адреса класса В в десятичном виде таковы: от
120.0.0.0 до 191.255.0.0.
• Класс С - Первые два бита IP-адреса должны быть единицей (1), а третий
бит должен быть нолем (0). Эти 3 бита и следующие 21 битов сохранены для
сетевого номера, а остающиеся восемь битов используются для адресации
сетевых хостов. Возможное число подсетей класса С равно 2000000 с 254
компьютерами каждая. IP-адреса класса С в десятичном виде таковы: от
192.0.0.0 до 223.255.255.0.
Существуют также классы сетей D и Е, но они не используется для
основных адресов Интернета. Также придерживаются некоторые IP-адреса,
потому что они предназначены для специального использования. Например,
IP-адреса, которые начинаются со 127, недопустимы, поскольку
соответствующая им сеть сохранена для целей тестирования. IP-адрес
127.0.0.1 называется адресом обратной связи, который используется для
проверки функциональных возможностей платы сетевого адаптера и работы
подключения ТСР/ IP.
Если при тестировании этого IP-адреса будет возвращен правильный
сетевой отклик, плата сетевого адаптера может функционировать, используя
протокол ТСР/ IP, но, в то же самое время, не обязательно использовать IPадрес.
Упомянем одну деталь относительно исходящих IP-адресов: сетевой
номер или адрес хоста не могут отображать все ноли или все единицы в
двоичном коде адреса. Все ноли в адресе представляют "эту сеть", в то время
как все единицы представляют адрес широковещательной передачи. Это не
означает, что ноль или 255 (десятичный эквивалент) не может быть частью
IP-адреса. Например, IP-адрес 128.0.0.1 с маской подсети 255.255.0.0 правильный (допустимый) IP-адрес, потому что сетевой адрес (128.0) и адрес
хоста (0.1) оба содержат единицу при преобразовании в двоичный код.
Maскa подсети
Маска подсети определяет, какая часть IP-адреса является сетевым
адресом, а какая часть является адресом хоста. Маска делает это "маскируя",
т.е. "закрывая" с помощью двоичного числа ту часть сетевого IP-адреса,
3
которая отведена для нумерации подсетей. Ниже приведен пример IP-адреса
и маски подсети.
• IP-адрес в виде четырех десятичных чисел: 207.219.170.193
• Маска подсети в десятичном виде: 255.255.255.0
• IP-адрес в виде 32-х разрядного двоичного числа:
11001111.11011011.10101010.11000001
• Маска подсети в двоичном виде: 11111111.11111111.11111111.00000000
Путем установки 1 во все первые 24 бита три первых числа октета
были замаскированы, т.е. сделаны недоступными для назначения адресов
хостов, и выделены для указания номера подсети. Т.е., в нашем случае, все
числа, "накрытые" маской, являются номерами подсетей, а последнее
десятичное число, или восемь битов, оставлено для адресов хостов подсети.
При организации связей между компьютерами маски подсети
используются для определения, находится ли целевой хост внутри той же
самой подсети, что и исходный хост, или же целевой хост - удаленный, т.е.
лежит вне подсети. Если целевой хост - удаленный, исходный хост пошлет
информацию по IP-адресу основного шлюза, заданного при настройке
протокола TCP/IP компьютера.
Чтобы определить местоположение целевого хоста, следует для
целевого и исходного хостов вычислить идентификаторы подсетей, которые
должны быть одинаковыми у всех хостов подсети. Если два полученных
идентификатора сети будут равны - хосты находятся в одной подсети, и
наоборот. Для вычисления идентификатора сети применяется операция,
называемая ANDing.
Операция ANDing
Операция ANDing выполняет побитовую операцию "И" над двумя
двоичными числами: IP-адресом хоста и маской подсети данного хоста. При
выполнении операции ANDing всякий раз, когда в соответствующем
двоичном разряде IP-адреса И в маске подсети стоит 1, то результат
операции ANDing будет равен 1, любая другая комбинация значений битов в
разрядах этих двоичных чисел будет равна нулю. Полученное в результате
число будет равно идентификатору сети.
Например, пусть исходный компьютер с IP-адресом 207.219.170.193
посылает информацию на целевой компьютер с IP-адресом 207.219.170.129.
Как следует из значения первого числа в IP-адресе, эти компьютеры входят в
сети класса С, т.е. оба имеют маску подсети 255.255.255.0. Следует
определить, принадлежит ли целевой компьютер подсети исходного
компьютера или это удаленный компьютер вне маршрутизатора.
Невооруженным взглядом можно увидеть различие почти сразу, но для
компьютера потребуется исполнение операции ANDing, которая определит
идентификаторы подсети исходного и целевого хоста, сравнив которые
можно сделать выводы, локальный ли целевой хост или удаленный.
Последовательность исполнения операции ANDing такова.
 Берем IP-адрес исходного хоста: 207.219.170.193
 Берем маску подсети исходного хоста: 255.255.255.0
4
 Преобразуем исходный IP-адрес в двоичное число (методами двоичной
арифметики): 11001111.11011011.10101010.11000001
 Преобразуем маску подсети исходного хоста в двоичное число:
11111111.11111111.11111111.00000000
 Выполняем операцию ANDing над двоичными числами IP-адреса и
маски подсети исходного хоста и получаем исходный идентификатор:
11001111.11011011.10101010.00000000
 Берем IP-адрес целевого хоста: 207.219.170.129
 Преобразуем целевой IP-адрес в двоичное число:
 11001111.11011011.10101010.10000001
 Преобразуем маску подсети целевого хоста в двоичное число:
11111111.11111111.11111111.00000000
 Выполняем операцию ANDing и получаем целевой идентификатор:
 11001111.11011011.10101010.00000000
 Два полученных идентификатора подсетей идентичны, так что целевой
компьютер - локальный.
Как мы уже говорили, IP-адрес определяет логический сетевой адрес и
адрес хоста для каждого сетевого компьютера. Компьютеры, которые
связываются друг с другом в сети на одной и той же стороне
маршрутизатора, все имеют идентичный сетевой номер, означающий, что
первая часть IP-адреса у них является одинаковой. Последняя часть IP-адреса
уникальна для каждого сетевого хоста. Все это делается с помощью маски
подсети.
Организация подсетей
Хотя описанное выше разделение сетей на классы, обладающие
определенными IP-адресами, весьма полезно, обстоятельства могут
потребовать дальнейшего разделения подсетей каждого класса на более
мелкие подсети для обеспечения более управляемого размера сети.
Например, пусть компании Pupkin Ltd организацией InterNIC была назначена
сеть класса С с IP-адресом 192.168.112.0. Это дает ей общее количество 254
(256 минус адреса со всеми нолями и всеми единицами) адресов хостов,
которые могут использоваться для подключения к сети компьютеров,
принтеров и маршрутизаторов.
Допустим, компания Pupkin Ltd занимает пять этажей в здании и
компании требуется разделить свою сеть класса С на шесть меньших
подсетей, по одной сети на этаж плюс одна сеть на стороне. Для этого
следует снова прибегнуть к маскам подсети и выделить в полученном IPадресе часть битов для номеров подсетей. Если для этой цели применить
первые три бита в части IP-адреса, отведенной для идентификации хостов, то
это предоставит нам достаточное число возможных комбинаций, чтобы
организовать внутри своей большой офисной сети шесть меньших подсетей.
Вот какой будет наша маска подсети (подчеркиванием выделены
добавленные биты маски подсети):
Двоичное
представление
маски
подсети:
11111111.11111111.11111111.11100000.
Десятичное представление маски подсети: 255.255.255.224.
5
В таблице 2.3 приводятся шесть возможных комбинаций IP-адресов,
определяющих идентификаторы подсетей.
Табл. 2.3. Идентификаторы подсетей организации Pupkm Ltd
Обратите внимание, что подсети с номерами из всех нолей и всех
единиц в маске подсети не были учтены из-за тех же самых причин, по
которым не учитываются номера сетей и адреса хоста, состоящие целиком из
нолей и единиц. Также заметьте, что полученные в результате подсети
оставляют пять битов для адресации хостов и каждая подсеть будет иметь
корректный диапазон адресов хоста, которые могут быть присвоены
компьютерам, маршрутизаторам и так далее, которые находятся на этом
этаже.
Следующий пример в Таблице 2.3 иллюстрирует корректный диапазон
IP-адресов хостов первой подсети.
Табл. 2.3. Диапазон IP-адресов первой подсети
Каждая созданная подсеть сделает два IP-адреса недоступными для
использования. Это происходит потому, что любая подсеть не может
использовать адреса хоста из всех нолей и всех единиц. Адрес, состоящий из
всех нолей, используется для представления самой подсети, в то время как
адрес из всех единиц используется для широковещания.
Поэтому первый и последний из возможных адресов подсети,
состоящий, соответственно, только из нолей или только из единиц, являются
недопустимыми. Существуют и другие, более изощренные, методы
разделения сети на совокупность подсетей, при которой каждая подсеть
содержит другие подсети и так далее, однако не стоит увлекаться таким
дроблением, поскольку IP-адреса для этих сетей должны создаваться вами
вручную, причем весьма точно. Если один из ваших компьютеров попадет не
в ту подсеть (скажем, по причине ошибки в маске сети), связь с ним будет
нарушена и вам придется искать причину недоступности хоста, занявшись
тестированием сети, что не так просто.
Итак, мы закончили изложение основной части теоретических знаний о
настройках протокола TCP/IP для построения собственной сети компьютеров
Windows. Однако системы Windows для работы в сетях поддерживают
множество не упомянутых выше средств, включая целый набор протоколов,
доставшихся Windows по наследству и призванных обеспечить
6
совместимость Windows с компьютерами Mac, UNIX и других. Давайте
совершим краткий экскурс в эту достаточно запутанную область (впрочем,
ненужную для практических целей).
7
Download