
Использование маски подсети в логической операции and
Значение IP-адреса |
Значение маски |
Результат |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Таким образом, когда маска подсети 255.0.0.0 применяется по отношению к адресу класса С, только часть IP-адреса, содержащаяся в первом байте, определяется как адрес сети. Отсюда несложно рассчитать маски подсети для адресов класса В – 255.255.0.0 и класса С – 255.255.255.0.
Разделение адресного пространства с помощью масок подсетей
Маски подсетей могут использоваться для маскирования тех частей адреса, которые согласно структуре класса определяются как адреса сети. На практике разделение на подсети применяется в случае, когда конкретное сетевое адресное пространство разбивается дальше на отдельные подсети.
Например, маска подсети 255.255.255.128 может использоваться для разделения адресного пространства класса С на две подсети. Если эту маску применить к сети с IP-адресом 192.113.255, в результате получается одна подсеть с диапазоном адресов от 192.113.255.1 до 192.113.255.128 и вторая подсеть – от 192.113.255.129 до 192.113.255.254. При этом адреса, которые содержали бы в последнем байте все нули или все единицы, исключены. Они являются адресами специального использования и, как правило, не присваиваются компьютерам (например, 192.113.255.0).
Маска подсети 255.255.255.192 разделила бы адресное пространство класса С на четыре подсети с доступными 62 адресами узлов в каждой. В двоичном формате значение 192 имеет вид 11000000. Таким образом, остается только шесть битов, которые могут быть использованы для определения адреса узла. Наибольшая величина, которая может быть записана шестью битами, – 63, а поскольку нельзя использовать адреса узлов со всеми нулями или единицами, остается только 62 доступные комбинации.
На рис. 5 показаны три составляющие IP-адреса: адрес сети, адрес подсети и адрес узла.
|
Рис. 5. Маска определяет адрес сети, адрес подсети и часть IP-адреса, задающую узел |
Распознавание имен и вопросы маршрутизации
В сетях TCP/IP используются два типа адресации. МАС-адреса являются реальными адресами устройств и используются для связи на физическом уровне. IP-адресация позволяет создавать логические иерархические конструкции адресов для идентификации сетей, подсетей и отдельных узлов, что облегчает управление локальными сетями и адресным пространством. Однако существует уровень организации сети, еще более удаленный от физического уровня МАС-адресов, – имя узла.
Распознавание имен
Поскольку человеку гораздо проще запомнить имя, чем шестнадцатеричный МАС-адрес или десятичный IP-адрес, компьютерам в сети даются имена. Они могут нести какую-то информацию, например Atlanta или Toronto, что указывает на место расположения компьютера, либо быть полностью произвольными. Например, некоторые пользователи дают своим компьютерам имена персонажей из "Звездных войн". Ведь не так важно имя само по себе, как-то, чтобы оно легко запоминалось, и было понятно каждому пользователю.
Для преобразования имен TCP/IP в МАС-адреса в локальной сети используется протокол АRP. Существует несколько способов совмещения IP-адреса с именем узла: от простых таблиц подстановок в текстовых файлах до постоянно развивающейся службы каталогов, которая является сейчас самой популярной.
Файлы
Простейшим способом распознавания имени узла по IP-адресу является использование текстового файла. Этот подход применялся на начальных этапах развития сетей, основанных на TCP/IP. Файл обычно имеет имя HOSTS или HOSTS. TXT, в зависимости от операционной системы и поставщика ПО TCP/IP для конкретной машины. В Windows NT 4.0 соответствующий файл находится в папке \<systemroot>\System32\ Drivers\Etc\hosts.
Файл построен просто. Каждая его строка содержит IP-адрес, за которым следует один или более пробелов, а затем имя узла. Вслед за именем можно поместить третью колонку с примечаниями, но им должен предшествовать символ #. Например, строки в файле HOSTS могут выглядеть так:
192.113.252.13 yoko.ono.com #Tim's workstation
192.113.252.14 Karma.ono.com #Sally's workstation
Этот способ определения имен лучше всего работает в малых сетях. Во-первых, достаточно сложно при большом количестве компьютеров поддерживать и обновлять информацию в файлах HOSTS. Во-вторых, на сегодняшний день существуют намного более эффективные способы совмещения адресов и имен.
Служба каталогов и система доменных имен
Система доменных имен DNS (Domain Name System) была создана для автоматизации преобразований имен узлов в их IP-адреса и наоборот, а также для централизации процесса внесения изменений в назначенные IP-адреса. На первых этапах развития Internet хранение и поддержка файла HOSTS, который содержал имена и адреса всех существующий тогда в Internet узлов, осуществлялись с помощью одного компьютера.
Основной недостаток этой системы заключался в большом объеме данных и временных затратах на синхронизацию взаимодействий всех машин. Кроме того, при таком способе определения имен: перечень имен для узлов раньше или позже исчерпался бы. Поэтому для выполнения в 1984 году была разработана система имен доменов DNS. В дополнение к этому для упрощения процесса обновления базы данных имен и адресов компьютеров было принято использование иерархической структуры доменов. Вместо употребления простого имени узла каждому компьютеру назначалось имя, где содержалось указание на его сеть или подсеть.
Например, вместо clunker в качестве имени узла нужно было использовать clunker.dunker.com. Это означало уникальное имя компьютера, названного clunker, принадлежащего домену dunker. corn. С использованием иерархической системы имен появилась возможность существования более чем одного узла с именем clunker. Например, clunker.acme.com и clunker.dunker.com — это не одно и то же.
Итак, DNS – это иерархическая база данных, охватывающая множество компьютеров в Internet. Существует корневой сервер, содержащий информацию о доменах верхнего уровня, таких как .СОМ, .EDU, .GOV и некоторых других. Каждый из доменов имеет сервер имен доменов, который поддерживает список имен компьютеров и соответствующих им IP-адресов, используемых в этом домене. При необходимости получить адрес узла по имени компьютеры-клиенты запрашивают эту информацию на серверах DNS. Если локальный сервер DNS нашел соответствующую запись, то IP-адрес отправляется запрашивавшему узлу. Если же информации об IP-адресе для имени узла или домена в локальной базе данных на сервере нет, то он шлет запрос вверх по цепи серверов DNS, пока не будет найден сервер, знающий этот адрес.
Таблицы маршрутизации
В зависимости от используемой технологии существует некоторый предел роста локальной сети связанный с ростом числа коллизий и ограничениями на время обхода сети. Такая локальная сеть была определена как домен коллизий. В других сетевых технологиях есть свои факторы, устанавливающие предельный размер любого отдельного сетевого сегмента, все компьютеры которого могут свободно напрямую обмениваться пакетами данных.
Для преодоления ограничений на размеры локальной сети используется маршрутизация. В IP-адресации возможна организация иерархической структуры для разделения сетей на сегменты. Так как адрес сети отделен от адреса узла, можно обращаться либо к компьютеру, либо к конкретной сети.
Когда компьютеры обмениваются данными внутри одного и того же сетевого сегмента, для соединения друг с другом они используют МАС-адреса. Для получения же пакета данных от компьютера другого сетевого сегмента используется маршрутизатор. В настройках tcp/ip необходимо указать шлюз. Он представляет собой адрес, по которому будет послан пакет, если локальный компьютер определит, что адрес назначения находится за пределами локального сегмента. Затем пакет направляется на маршрутизатор, который непосредственно связан с сетевым сегментом назначения, либо на маршрутизатор, которому известен путь к нему.
На рис. 6 изображены рабочие станции, которые связаны друг с другом посредством концентратора в сеть А и могут обмениваться данными с помощью МАС-адресов. Однако при пересылке пакета в сеть Б концентратор направляет его на маршрутизатор.
|
Рис. 6. Маршрутизаторы связывают локальные сегменты в более крупную сеть |
Маршрутизатор сети А содержит в памяти адрес, который сообщает, что доставка в сеть назначения должна происходить через маршрутизатор Б. Таким образом, пакет отправляется на маршрутизатор Б, который и отсылает его в соответствующий сетевой сегмент для конечной доставки.
Прежде чем достигнуть своего назначения, пакет может проследовать через несколько маршрутизаторов. Когда пакет попадает на маршрутизатор, который связан с сетью назначения, этот маршрутизатор помещает в него МАС-адрес целевого компьютера и пакет доставляется получателю.
Для выполнения этих функций маршрутизаторы хранят список адресов, известный как таблица маршрутизации. Формат таблицы зависит от протокола, используемого маршрутизатором, и может варьироваться от одного маршрутизатора или компьютера к другому. Таблица маршрутизации – это всего лишь список сетевых адресов и адресов, которые могут быть использованы для направления данных в другие сетевые сегменты. Некоторые таблицы маршрутизации ведут счет переприемов: регистрацию количества устройств между текущим маршрутизатором и сетью назначения. Число переприемов также может быть использовано для расчета кратчайшего пути пакета, если он проходит более чем через один маршрутизатор.
Таблицы маршрутизации хранятся также и на локальном компьютере. Это обусловлено тем, что с локальной сетью может быть связано более одного маршрутизатора. Помимо шлюза по умолчанию, в таблицу маршрутизации администратор может поместить статические записи. Когда пунктом назначения выходящего пакета не является локальная сеть, компьютер обращается к таблице маршрутизации. Если адрес сети назначения найден, пакет направляется адресату. Если указание на сеть адресата не найдено в таблице, пакет отправляется на шлюз по умолчанию.
Приведенное описание принципов маршрутизации показывает, что адресация в TCP/IP тесно связана с формированием иерархической структуры сети. Если бы вместо сетевых адресов использовались МАС-адреса, обслуживание таблицы, которая содержала бы маршруты к каждому компьютеру в сети (даже если бы она была намного меньше современной Internet), была бы для администратораочень сложной задачей.
Если при формировании или обновлении сети в качестве сетевого протокола будет использоваться ТСР/IР, необходимо назначить IP-адреса для каждого компьютера и настроить подсеть (установить маску подсети и шлюз) для каждого сетевого сегмента. Кроме того, чтобы успешно решать возникающие в сети проблемные ситуации, следует четко понимать основные принципы маршрутизации.
Команды диагностики
Пакет TCP/IP включает не только протоколы, но и много полезных утилит, таких как FTP и Telnet. Этот набор содержит также несколько утилит, которые упрощают администрирование, поиск и устранение неисправностей.
Использование PING для проверки связи
Если предполагается, что отсутствует связь с некоторым узлом в сети, команда PING – это первое средство, к которому следует обратиться. С помощью этой команды можно проверить, правильно ли выполнены установки TCP/IP на локальном (или удаленном) компьютерах.
Термин PING означает Packet Internet Groper, что можно перевести как пакетный группировщик Internet. Основная функция этой утилиты – проверка наличия физической связи между двумя системами в сети. Для обмена пакетами с удаленной системой PING использует протокол ICMP. Удаленная система отсылает пакеты обратно и, таким образом, круг замыкается. Команда PING выдает информацию о том, сколько времени (в миллисекундах) заняла эта операция, а также сообщает об ошибке, если пакеты не вернулись.
Синтаксис команды PING может варьироваться в зависимости от типа операционной системы, а в системах UNIX отличается даже от версии к версии. В общем случае запись команды выглядит как PING имя узла или PING IP-адрес.
Синтаксис этой команды в операционной системе Windows NT таков:
ping [-t] [-a] [-n число] [-l длина] [-i время] [-v тип] [-r число]
[-s число] [-j список узлов] [-k список узлов] [-w время] список назначений
Используются следующие ключи:
-t – продолжает отправку PING-запросов, пока работа не будет прервана сочетанием клавиш <Ctrl+C>. Статистика выводится на экран после останова команды;
-а – разрешает использование имен узлов вместо IP-адресов;
-n число – указывает количество эхо-запросов для отправки;
-l длина – указывает длину эхо-запросов;
-f – запрещает фрагментирование пакета; определяет, изменяло ли устройство размер пакета между узлами;
-i время – устанавливает значение времени жизни (Time to Live – TTL) отправляемых пакетов;
-v тип – устанавливает тип обслуживания (Type of Service — TOS);
-r число – отображает пути для заданного числа переприемов;
-s число – отмечает время для указанного числа переприемов;
-j список узлов – маршрутизация пакетов через указанные узлы. Последовательные узлы могут быть разделены шлюзами;
-k список узлов – маршрутизация пакетов через указанные узлы. Последовательные узлы не могут быть разделены шлюзами;
-w время – устанавливает время ожидания ответа в миллисекундах.
Синтаксис команды PING, так же как и ее эффективность в качестве диагностического средства, может варьировать в зависимости от приложения. Простейший пример выполнения команды PING:
F:\>ping 10.10.10.10
Pinging 10.10.10.11 with 32 bytes of data:
Reply from 10.10.10.11: bytes=32 time=10ms TTL=128
Reply from 10.10.10.11: bytes=32 time=10ms TTL=128
Reply from 10.10.10.11: bytes=32 time=10ms TTL=128
Reply from 10.10.10.11: bytes=32 time=10ms TTL=128
Ping statistics for 10.10.10.11:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milliseconds:
Minimum=0ms, Maximum = 10ms, Average — 2ms
В данном примере команда выполнена успешно. Ни один из пакетов не был утерян при пересылке, и время ответа составляло 10 или меньше миллисекунд. Размер отправленных пакетов измерялся 32 битами.
Техническое примечание. Если удаленный узел не отвечает на команду ping, это еще не означает, что он физически разъединен с сетью, т.е. нельзя утверждать, что отсутствие ответа указывает на неполадки с проводами. Ошибка может заключаться в каком-либо промежуточном устройстве, таком как маршрутизатор или мост. Поэтому для успешной работы всегда необходимо иметь подробную схему сети. При поиске причин неполадок нужно проверять не только конечные узлы, но и все устройства и кабели между ними.
Команда TRACEROUTE
Команда диагностики TRACEROUTE походит на PING тем, что использует протокол ICMP для определения всех устройств, через которые проходит пакет на пути к своему назначению. Она может предоставить полезную информацию о пройденном пакетом маршруте при диагностике медленного ответа на команду PING. Также путем проверки каждого этапа маршрута с помощью этой команды можно отыскать точку в сети, где проявляются неполадки.
Команда TRACEROUTE, названная в Windows NT tracert, устанавливает время жизни пакета (TTL) и анализирует возможность получения сообщения протокола ICMP об истечении времени ожидания TIME_EXCEEDED от каждого из маршрутизаторов на пути пакета. Время жизни TTL представляет собой число разрешенных переприемов, которые может сделать пакет до своего уничтожения. Таким образом, начав с 1 и увеличивая каждый раз величину времени жизни на единицу, команда TRACEROUTE может получить сообщение об истечении времени от любого маршрутизатора или другого устройства, через которое должен пройти пакет. На каждом этапе отсылаются три пакета.
В Windows NT команда TRACEROUTE имеет следующий синтаксис:
tracert [-d] [-h максимальное число переприемов] [-j список узлов]
[-w время] имя мишени
Используются такие ключи:
-d – использование имен узлов вместо IP-адресов не разрешается;
-h максимальное число переприемов – максимально допустимое число переприемов для достижения цели;
-j список узлов – маршрутизация пакетов через указанные узлы. Последовательные узлы могут быть разделены шлюзами. Свободный выбор пути среди систем в указанном списке;
-w время – установка времени ожидания в миллисекундах.
С помощью этой команды можно получить достаточно обширную информацию о том, как функционирует сеть. Три временных колонки показывают, сколько времени занимает каждая из трех попыток связи с конкретным устройством. Знак звездочки, появившийся в любой из этих колонок, показал бы, что пакет ICMP не возвратился. Имя узла и адрес указываются по умолчанию. Если в каком-то месте произошел сбой команды, можно возобновить поиски неисправности с последнего успешного переприема.
Пример выполнения команды TRACEROUTE в Windows NT.
D:> tracert www.bellsouth.net
Tracing route to www.bellsouth.net [205.152.0.46]
over a maximum of 30 hops:
1 |
231ms |
200ms |
220ms |
envlnjewsap02.bellatlantic.net. [192.168.125.189] |
2 |
161ms |
160ms |
160ms |
192.168.125.158 |
3 |
180ms |
200ms |
181ms |
206.125.199.71 |
4 |
181ms |
160ms |
180ms |
Hssi4-1-0.border2.teb1.IConNet.NET.[209.3.188.201] |
5 |
241ms |
180ms |
180ms |
POS10-0-0.core2teb1.IConNet.NET. [204.245.71.221] |
6 |
180ms |
181ms |
280ms |
HssiO-0-0.peeri.pski.IConNet.NET. [204.245.69.174] |
7 |
180ms |
181ms |
180ms |
BRl.PSKl.Alter.net. [192.157.69.60] |
8 |
180ms |
181ms |
240ms |
HssiO-1-0.hrl.nycl.alter.net. [137.39.100.2] |
9 |
180ms |
181ms |
200ms |
101.ATM2-0.XR2.NYC1.ALTER.NET. [146.188.177.90] |
10 |
240ms |
181ms |
200ms |
194.ATM3-0.TR2.EWR1.ALTER.NET. [146.188.178.230] |
11 |
301ms |
200ms |
200ms |
105.ATM6-0.TR2.ATL1.ALTER.NET.[146.188.136.37] |
12 |
241ms |
220ms |
180ms |
198.ATM7-0.XR2.ATL1.ALTER.NET. [146.188.232.101] |
13 |
201ms |
200ms |
220ms |
194.ATM11-0-0.GW2.ATL1.ALTER.NET. [146.188.232.69] |
14 |
321ms |
200ms |
220ms |
bs2-atl-gw.customer.alter.net. [157.130.69.106] |
15 |
220ms |
220ms |
221ms |
205.152.2.178 |
16 |
200ms |
281ms |
200ms |
205.152.3.74. |
17 |
220ms |
220ms |
201ms |
www.bellsouth.net. [205.152.0.46] |
Trace complete
Использование команды ipconfig для проверки настройки узла
Команда ipconfig используется для получения информации о настройке TCP/IP сервера или рабочей станции Windows NT.
Команда ipconfig для Windows NT
Выполнение команды ifconfig без ключей выводит информацию обо всех сетевых картах системы и установленных связях РРР. В базовую информацию входит:
IP-адрес;
маска подсети;
шлюз по умолчанию,
серверы DNS;
домен NT.
Применив ключ команды /all, также получите аппаратные МАС-адреса устройств и информацию по DHCP.
Кроме того, эти команды могут быть использованы для внесения изменений в настройку устройств:
ipconfig /release – удаляет IP-адрес, полученный посредством DHCP;
ipconfig/renew – обновляет IP-адрес, установленный ранее посредством DHCP,
ipconfig /flushdns – очищает буферную память DNS;
ipconfig /registerdns – обновляет все установки, полученные посредством DHCP, и перерегистрирует имена DNS;
ifconfig /displaydns – показывает содержимое буферной памяти DNS.
Эта команда полезна при решении проблем, связанных с функционированием DNS и DHCP. Информация, получаемая с помощью этой команды, может пригодиться при создании информационных карточек и других вспомогательных документов на сеть. Один из способов, позволяющий хранить текущие настройки для каждого компьютера, – включение в сценарий регистрации или в файл автозагрузки следующей строки:
ipconfig /all > <сетевое устройство>%computername%.config
Глобальная переменная среды %computername% замещается именем, назначенным компьютеру, и создается текстовый файл с соответствующим именем. Разместив выходной файл на центральном сетевом устройстве, вы будете всегда иметь под рукой информацию о текущих настройках всех рабочих станций сети.
Команда аrр
IP-адреса и имена компьютеров используются для удобства при управлении сетью. Однако на самом нижнем уровне при связи друг с другом сетевые карточки используют аппаратные МАС-адреса. Помните, что один компьютер находит аппаратный адрес другого компьютера локального сегмента, используя протокол сопоставления адреса ARP (Address Resolution Protocol). Подобно тому как узел хранит информацию о таблицах маршрутизации, он также хранит таблицу преобразования МАС-адресов в IP-адреса, известную как arp-таблица.
Команда arp позволяет просматривать и редактировать аrр-таблицы. Синтаксис команды варьируется в разных системах, но в большинстве из них должны работать следующие команды:
arp -а – показать текущее содержание аrр-таблицы;
arp -d – удалить запись, соответствующую указанному узлу;
arp -s IР_адрес Ethernet адрес – добавить запись в таблицу.
Например, для добавления записи используйте следующий синтаксис:
аrр -s 192.123.111.2 08-00-2b-34-cl-01