Самоучитель
системного администратора

3.4. Настройка транспортных протоколов

Протоколы

Сетевой протокол — это набор программно реализованных правил общения компьютеров, подключенных к сети. Практически это "язык", на котором компьютеры разговаривают друг с другом. В настоящее время стандартом стало использование только протокола TCP/IP. В предыдущих версиях Windows по умолчанию устанавливалось несколько протоколов, обычно это NetBEUI, NWLink IPX/SPX, TCP/IP.

  • NetBEUI.

    Компактный и эффективный протокол для взаимодействия в малых сетях (до 200 компьютеров). Используется в самых разнообразных системах: Microsoft LAN Manager, Windows 3.1/3.11 for Workgroups/95/98/NT 4.0, IBM PCLAN, LAN Server и т. п. В Windows 2000 и старше применяется новая спецификация этого протокола, которая получила название NetBIOS Frame Protocol (NBFP). NetBEUI (NBFP) не требует никаких дополнительных настроек. Если нужно быстро создать сеть и вы не чувствуете себя уверенными в понимании дополнительных настроек, которых, например, требует протокол TCP/IP, то включите протокол NBFP. Вы получите простую и весьма быстро функционирующую локальную сеть.

  • NWLink IPX/SPX.

    Если в сети есть серверы Novell NetWare (в последних версиях Netware по умолчанию используется протокол TCP/IP), то этот протокол необходим для организации с ними связи. В противном случае данный протокол следует исключить из числа используемых в системе.

  • TCP/IP.

    Основной рекомендуемый протокол как для больших сетей предприятий и малых офисов, так и для соединения домашних компьютеров в частную сеть. В отличие от других протоколов требует ряда предварительных настроек.

      Примечание

      Не следует использовать в сети больше служб и протоколов, чем требуется для нормальной работы в конкретной ситуации. Во-первых, при этом будут непроизводительно использоваться ресурсы компьютера. Во-вторых, любая дополнительная служба и неиспользуемый протокол — это еще один "вход" в систему, который надо защищать. Поэтому проще не предоставлять дополнительных возможностей хакерам, чем постоянно следить за обнаруживаемыми в этих службах уязвимостями, устанавливать необходимые обновления и т. п.

Модель OSI

С целью систематизации часто используется модель OSI (Open Systems Interconnection model, модель взаимодействия открытых систем), условно разбивающая сетевое взаимодействие на семь уровней (табл. 3.5).

Знание уровней OSI обычно требуется при сдаче тех или иных сертификационных экзаменов, но на практике такое деление потеряло свое значение. Если первые три уровня еще можно достаточно хорошо вычленить при анализе того или иного сетевого проекта, то классифицировать функциональность оборудования по остальным уровням достаточно сложно. В маркетинговых целях часто указывают в описаниях коммутаторов, что они работают, например, на уровне 4 или 7. На практике это означает только, что при реализации определенного функционала в коммутаторах осуществляется анализ пакета данных по характеристикам, относящимся к соответствующим уровням. Например, это происходит при операциях маршрутизации группового трафика (коммутатор анализирует пакет на принадлежность той или иной программе), приоритезации пакетов и т. п.

Таблица 3.5.
Модель OSI

Уровень OSI

Назначение

Примеры

Необходимое сетевое оборудование

Application (7)

Обеспечение служб сетевых приложений

Протоколы SMTP, HTTP, FTP и т. п.

Presentation (6)

Службы кодирования и преобразования данных, используемых на уровне приложений

Стандарты кодирования изображений (GIF, JPEG, TIFF и т. п.), аудио и видео (MPEG) и т. п.

Session (5)

Обеспечение коммуникаций между приложениями более высокого уровня (согласование, поддержка, завершение сессий)

Session Control Protocol (SPC)

Remote Procedure Call Zone Information Protocol (AppleTalk)

Transport (4)

Обеспечивает передачу данных от одной точки до другой

TCP (используются соединения)

UDP (передача данных без создания соединения)

Network (3)

Обеспечивает логическую структуру сети (сетевые адреса)

IP

Маршрутизаторы

Маршрутизирующие коммутаторы

Data Link (2)

Обеспечивает передачу данных по тем или иным физическим каналам связи

Ethernet Token Ring FDDI

Point-to-Point Protocol Frame Relay

Коммутаторы

Мосты

Physical (1)

Определяет физические, механические, электрические и другие параметры физических каналов связи (напряжение, частота, максимальные длины участков и т. п.)

LAN категории 3 LAN категории 5 V.35

Концентраторы

Стек протоколов TCP/IP

Когда говорят о TCP/IP, то обычно подразумевают под этим именем множество различных протоколов, использующих в своей основе TCP/IP. Существует большое количество различных стандартов, которые определяют те или иные варианты взаимодействия в сети с использованием протоколов TCP/IP.

