6. TCP/IP, Internet и UNIX


Комплект протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) разрабатывался для сети Internet (Internet Protocol Suite), в настоящее время он широко распространен как в локальных, так и в глобальных сетях.

Передача данных в Internet основана на принципе коммутации пакетов, в соответствии с которым поток данных, передаваемых от одного узла другому, разбивается на пакеты, передающиеся в общем случае через систему коммуникаций и маршрутизаторов независимо друг от друга и вновь собирающиеся на приемной стороне. Весь комплект базируется на IP - протоколе негарантированной доставки пакетов (дейтаграмм) без установления соединения (unreliable connectionless packet delivery).

Поддержка протоколов TCP/IP и файловой системы NFS позволяют интегрировать сети NetWare и UNIX, образуя гетерогенные сети.

6.1 Адресация и маршрутизация в Internet

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

При написании IP-адрес состоит из четырех чисел в диапазоне 0-255, представляемых в двоичной, восьмиричной, десятичной или шестнадцатеричной системе счисления и разделяемых точками. Адрес состоит из сетевой части, общей для всех узлов данной сети, и хост-части, уникальной для каждого узла. Соотношение размеров частей адреса зависит от класса сети, однозначно определяемого значениями старших бит адреса. Классы сетей введены для наиболее эффективного использования единого адресного пространства Internet.

Сети класса A имеют 0 в старшем бите адреса, у них на сетевой адрес отводятся младшие 7 бит первого байта, хост-часть - 3 байта. Таких сетей может быть 126 с 16 миллионами узлов в каждой.

Сети класса B имеют 10 в двух старших битах адреса, у них на сетевой адрес отводятся младшие 6 бит первого байта и второй байт, хост-часть - 2 байта. Их может быть около 16 тысяч по 65 тысяч узлов.

Сети класса С имеют 110 в трех старших битах адреса, у них на сетевой адрес отводятся младшие 5 бит первого байта, второй и третий байты, хост-часть - 1 байт. Их может быть около 2 миллионов по 254 узла.

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

В общем виде IP-адрес состоит из адреса сети, подсети и локального хост-адреса.

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

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

При посылке IP-дейтаграммы узел сравнивает IP-адрес назначения со своим IP-адресом и накладывает на результат маску (под)сети. Ненулевое значение результата этой операции является указанием на передачу пакета из (под)сети во внешнюю сеть.

Термин Routing - маршрутизация - означает передачу дейтаграммы (datagram) от одного узла к другому.

Direct Routing - прямая маршрутизация - осуществляется между узлами одной (под)сети. В этом случае источник знает конкретный физический адрес получателя и инкапсулирует IP-дейтаграмму во фрейм сети, содержащий этот адрес и непосредственно передающийся по сети получателю.

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

Информация в TCP/IP передается пакетами со стандартизованной структурой, называемыми IP-дейтаграммами (IP Datagram), имеющими поле заголовка (IP Datagram Header) и поле данных (IP Datagram Data). Поле заголовка содержит собственно заголовок, IP-адреса источника и приемника. Длина дейтаграммы определяется сетевым ПО так, чтобы она умещалась в поле данных сетевого фрейма, осуществляющего ее транспортировку. Поскольку по пути следования к адресату могут встречаться сети с меньшим размером поля данных фрейма, IP специфицирует единый для всех маршрутизаторов метод сегментации - разбивки дейтаграммы на фрагменты (тоже IP-дейтаграммы) и реассемблирования - обратной ее сборки приемником. Фрагментированная дейтаграмма собирается только ее окончательным приемником, поскольку отдельные фрагменты могут добираться до него различными путями.

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

IP-адреса и маски назначаются узлам при их конфигурировании вручную или автоматически с использованием DHCP или BOOTP серверов.

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

Протокол BOOTP выполняет аналогичные функции, но по отключении узла освободившийся IP-адрес в пул не возвращает.

6.2 Протоколы Internet

Cетевой уровень:

IP (Internet Protocol) обеспечивает негарантированную доставку пакета от узла к узлу, в работе с нижними уровнями использует ARP и RARP.

ARP (Address Resolution Protocol) динамически преобразует IP-адрес в физический (MAC).

RARP (Reverse Address Resolution Protocol) обратный к ARP, преобразует физический адрес в IP-адрес.

ICMP (Internet Control Message Protocol) управляет передачей управляющих и диагностических сообщений между шлюзами и узлами, определяет доступность и способность к ответу абонентов-адресатов, назначение пакетов, работоспособность маршрутизаторов и т. д. ICMP взаимодействует с вышестоящими протоколами TCP/IP. Сообщения передаются с помощью IP-дейтаграмм.

Транспортный уровень:

