Особенности реализации стека TCP/IP в ОС Windows NT
Так как большинство операционных систем поддерживают протоколы TCP/IP, они могут использовать этот стек протоколов как средство взаимодействия. Используя TCP/IP, Windows NT может общаться со многими операционными системами, включая
- хосты сети Internet;
- системы Apple Macintosh;
- системы на базе Unix;
- мэйнфреймы IBM;
- компьютеры сетей DEC Pathworks;
- принтеры с сетевыми адаптерами, непосредственно подключенные к сети.
9.1.1. Обзор стека TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.
Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.
Реализация стека TCP/IP в ОС Windows NT дает следующие преимущества:
- Это стандартный корпоративный сетевой протокол, который представляет собой наиболее завершенный и популярный сетевой протокол. Все современные операционные системы поддерживают TCP/IP, а почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.
- Это метод получения доступа к сети Internet.
- Это технология для соединения разнородных систем. Стек предоставляет многие стандартные средства взаимодействия для доступа и передачи данных между разнородными системами, включая протокол передачи файлов FTP и протокол эмуляции терминала Telnet. Некоторые из этих стандартных средств включены в состав Windows NT.
- Это устойчивая масштабируемая межплатформенная среда для приложений клиентсервер. Microsoft TCP/IP предлагает интерфейс Windows Sockets, который представляет собой очень удобное средство для разработки приложений клиент-сервер. Эти приложения могут работать на стеках других производителей с интерфейсом Windows Sockets. Приложения для Windows Sockets могут также использоваться другими сетевыми протоколами такими как Microsoft NWLink или NetBIOS.
Стек TCP/IP в среде Windows NT содержит:
- Базовые протоколы - TCP, IP, UDP, ARP, ICMP.
- Прикладные программные интерфейсы - Windows NT Sockets для сетевого программирования, RPC - для взаимодействия между компьютерами, NetBIOS для использования логических имен и сессий в сети, сетевую версию DDE для разделения информации, встроенной в документы, по сети.
- Сервисы прикладного уровня, включая Finger, FTP, RCP, REXEC, RSH, Telnet, TFTP. Эти сервисы позволяют пользователям Windows NT Server использовать ресурсы компьютеров с ОС, разработанными отличными от Microsoft компаниями, например, Unix.
- Диагностические средства TCP/IP, включающие ARP, HOSTNAME, IPCONFIG, NBTSTAT, NETSTAT, PING, ROUTE. Эти утилиты используются для обнаружения и устранения сетевых проблем при работе со стеком TCP/IP.
- SNMP - агент протокола TCP/IP. Эта компонента позволяет управлять компьютером Windows NT по сети, используя такие средства, как Sun Net Manager или HP Open View.
9.1.2. Утилиты и сервисы TCP/IP в Windows NT
Windows NT Server включает дополнительные утилиты и сервисы TCP/IP:
- DHCP - обеспечивает автоматическое конфигурирование параметров стека TCP/IP в средах Windows NT Server, Windows NT Workstation, Windows for Workgroups и сетевых клиентов производства компании Microsoft.
- WINS - динамически регистрирует имена компьютеров и поддерживает их соответствие IP-адресам.
- LPDSVC - обеспечивает доступ к принтерам работающим в среде Unix.
- Функция наблюдения для сервера FTP позволяет регистрировать все FTP-операции.
Кроме того, к Windows NT Server добавлен ряд дополнительных простых TCP/IP-протоколов, к которым относятся:
- ECHO - возвращает любые получаемые данные назад источнику.
- DISCARD - отбрасывает любые получаемые данные.
- CHARGER - это генератор символов, который отправляет данные, не обращая внимания на получаемые данные. Хотя эти данные могут быть любыми, рекомендуется использовать некоторые образцы.
- QUOTE - отсылает короткую цитату дня. Эта цитата может извлекаться из пользовательского файла цитат или из файла цитат, который поставляется вместе с данным сервисом.
- DAYTIME - отсылает текущее значение даты и времени в виде символьной строки, без учета получаемых данных.
В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому стек TCP/IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных глобальных линий связи.
Основные функции протокола IP - маршрутизация пакетов, а также сборка и разборка пакетов. Последняя функция необходима в том случае, когда пакеты формируются в одной сети и передаются через другую сеть, максимальная длина пакета в которой меньше. Протокол IP является датаграммным протоколом.
К этому же уровню относится и протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Этот протокол предназначен для обмена информацией об ошибках между маршрутизатором или шлюзом, системой-источником и системой-приемником, то есть для организации обратной связи. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, запросы-ответы о состоянии системы и т.п.
На более высоком уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает устойчивое виртуальное соединение между удаленными прикладными процессами. Протокол UDP обеспечивает передачу прикладных пакетов датаграммным методом, то есть без установления виртуального соединения, и поэтому требует меньших накладных расходов, чем TCP.
Самый верхний уровень стека TCP/IP называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол пересылки файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие.
Рис. 9.1. Стек протоколов Microsoft TCP/IP
Протокол SNMP ( Simple Network Management Protocol) используется для организации сетевого управления. Модель управления в семействе TCP/IP разделяет проблему управления на две части. Первая часть связана с передачей информации. Протоколы передачи управляющей информации определяют, как программа-клиент, работающая на хосте администратора, взаимодействует с сервером. Они определяют формат и смысл сообщений, которыми обмениваются клиенты и серверы, а также форматы имен и адресов. Вторая часть связана с контролируемыми данными. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в серверах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые хост или шлюз должен сохранять, и допустимые операции над ними.
Протокол управления сетью SNMP определяет правила взаимодействия между программой-клиентом системы управления сетью, с которой работает администратор, и программой-сервером, собирающей информацию.
Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Он может использоваться приложениями и пользователями для передачи файлов по сети. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Однако, кроме пересылки файлов, протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Кроме того, FTP позволяет пользователю указывать тип и формат запоминаемых данных. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем передать требуемый файл, в соответствии с протоколом пользователи должны сообщить свое имя и пароль.
Хотя FTP является наиболее общим протоколом передачи файлов в стеке TCP/IP, он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.
Протокол telnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленной ЭВМ. Для обеспечения такой передачи в протоколе telnet терминалам предоставляется широкий спектр средств обслуживания.
Протоколы канального, сетевого и транспортного уровней реализуются в Windows NT, как и в большинстве других сетевых операционных систем, в виде драйверов. Протоколы прикладного уровня стека TCP/IP реализованы в Windows NT в виде утилит, которые работают в режиме командной строки (кроме утилиты telnet). Некоторые вспомогательные утилиты реализуют протоколы или некоторые функции протоколов нижних уровней, таких как ICMP или ARP. Имеются также утилиты, не реализующие коммуникационные протоколы, а отображающие информацию о конфигурации стека TCP/IP или сессии TCP/IP.
Утилиты TCP/IP