Так, есть правила, по которым осуществляется обмен сообщениями между почтовыми серверами, и есть правила, по которым конечные пользователи могут получать в свой ящик письма. Имеются правила для проведения широковещательных видео- и аудиотрансляций, правила для организации телефонных переговоров по Интернету. Существуют правила, которые определяют поведение участников передачи данных в случае возникновения ошибки и т. п.

Логично, что при разработке правил пересылки файла никто не создает новых механизмов пересылки единичного пакета данных и что протокол пересылки файлов основан на более простом протоколе передачи пакетов.

Поэтому принято говорить, что существуют уровни протокола IP, а на каждом уровне — различные варианты специальных протоколов. Весь этот набор протоколов называют стеком протоколов TCP/IP.

Протоколы UPD, TCP, ICMP

Для передачи данных используются протоколы TCP (Transmission Control Protocol, протокол управления передачей данных) и UDP (User Datagram Protocol, протокол пользовательских дейтаграмм). UDP применяется в тех случаях, когда не требуется подтверждения приема (например, DNS-запросы, IP-телефония). Передача данных по протоколу TCP предусматривает наличие подтверждений получения информации. Если передающая сторона не получит в установленные сроки необходимого подтверждения, то данные будут переданы повторно. Поэтому протокол TCP относят к протоколам, предусматривающим соединение (connection oriented), а UDP — нет (connection less).

Протокол Internet Control Message Protocol (ICMP, протокол управляющих сообщений Интернета) используется для передачи данных о параметрах сети. Он включает такие типы пакетов, как ping, destination unreachable, TTL exceeded и т. д.

IPv6

Бурное развитие Интернета привело к тому, что параметры, заложенные при создании протоколов IP, стали сдерживать дальнейшее развитие глобальной сети. Так появился протокол IPv6.

К основным особенностям IPv6 относятся:

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

Протокол IPv6 устанавливается по умолчанию в новые версии операционных систем Windows и Linux, его поддержка включена в Windows XP (для включения необходимо выполнить команду ipv6 install). Некоторые технологии, например DirectAccess (рассматривается в главе 5), основаны на возможностях этого протокола. Протокол IPv6 принят в качестве основного в некоторых странах (Китай).

В нашей стране пока не создана инфраструктура, поддерживающая данный протокол. Поэтому в случае желания его использовать не только внутри сети организации, когда вся инфраструктура находится под контролем и управлением, нужно учитывать все нюансы (например, система разрешения имен в DirectAccess построена через сервер корпорации Microsoft).

Параметры TCP/IP-протокола

Здесь и далее мы будем рассматривать характеристики протокола ffv4.

IP-адрес

Каждый компьютер, работающий по протоколу TCP/IP, обязательно имеет IP-адрес —

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

IP-адреса уникальны. Это значит, что каждый компьютер имеет свое сочетание цифр, и в сети не может быть двух компьютеров с одинаковыми адресами. IP-адреса распределяются централизованно. Интернет-провайдеры делают заявки в национальные центры в соответствии со своими потребностями. Полученные провайдерами диапазоны адресов распределяются далее между клиентами. Клиенты сами могут выступать в роли интернет-провайдера и распределять полученные IP-адреса между субклиентами и т. д. При таком способе распределения IP-адресов компьютерная система точно знает "расположение" компьютера, имеющего уникальный IP-адрес; ей достаточно переслать данные в сеть "владельца". Провайдер в свою очередь проанализирует пункт назначения и, зная, кому отдана эта часть адресов, отправит информацию следующему владельцу поддиапазона IP-адресов, пока данные не поступят на компьютер назначения.

Для построения локальных сетей организаций выделены специальные диапазоны адресов. Это адреса 10.х.х.х, 192.168.х.х, 10.х.х.х, с 172.16.х.х по 172.31.х.х, 169.254.х.х (под "х" подразумевается любое число от 0 до 254). Пакеты, передаваемые с указанных адресов, не маршрутизируются (иными словами, не пересылаются) через Интернет, поэтому в различных локальных сетях компьютеры могут иметь совпадающие адреса из указанных диапазонов. Такие адреса часто называют серыми адресами.

Для пересылки информации с таких компьютеров в Интернет и обратно используются специальные программы, "на лету" заменяющие локальные адреса реальными при работе с Интернетом. Иными словами, данные в Сеть пересылаются от реального IP-адреса. Этот процесс происходит "незаметно" для пользователя. Такая технология называется трансляцией адресов и более подробно описана в главе 5.

Групповые адреса

Если данные должны быть переданы на несколько устройств (например, просмотр видео с одной веб-камеры на различных компьютерах или одновременное разворачивание образа операционной системы на несколько систем), то уменьшить нагрузку на сеть может использование групповых рассылок (IP Multicast Addressing).