UDP (User Datagram Protocol) обеспечивает негарантированную доставку пользовательских дейтаграмм без установления соединения между заданными процессами передающего и принимающего узлов. Взаимодействующие процессы идентифицируются протокольными портами (Protocol Ports) - целочисленными значениями в диапазоне 1-65535. Порты 1-255 закреплены за широкоизвестными приложениями (Well-known port assignments), остальные назначаются динамически перед посылкой дейтаграммы. UDP-дейтаграмма имеет заголовок, включающий номера порта источника (для возможности корректного ответа), порта назначения и поле данных. Длина поля данных UDP-дейтаграммы произвольна, протокол обеспечивает ее инкапсуляцию (помещение в поле данных) в одну или несколько IP-дейтаграмм и обратную сборку на приемной стороне.

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

TCP (Transmission Control Protocol) обеспечивает гарантированный поток данных между клиентами, установившими виртуальное соединение. Поток представляет собой неструктурированную последовательность байт, их интерпретация согласуется передающей и приемной стороной предварительно. Для идентификации используются порты, аналогично UDP-портам. Активная сторона (инициатор обмена) обычно использует произвольный порт, пассивная - известный порт, соответствующий используемому протоколу верхнего уровня. Комбинация IP-адреса и номера порта называется гнездом TCP (TCP Socket).

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

Уровень представления данных и прикладной уровень:

TelNet - обеспечение удаленного терминала (символьного и графического) UNIX-машины.

FTP (File Transfer Protocol) - протокол передачи файлов на основе TCP.

TFTP (Trivial File Transfer Protocol) - тривиальный протокол передачи файлов на основе UDP.

SMTP (Simple Mail Transfer Protocol) - протокол передачи электронной почты, определяющий правила взаимодействия и форматы управляющих сообщений.

RIP (Routing Information Protocol) - протокол обмена трассировочной информацией между маршрутизаторами, обеспечивающий динамическую маршрутизацию.

DNS (Domain Name System) - система обеспечения преобразования символических имен и псевдонимов сетей и узлов в IP-адреса и обратно.

SNMP (Simple Network Management Protocol) - простой протокол управления сетевыми ресурсами

RPC (Remote Procedure Call) - протокол вызова удаленных процедур (запуска процессов на удаленном компьютере).

NFS (Network File System) - открытая спецификация сетевой файловой системы, введенная Sun Microsystems.



6.3 Интеграция с UNIX

NetWare имеет возможности интеграции с сетями UNIX-машин, обеспечивая возможности доступа клиентов UNIX к ресурсам серверов NetWare и IPX-клиентов NetWare - к ресурсам UNIX-станций.

Продукт NetWare NFS Services 2.1 - NetWare 4 Edition представляет собой комплект программных средств, обеспечивающих прозрачный двунаправленный доступ к файлам и печати между ОС UNIX и серверами NetWare 4.x с помощью протокола. Клиенты NetWare и UNIX обращаются к этим ресурсам с помощью интерфейса UNIX, имея единое представление объектов всей сети независимо от их местонахождения. Пользователи X-Windows и терминалов DEC могут удаленно управлять серверами NetWare, а пользователи UNIX - обмениваться файлами с серверами NetWare, используя команды протокола FTP.

NetWare NFS функционирует как набор NLM (NetWare Loadable Modules) на серверах NetWare 4.1.

Продукт Novell UnixWare - реализация UNIX для процессоров Intel, в ядро которой включены протоколы IPX/SPX и TCP/IP- может выступать в роли полноправного клиента сети NetWare и сервера многопользовательских приложений для клиентов NetWare. Кроме того, он может использоваться в качестве шлюза между сетями, предоставляя IPX-клиентам NetWare терминальный доступ к станциям UNIX, а TCP/IP-станциям UNIX - доступ к файловой системе NetWare.

6.4 NetWare/IP

Загрузка модуля TCPIP.NLM и его конфигурирование обеспечивала только транспортную систему TCP/IP. При этом сервер мог работать в качестве гибко управляемого IP-маршрутизатора с настраиваемыми фильтрами и обеспечивать связь по IP клиентов с дополнительными приложениями, использующими транспорт TCP/IP через протокол STREAMS. Однако запросы к ядру ОС по протоколу NCP, обеспечивающие основные сервисы NetWare, при этом использовали в качестве транспорта только IPX. Для того, чтобы эти запросы работали через IP, во-первых, необходим другой клиент (и NETx, и VLM ориентированы только на формирование запросов NCP через IPX), во-вторых, на сервере должен быть запущен обработчик запросов NCP, поступающих через IP (и, естественно, посылающий на них ответы также по IP). Эти и другие задачи решает продукт NetWare/IP, который для NetWare 3.12 - 4.x обеспечивает полную интеграцию NetWare со всеми протоколами и сервисами TCP/IP.

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

В NetWare/IP включен модуль XCONSOLE, обеспечивающий возможность удаленного управления сервером NetWare с терминала системы X-Window System или VT 100/220.

Для приложений, традиционно основанных на IPX-транспорте, возможно использование транспорта IP.

Широковещательные механизмы протоколов RIP и SAP эмулируются сервисом DSS - (Domain SAP/RIP Service), заменяющем передачу их пакетов обслуживанием централизованной базы информации SAP/RIP. Репликативность DSS обеспечивает отказоустойчивость и балансирование нагрузки на сеть.

Администратор сети может использовать входящий в комплект поставки NLM Domain Name Service (DNS) для передачи информации о DSS клиентам и серверам NetWare/IP или использовать имеющуюся DNS систем UNIX.

NetWare/IP 2.2 можно использовать и без DNS.

Управляющая утилита UNICON обеспечивает удобное конфигурирование и управление программными средствами. Поддержка RCONSOLE и XCONSOLE позволяют управлять системой как со станций DOS, так и с терминалов (или их эмуляторов) VT100, VT220 и X-Window.

Управление IP-адресацией облегчается возможностью для клиентов NetWare/IP получать IP-адреса и маски подсетей от серверов DHCP/BOOTP.

Совместное использование принтеров NetWare и UNIX обеспечивает поддержка Lpr/Lpd (клиент NetWare/IP может посылать задания и на принтеры UNIX, обслуживаемые LP-демоном).

Пакет поддерживает протокольные стеки IP фирмы Microsoft для Windows 95 и Windows NT, а также стеки фирмы FTP Software.

Пакет обеспечивает доступ к сетям NetWare через Интернет.

Пакет позволяет через DHCP находить сервер Windows NT, разрешающий имена NetBIOS (WINS).

6.5 Управление сетями, SNMP

Термин "управление сетями" (Network Management) подразумевает автоматизированные действия, направленные, в основном, на поддержание требуемого уровня производительности коммуникаций. Эти действия осуществляются с наблюдаемыми и управляемыми элементами сети (узлами, хабами и т. д.). Наблюдаемость обеспечивает получение информации о работоспособности, уровнях нагрузки и ошибок элемента. Управляемость кроме возможности включения и выключения может обеспечивать и более сложные функции управления трафиком и обеспечения защиты. Поскольку управление невозможно без наблюдения, то в дальнейшем для краткости будет упоминаться только управление.

Большинством сетей и их аппаратных средств поддерживается модель управления IP, изначально разработанная для Internet, получившая широкое распространение благодаря своей простоте и универсальности. Основные компоненты модели - SMI (Structure of Management Information), MIB (Management Information Base) и SNMP (Simple Network Management Protocol).

SMI определяет способ представления информации об объекте, используя сокращенную версию ASN.1 (Abstract Syntax Notation), предложенную ISO. Информация организована как набор свойств и их значений для объектов - элементов сети. Для организации групп информационных объектов вводятся дополнительные элементы, информация организуется в древовидную структуру. Все управляемые объекты (сети, станции, приложения, функции и т. д.) имеют свое уникальное положение в дереве. При появлении новых объектов и специфических свойств для них организуются дополнительные ветви, что обеспечивает бесконечную расширяемость структуры.

MIB - информационная база управляемого объекта, содержит определения свойств и их значения. С информационной базой взаимодействует Management Agent - программа, выполняемая в управляемом объекте, в задачу которой входит сбор информации и ее передача по запросам программы управления сетью. В настоящее время действует спецификация MIB-II.

SNMP - простой, но мощный протокол передачи управляющей информации, работающий на уровне представления данных модели OSI. Управляющая станция (на которой исполняется программа управления сетью) по протоколу SNMP взаимодействует с управляемыми агентами, связанными с этой станцией. Агенты собирают, упаковывают и немедленно отправляют управляющую информацию со своих узлов для вышестоящей станции по ее запросу. В дополнение к ответам на запросы, SNMP использует и прерывания (Traps) - специальные пакеты с сообщениями, передаваемые по инициативе агента при возникновении необычных ситуаций. Адресат назначения для traps определяется при конфигурировании агента. В настоящее время действует версия SNMP v.2, включающая средства обеспечения безопасности, поддерживающая MIB-II.

В NetWare поддержка SNMP возможна и на серверах и на рабочих станциях (Desktop SNMP), его средства включены практически во все современные драйверы сетевых адаптеров. Для ее использования на управляемых узлах необходима установка и конфигурация агентов. В качестве транспорта для сообщений SNMP может использоваться как свойственный ему IP, так и IPX.

Для подтверждения прав использования средств SNMP (аутентификации) на каждом узле с агентом задаются имена групп (Community), которые должны предъявляться менеджерами SNMP в запросах. Запросы от менеджеров, не предъявивших корректные имена, агентом игнорируются. Имя MonitorCommunity предоставляет возможность наблюдения узла (запросы только на чтение MIB), имя ControlCommunity дает право управления узлом (запросы на чтение и запись MIB). Имя TrapCommunity включается в трап-пакеты, генерируемые узлом.

Имена групп могут содержать до 32 символов ASCII (исключая "[", "=", ":", ";", "#"), они чувствительны к регистру.

Продукты для сетевого управления Novell - NetWare Management System (NMS) Runtime, NetWare Management Agent, NetWare Hub Services, LANalyser for Windows - поддерживают протокол SNMP.


Вопросы и ответы (глава 6) | Глава 7 | Содержание

Михаил Гук (Mgook@stu.neva.ru, Сайт автора)

Используются технологии uCoz