Для этого компьютеру присваивается еще один IP-адрес из специального диапазона: с 224.0.0.0 по 239.255.255.2551, причем диапазоны 224.0.0.0—224.0.0.255 и 239.0.0.0—239.255.255.255 не могут быть использованы в приложениях и предназначены для протоколов маршрутизации (например, адрес 224.0.0.1 принадлежит всем системам сегмента сети; адрес 224.0.0.2 — всем маршрутизаторам сегмента и т. д) и т. п. Назначение адресов групповой рассылки производится соответствующим программным обеспечением.

Групповая рассылка поступает одновременно на все подключенные устройства. В результате сетевой трафик может быть существенно снижен по сравнению с вариантом передачи таких данных каждому устройству сети независимо.

По умолчанию рассылки передаются на все порты, даже если к ним не подключены устройства, подписавшиеся на эту рассылку. Чтобы исключить такой паразитный трафик, используются специальные возможности коммутаторов — поддержка IGMP snoophing (прослушивание протокола IGMP), PIM DM/PIM SM (PIM-DM — Protocol Independent Multicast Dense Mode и PIM-SM — Protocol Independent Multicast Sparse Mode — протоколы маршрутизации многоадресных сообщений). При включении и настройке этого функционала (поддерживается не всеми моделями оборудования) данные будут передаваться только на нужные порты.

Распределение IP-адресов сети малого офиса

В сетях предприятий обычно задействованы серые диапазоны IP-адресов. Часть адресов закрепляется статически, часть — раздается динамически с помощью DHCP (Dynamic Host Configuration Protocol, динамический протокол конфигурации сервера).

Статические адреса закрепляются:

  • за шлюзом, для которого обычно используют адрес xxx.xxx.xxx.1, но это традиция, а не правило;
  • за серверами DNS, DHCP, WINS;
  • за контроллерами домена;
  • за серверами сети (например, централизованные файловые ресурсы, почтовый сервер и т. п.);
  • за станциями печати, имеющими непосредственное подключение к сети;
  • за управляемыми сетевыми устройствами (например, сетевыми переключателями, SNMP-управляемыми источниками аварийного питания и т. п.).

Рабочие станции традиционно используют динамические адреса. Удобно часть динамических адресов выдавать для локального использования, а часть — для внешних клиентов, "гостей" сети. Это позволит проще настраивать ограничения доступа к внутренним ресурсам сети для сторонних систем.

Для упрощения администрирования сети рекомендуется выработать план распределения диапазона адресов, предусмотрев в нем некоторый запас для будущего развития информационной системы.

Маска адреса

Понятие подсети введено, чтобы можно было выделить часть IP-адресов одной организации, часть другой и т. д. Подсеть представляет собой диапазон IP-адресов, которые считаются принадлежащими одной локальной сети. При работе в локальной сети информация пересылается непосредственно получателю. Если данные предназначены компьютеру с IP-адресом, не принадлежащим локальной сети, то к ним применяются специальные правила для вычисления маршрута пересылки из одной сети в другую. Поэтому при использовании протокола TCP/IP важно знать, к какой сети принадлежит получатель информации: к локальной или удаленной.

Маска адреса — это параметр, который "сообщает" программному обеспечению о том, сколько компьютеров объединено в данную группу ("подсеть"). Маска адреса имеет такую же структуру, как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255. При этом чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших предприятий маска обычно имеет вид 255.255.255.х (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом.

Так, сеть 192.168.0.0 с маской 255.255.255.0 (иначе можно записать 192.168.0.0/242) может содержать хосты с адресами от 192.168.0.1 до 192.168.0.254. Адрес 192.168.0.255 — это адрес широковещательной рассылки для данной сети. А сеть 192.168.0.0 с маской 255.255.255.128 (192.168.0.0/25) допускает адреса от 192.168.0.1 до 192.168.0.127 (адрес 192.168.0.128 используется при этом в качестве широковещательного).

На практике сети с небольшим возможным числом хостов используются интернет-провайдерами (с целью экономии IP-адресов). Например, клиенту может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит только два хоста. При разбиении сети организации используют диапазоны локальных адресов сетей класса С. Сеть класса С имеет маску адреса 255.255.255.0 и может содержать до 254 хостов. Применение сетей класса С при разбиении на подсети VLAN в условиях предприятия связано с тем, что протоколы автоматической маршрутизации используют именно такие подсети.

При создании подсетей в организации рекомендуется придерживаться следующего правила: подсети, относящиеся к определенному узлу распределения, должны входить в одну сеть. Это упрощает таблицы маршрутизации и экономит ресурсы коммутаторов. Например, если к данному коммутатору подключены подсети 192.168.0.0/255.255.255.0, 192.168.1.0/255.255.255.0, 192.168.3.0/255.255.255.0, то другому коммутатору достаточно знать, что в этом направлении следует пересылать пакеты для сети 192.168.0.0/255.255.252.0.

Эта рекомендация несущественна для сетей малых и средних организаций, поскольку ресурсов современных коммутаторов достаточно для хранения настроек такого объема.

    Примечание

    Хотя многие сертификационные экзамены содержат вопросы, так или иначе связанные с разбиением на подсети (правильный подсчет маски сети, числа адресов и т. п.), на практике проводить ручной подсчет вряд ли придется. Существует много онлайновых ресурсов, которые предлагают различные варианты калькуляторов сетевых адресов (Network Calculator), например
    http://www.globalstrata.com/services/network/bscnetcalc.asp.

После того как компьютер получил IP-адрес и ему стало "известно" значение маски подсети, программа может начать работу в данной локальной подсети. Чтобы обмениваться информацией с другими компьютерами в глобальной сети, необходимо знать правила, куда пересылать информацию для внешней сети. Для этого служит такая характеристика IP-протокола, как адрес шлюза.

Шлюз (Gateway, default gateway)

Шлюз (gateway) — это устройство (компьютер), которое обеспечивает пересылку информации между различными IP-подсетями. Если программа определяет (по IP-адресу и маске), что адрес назначения не входит в состав локальной подсети, то она отправляет эти данные на устройство, выполняющее функции шлюза. В настройках протокола указывают IP-адрес такого устройства.

Для работы только в локальной сети шлюз может не назначаться. Если для доступа в Интернет используется прокси-сервер, то компьютерам локальной сети адрес шлюза также может не назначаться.

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

Таблицы маршрутизации

Организация может иметь несколько точек подключения к Интернету (например, в целях резервирования каналов передачи данных или использования более дешевых каналов и т. п.) или содержать в своей структуре несколько IP-сетей. В этом случае, чтобы система "знала", каким путем (через какой шлюз) посылать ту или иную информацию, используются таблицы маршрутизации (routing table). В таблицах маршрутизации для каждого шлюза указывают те подсети Интернета, для которых через них должна передаваться информация. При этом для нескольких шлюзов можно задать одинаковые диапазоны назначения, но с разной стоимостью передачи данных: информация будет отсылаться по каналу, имеющему самую низкую стоимость, а в случае его выхода из строя по тем или иным причинам автоматически будет использоваться следующее наиболее "дешевое" подсоединение.

Таблицы маршрутизации имеются на каждом устройстве, использующем протокол IP. Администраторы в основном работают с таблицами маршрутизации коммутирующего оборудования. Настройка таблиц маршрутизации компьютеров имеет смысл только в случае наличия нескольких сетевых адаптеров, подключенных к различным сегментам сети. Если у компьютера есть только одна сетевая карта (одно подключение к Интернету), таблица маршрутизации имеет наиболее простой вид: в ней записано, что все сигналы должны отправляться на шлюз, назначенный по умолчанию (default gateway).

Просмотреть таблицу маршрутизации протокола TCP/IP можно при помощи команды route print для Windows или route — в Linux. С помощью команды route можно также добавить новый статический маршрут (route add) или постоянный маршрут — route add -p (маршрут сохраняется в настройках после перезагрузки системы).

Покажем на примере, как можно использовать модификации таблицы маршрутизации. Предположим, что на Windows-компьютере имеются две сетевые карты, одна из которых непосредственно подключена к Интернету (имеет реальный адрес), а вторая используется для работы во внутренней сети (локальный адрес). Доступ в Интернет осуществляется по умолчанию через шлюз в локальной сети. В этом случае таблица маршрутизации, отображаемая по команде route print, выглядит примерно так:

Проверим путь прохождения пакетов на адрес Интернета, например 109.84.231.210, с помощью команды tracert:

Ключ -d в команде использован для ускорения операции, чтобы отключить запросы DNS-имен тех хостов, через которые передается пакет данных.

В итоге получаем примерно такую картину (листинг ограничен первыми четырьмя узлами):

Предположим, что мы хотим изменить путь прохождения пакетов к выбранному нами хосту, направив информацию через вторую сетевую карту (а не через шлюз по умолчанию). Для этого с помощью команды route add нужно добавить желаемый нами маршрут:

В команде мы указали, что хотим назначить новый маршрут не для диапазона адресов, а только для конкретного значения (поэтому маска — 255.255.255.255). Кроме того, явно указали адрес сетевого интерфейса, через который нужно пересылать пакеты.

После выполнения данной команды (на экран система не выводит никаких итогов операции) можно просмотреть новую таблицу маршрутизации:

По сравнению с исходным вариантом таблица маршрутизации дополнилась одной строкой, которая приведена в данном примере (остальные строки не изменились и опущены для наглядности).

Проверяем новый путь прохождения сигналов:

Видно, что пакеты пересылаются уже через другой интерфейс.

Эти изменения маршрутизации действуют до перезагрузки системы или до подачи обратной команды: удаления записей маршрутизации. Для восстановления параметров маршрутизации достаточно подать команду, указав тот маршрут, который требуется удалить:

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

    Примечание

    На практике автор встречался с ситуациями, когда изменение параметров маршрутизации в операционной системе Windows не сразу "отрабатывалось" корректно. Иногда после операций над таблицей маршрутизации для достижения успеха нужно было программно отключить и вновь включить тот сетевой интерфейс, для которого выполнялась настройка.

Понимание правил маршрутизации важно не только при построении маршрутов в Интернете, — задаче, которую вряд ли придется решать администраторам сетей некрупных предприятий. На практике для выделения обособленных участков локальной сети (например, по соображениям безопасности) достаточно широко используются виртуальные сети. А для того чтобы обеспечить доступ в такие сети, администраторы должны уметь написать правильную таблицу маршрутизации для соответствующей VLAN или создать список доступа — ACL (access control list), в котором правила записываются аналогично правилам маршрутизации.

Автоматическое присвоение параметров IP-протокола

Как уже отмечалось, параметры IP-протокола индивидуальны для каждого компьютера. Чтобы облегчить пользователям их назначение, были разработаны специальные механизмы, позволяющие автоматизировать данный процесс.

Серверы DHCP

В локальных сетях администраторы устанавливают так называемый сервер DHCP (Dynamic Host Configuration Protocol, динамический протокол конфигурации сервера). Сервер DHCP автоматически сообщает компьютерам, начинающим работу в составе сети, параметры настройки протокола TCP/IP: в первую очередь это IP-адрес, маска адреса, шлюз. Причем администраторы могут с помощью сервера DHCP сообщать клиенту различные настройки: адреса WINS- и DNS-серверов, серверов времени, указывать расположение данных автоматической настройки прокси-клиентов и т. п.

    Примечание

    На практике возможны различные варианты настройки DHCP. Так, автор неоднократно на практике сталкивался с ситуацией, когда адреса клиентам назначались фактически "по статике" (путем резервирования по МАС-адресам), а остальные параметры TCP/IP-протокола определялись динамически.

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

При добавлении IP-протокола в операционную систему его настройки по умолчанию предусматривают автоматическое получение параметров. Если в сети есть настроенный DHCP-сервер, то от пользователя локального компьютера в этом случае не потребуется никаких дополнительных действий по настройке TCP/IP-протокола.

Адресация APIPA

Для облегчения построения небольших сетей предусмотрена возможность самостоятельного назначения адресов. Если в сети нет сервера DHCP, а протокол IP установлен с параметрами автоматического получения значений, то Windows присвоит сетевой плате адрес из диапазона от 169.254.0.1 по 169.254.255.254 (маска подсети 255.255.0.0), предварительно проверив, не используется ли уже такой адрес в системе. Данный механизм позволяет применять IP-протокол в небольших сетях при минимальных ручных настройках — компьютеры увидят друг друга в локальной сети. Естественно, что никаких дополнительных параметров настройки операционная система в этом случае не получает. Например, она не будет знать, куда посылать запросы, чтобы получить данные с серверов Интернета. А если будет отключен протокол NetBIOS поверх TCP/IP, то системы не смогут разрешить имена других компьютеров сети и т. п.

    Примечание

    Использование адреса из указанного ранее диапазона (проверяется командами ipconfig или winipcfg) при наличии в сети сервера DHCP свидетельствует либо о неисправности последнего, либо о проблемах кабельного подключения данного компьютера.

Назначение адресов при совместном использовании подключения к Интернету

Особая ситуация возникает при настройке совместного использования подключения к Интернету. В этом случае тот компьютер, на котором создается данное подключение, начинает выполнять роль сервера DHCP с единственным ограничением: его адрес жестко фиксирован — 192.168.0.1. Клиенты, которые получают от данного сервера адреса из подсети 192.168.0.0/24, автоматически настраиваются на использование его в качестве шлюза по умолчанию и сервера имен.

Поскольку вариант совместного использования подключения присутствует как на серверных системах, так и на рабочих станциях, то такое решение является наиболее оптимальным для небольших организаций. Настройте подключение к Интернету, включите его совместное использование — и вы получите у себя в сети корректное назначение параметров TCP/IP-протокола для компьютерных систем.

    Примечание

    Из-за того, что в данной технологии используется один и тот же диапазон адресов, организовать канал соединения двух таких локальных сетей невозможно.

Порт

При передаче данных кроме IP-адресов отправителя и получателя пакет информации содержит в себе номера портов. Порт — это некое число, которое используется при приеме и передаче данных для идентификации процесса (программы), который должен обработать данные. Так, если пакет послан на 80-й порт, то это свидетельствует, что информация предназначена серверу HTTP.

Номера портов с 1-го по 1023-й закреплены за конкретными программами (так называемые well-known-порты). Порты с номерами 1024—65 535 могут быть использованы в программах собственной разработки. При этом возможные конфликты должны разрешаться самими программами путем выбора свободного порта. Иными словами, порты будут распределяться динамически: возможно, что при следующем старте программа выберет иное значение порта.

Знание того, какие порты используют те или иные прикладные программы, важно при настройке брандмауэров. Часть настроек в таких программах для наиболее популярных протоколов предопределена, и вам достаточно только разрешить/запретить протоколы, руководствуясь их названиями. Однако в некоторых случаях придется обращаться к технической документации, чтобы определить, какие порты необходимо "открыть", чтобы обеспечить прохождение пакетов данной программы.

    Примечание

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

Увидеть, какие порты реально задействованы на компьютере, можно с помощью команды netstat. В зависимости от версии операционной системы данная команда имеет различный набор ключей, позволяющих детализировать отчет (например, указать программы или процессы, использующие конкретные порты). В общем случае достаточно запустить команду netstat с ключом -а:


В данном примере на компьютере готовы к подключению несколько портов (состояние listening): это порты http, epmap и т. д. — номера портов можно отобразить, если добавить ключ -n; порты 1067 и 1079 подключены (estabilished, программа показывает, с какой системой идет обмен данными); передача информации с портов 1064 и 1078 завершена и система находится в состоянии закрытия соединения (close_wait) и т. д.

    Примечание

    Для получения информации по удаленному компьютеру используются специальные программы сканирования портов. Наиболее известный бесплатный продукт — nmap. Данные по отдельному порту можно получить штатными средствами системы (например, с помощью команды telnet или утилиты PortQry из состава Support Tools). Обратите внимание, что хотя использование подобных программ не запрещено стандартами, тем не менее многие системы оценивают сканирование портов как попытку вторжения и блокируют источник на некоторый период времени.

Протокол ARP

Пакеты, пересылаемые в сети Ethernet, адресуются компьютерам не по их именам и не на IP-адрес. Пакет предназначается устройству с конкретным MAC-адресом.

MAC-адрес — это уникальный адрес сетевого устройства, который заложен в него изготовителем оборудования. Первая половина MAC-адреса представляет собой идентификатор изготовителя, вторая — уникальный номер данного устройства.

    Примечание

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

Для получения MAC-адреса используется протокол ARP (Address Resolution Protocol, протокол разрешения адресов). В системе имеется специальная утилита, которая позволяет отобразить кэш известных данному компьютеру MAC-адресов — arp.

Утилита arp может быть использована, например, при создании резервированных адресов DHCP-сервера. Для такой настройки администратору необходимо ввести MAC-адрес соответствующей системы. Чтобы его узнать, достаточно выполнить команду ping на имя данной системы, после чего просмотреть кэш ARP (командой arp -a) и скопировать значение MAC-адреса в настройки DHCP.

Имена компьютеров в сети TCP/IP

Человеку удобнее работать с именем компьютера, чем запоминать цифры, составляющие его IP-адрес. В сети на основе протокола TCP/IP компьютеры могут иметь два имени: это NetBIOS-имя компьютера и имя хоста (DNS-имя). Обычно имя хоста и NetBIOS-имя совпадают, и к этому следует стремиться. Но принципиально эти имена могут быть разными. Например, длина NetBIOS-имени ограничена 15 символами, а хосту может быть присвоено более длинное название. Или, если при создании домена вы пытаетесь дать ему имя, совпадающее с именем будущего контроллера, то программа установки предложит выбрать другое имя данному хосту.

Имя хоста составляется из нескольких имен, разделяемых при написании точкой, например, так: www.ask.ru. Первая слева группа символов (до точки), в данном примере это www, является собственным именем компьютера. Следующая группа символов — от точки до точки — это имя группы компьютеров, которой принадлежит данная система. Следующая группа символов — имя группы компьютеров, которой в свою очередь принадлежат группы компьютеров, имена которых находятся левее. Данную цепочку можно продолжать сколь угодно долго. Для удобства обычно ограничиваются тремя-четырьмя группами символов.

На практике под именем домена понимают всю группу символов справа от полного имени компьютера. В зависимости от того, сколько групп символов входит в доменное имя, различают домены первого, второго, третьего и т. д. уровней.

    Примечание

    При создании нового домена Windows не следует давать ему имя домена первого уровня. В этом случае действуют некоторые ограничения, с которыми можно ознакомиться в базе данных Microsoft. Целесообразно дать домену Windows имя вида <название_организации>.local.

Самая правая группа символов имени (до первой точки) называется доменом первого уровня, вторая справа — доменом второго уровня, затем следует домен третьего уровня и т. д.

    Примечание

    Иногда употребляют термин FQDN — fully qualified domain name (обычно эту аббревиатуру употребляют без перевода; русский термин звучит как полное имя узла). Под FQDN понимают полную цепочку имен системы: от имени хоста до имени корневого домена. Чтобы подчеркнуть, что имеется в виду полное имя, в конце его ставят точку, которую принято считать именем корневого домена. Например, FQDN для Web-сайта будет писаться следующим образом: www.ask.ru. (последняя точка включается в имя).

Имена хостов внутри широковещательного домена Windows должны быть уникальны. При попытке запуска системы, имеющей такое же имя, как и у другого работающего компьютера, вы получите сообщение об ошибке.

Доменные имена Интернета

В Интернете за уникальностью присваиваемых имен следит организация (физическое лицо), отвечающая за домен, в рамках которого выдается имя. При присвоении имен используется принцип: если данное доменное имя свободно, то его можно получить. Приобретение доменного имени — это платная услуга, кроме того, необходимо ежегодно продлевать действие имени. "Отобрать" выданное доменное имя практически невозможно.

Такой способ гарантирует уникальность полного доменного имени компьютера и в то же время требует проверки на уникальность желаемого имени только в одном месте.

Организации и физические лица, регистрирующие для себя доменные имена, обычно стараются создать такое доменное имя, которое легко запоминается пользователем, при этом часто используется юридическое название. Сравните: Белый дом (США) — whitehouse.gov, корпорация Microsoft — microsoft.com, и т. д.

Существуют два направления создания доменных имен. Одно — по географическому принципу (каждая страна имеет свой домен первого уровня, в рамках которого создаются все имена компьютеров), второе — по типу деятельности организации. В России "географические" домены имеют имена ru и рф (последний — для названий домена на кириллице). Сохранился также домен su, закрепленный ранее за СССР.

Функции технического сопровождения системы регистрации и DNS-серверов зоны ru осуществляет Российский НИИ развития общественных сетей (РосНИИРОС). Со списком организаций, осуществляющих регистрацию в домене ru, можно ознакомиться на странице http://www.ripn.net:8080/nic/dns/registry-all/reg_list.html.

Второе направление — это присвоение имени на основе типа деятельности. Среди подобных имен наиболее известен домен com для коммерческих организаций. Другие популярные домены — это edu (учебные организации), gov (правительственные), net (сетевые ресурсы), org (некоммерческие организации), info и т. п.

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

Соотношение доменных имен и IP-адресов компьютеров

Каждый компьютер в глобальной сети должен иметь уникальный IP-адрес. Без наличия такого адреса работа просто невозможна. Наличие доменного имени для работы не обязательно. При необходимости в строках адреса программ, предназначенных для работы в Интернете, можно набирать IP-адрес.

Доменное имя может существовать, но не иметь IP-адреса (естественно, работа с такими узлами невозможна). Такая ситуация может возникнуть, если, например, организация заранее зарегистрировала за собой доменное имя, но не располагает в настоящий момент какими-либо ресурсами в сети Интернет. В этом случае говорят, что домен не делегирован.

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

IP-адреса, соответствующие данному доменному имени, могут меняться. Например, организация переезжает или меняет интернет-провайдера. Сохранение "за собой" доменного имени позволяет не беспокоиться, что в подобных случаях придется нести затраты на "раскрутку" нового имени.

Серверы доменных имен (DNS)

NetBIOS-имя компьютера определяется при установке операционной системы. По умолчанию это же имя будет использовано в качестве имени хоста при получении IP-адреса, хотя в Windows можно назначить разные имена NetBIOS и DNS.

Для поиска компьютера в локальной сети по имени ранее использовались широковещательные запросы: система рассылает запрос на определение имени всем станциям и ждет ответа. Увеличение размеров сети заставляет отказаться от данного метода, поскольку он приводит к значительному росту подобного широковещательного трафика. В распределенных сетях на основе протокола TCP/IP для разрешения имен используются специальные серверы — DNS-серверы (Domain Name System).

Серверы DNS обеспечивают получение доменного имени по запросу на основе IP-адреса, и наоборот. Поэтому указание адреса сервера DNS является одной из основных настроек протокола TCP/IP, необходимых для работы в Интернете. Если в настройках не указан IP-адрес сервера DNS, то пользователь не сможет полноценно работать в Интернете, поскольку ему будет не доступен переход по ссылкам, в которых использовано доменное имя, а это практически все ссылки на информационных серверах.

Адрес сервера DNS обычно сообщается автоматически при инициализации протокола IP. Имена серверов DNS сообщаются DHCP-серверами. Обычно указывается несколько DNS-серверов, чтобы система могла использовать второй сервер при временной недоступности первичного DNS.

WINS

Служба регистрации имен в сети Windows (Windows Internet Naming Service, WINS) использовалась для регистрации сетевых имен компьютеров в локальных сетях до Windows 2000. Служба WINS позволяла корректно разрешать имена в сетях с наличием маршрутизаторов. Маршрутизаторы не пропускают широковещательные пакеты, поэтому сегменты локальной сети оказываются изолированными друг от друга при операциях просмотра без использования WINS.

    Примечание

    Хотя в настоящее время WINS-сервер в локальных сетях необходим станциям на базе Windows 3.1/9x/NT, однако и часть современных служб использует NetBIOS. Поэтому целесообразно сохранить WINS в составе локальной сети.

При начале работы в сети компьютер "сообщает" серверу WINS свое имя и IP-адрес. Эти параметры заносятся в специальную базу и используются для поиска имени компьютера на основе его адреса, и наоборот. Поэтому, чтобы узнать имя компьютера в локальной сети (или его адрес), достаточно сформировать запрос к WINS.

Адрес WINS обычно автоматически сообщается клиентам с помощью DHCP-сервера при получении параметров TCP/IP.

Статическое задание имен

В небольшой локальной сети для задания соответствия "IP-адрес — сетевое имя" можно использовать статические записи, формируемые вручную. Это позволяет обеспечить функционирование сети без использования серверов WINS, DHCP и т. п.

Если Windows не может динамически определить имена (IP-адреса) хостов, то система использует содержимое файлов hosts, networks и lmhosts. Первые два файла представляют обычный список соотношений "IP-адрес — имя" в прямом и обратном порядке:

  • файл hosts:

  • файл networks:

Файл lmhosts совместим с Microsoft LAN Manager 2.x и используется для загрузки специальных NetBIOS-имен (указания сервера домена, серверов приложений и т. п.). Файлы находятся в папке %systemroot%/system32/drivers/etc. При установке системы обычно создаются примеры (имеют расширение sam), по образцу которых и следует редактировать необходимые файлы.

Изменять файлы можно в любом текстовом редакторе, однако для этого необходимы права администратора. Запись должна начинаться с первой позиции строки, а столбцы могут отделяться любым числом пробелов. Операция трудоемкая, особенно при добавлении в сеть новых компьютеров, поскольку это потребует внесения изменений в данные файлы для всех уже имеющихся в сети систем.

Последовательность разрешения имен

На практике вы можете столкнуться с тем, что часть систем "видит" одно число компьютеров в сети, а другая — иное. Одни компьютеры успешно работают в сети, а на других отображается сообщение, что вход в сеть не может быть осуществлен, т. к. система не находит контроллер домена. Эти ситуации обусловлены различными используемыми методами разрешения имен.

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

Основное отличие методов разрешения имен различных версий Windows состоит в том, что системы до Windows 2000 использовали для разрешения имен NetBIOS, а Windows 2000 и старше (Windows 200x/XP/7) нуждаются в информации DNS.

При необходимости разрешения имени сначала предпринимается попытка его поиска в локальных ресурсах. Прежде всего, это локальный кэш имен, который для увеличения производительности создают все системы (кэш имен NetBIOS или кэш имен DNS). Если нужное имя компьютера не найдено, то система пытается найти его в host-файлах. Если и эта попытка неудачна, то системы с ОС Windows 2000 и старше обращаются к серверу DNS, определенному в параметрах настройки протокола TCP/IP их сетевого адаптера. Если сервер DNS недоступен или не смог вернуть имя, то на этом попытки прекращаются и сообщается, что имя не найдено.

Системы Windows NT 4.0 в зависимости от параметров настройки NetBIOS либо рассылают широковещательные запросы на определение имени, либо обращаются к серверу WINS. Информация DNS используется только в том случае, если это явно указано в настройках сетевого адаптера.

С помощью DNS системы на базе Windows 200x/XP/7 находят и расположение служб. Например, адрес контроллера домена может быть узнан по имени _ldap._tcp.dc._msdcs.<имя_домена>, адрес службы Gatekeeper (используется при передаче IP-телефонии, видеоконференций и т. п. по каналам связи) определяется по результатам запроса на имя Q931._tcp.<имя_домена> и т. д.

При использовании NetBIOS-станции, регистрируясь в сети, сообщают свое имя и имена служб, которые на них запущены. Эти имена можно просмотреть, например, при помощи команды nbtstat -a <имя_компьютера>. В результате будет отображена приблизительно такая информация:

В нашем примере компьютер TEST зарегистрировал имя рабочей станции TEST (первая строка). Типы служб, соответствующих сообщаемым командой кодам, можно посмотреть, например, по адресу http://www.microsoft.com/technet/ prodtechnol/winntas/support/ sur_apph.mspx. Запись ACK <1C> свидетельствует о том, что этот компьютер является контроллером домена ACK, ack <00> — это имя домена компьютера, TEST <20> свидетельствует о том, что на компьютере запущена служба сервер. Строка ack <1b> говорит о том, что компьютер является мастер-просмотрщиком сети и т. п.

Эти имена сохраняются на компьютерах, выполняющих роли просмотра сети, а также на сервере WINS, с которых они могут быть получены по запросам клиентов.


1Multicast-адрес присваивается динамически. Это делает соответствующая программа, использующая многоадресную рассылку.

224 соответствует длине маски, используемой для адресации подсетей. Если записать маску 255.255.255.0 в двоичном виде, то получится последовательность из 24 единиц и 8 нулей. Маска 255.255.255.128 будет представлять собой последовательность из 25 единиц и 7 нулей. Поэтому ее записывают также в виде /25 и т. д.


Рейтинг@Mail.ru