Что такое Internet.
Internet это всемирная компьютерная
сеть. На 1 октября 1994 года она
содержала 3 898 233 компьютера. Темпы
развития Internet настолько велики, что
к 1999 году прогнозируется рост сети
до 100 000 000 машин.
Internet содержит огромное
количество данных на какие угодно
темы и предоставляет широкий
спектр услуг для получения
информации. Особую популярность
завоевывает относительно новый
сервис Internet, т.н. "всемирная
паутина" WWW (World Wide Web). Для доступа
к этому сервису создан ряд
программ-клиентов, таких как Mosaic, Netscape и др. Эти
клиенты в виде как свободных, так и
коммерческих версий реализованы
для большого числа платформ, в т.ч.
Linux, MS Windows.
Система WWW состоит из большого
числа программ-серверов,
выполняющихся на машинах сети Internet.
Совместно серверы WWW образуют
распределенную базу данных
сетевого мультимедиа гипертекста.
Сервер наполняется информацией на
какую-либо тему (скажем, "ОС Linux -
передовая технология для всех"),
включая образы фотографий, картин и
музыки, шумов, речи. Далее
пользователь через сеть Internet с
помощью программы Netscape у себя на
машине обращается к этому серверу
по его адресу в сети. Пользователь
видит вводный текст, в котором, как
и положено гипертекстовой системе,
выделены некоторые участки текста.
Например, слова "Linus
Torvalds". Достаточно щелкнуть по
выделенному участку мышкой и
раскроется его содержание - фото
автора проекта Linux.
Если требуемой информации на
данном сервере нет, то ссылка может
привести на другой сервер WWW,
который работает на другом конце
мира. Соединение выполняется
практически мгновенно (секунды)
между континентами.
Сейчас во многих странах серверы
WWW растут как грибы. В России тоже.
Первым проектом такого рода стал
сервер "Окно
в Россию", созданный АО Релком
и Ассоциацией Новых Экранных
Технологий в мае 1994 г. Через этот
сервер доступны экспозиции "Музеи
Кремля", "Современное
изобразительное искусство",
сотни экспозиций в других странах.
Конечно, работа с WWW требует
наличия "настоящей" сети
связи, которая обеспечивает режим
online, а не отложенную передачу, как в
электронной почте.
В сервере WWW можно хранить данные
и ссылки на данные других серверов
на какую угодно тему, в т.ч. на
научную или практическую. Это
зависит только от фантазии
разработчика и потребностей
заказчика.
В мире существует огромное
количество WWW серверов самого
разного назначения. Без
специальных средств ориентировка в
этом гигантском складе информации
просто невозможна. Решают эту
проблему поисковые
сервера, которые хранят миллионы
ссылок на разные темы и производят
поиск нужной ссылки по запросу
пользователя.
В России к Internet можно
подключиться через сеть
Релком.
Концепция
клиент/сервер и сеть.
Современные компьютерные
технологии ориентирована на
идеологию клиент/сервер в рамках
сети.
Широко распространено
представление, что сервер - это
главный компьютер и обычно
работает где-то за стенкой, далеко;
а клиент это обычно мы сами и наша
машина, разумеется.
В данном контексте имеется в виду
нечто другое. Сервер это программа,
которая предоставляет сервис, т.е.
получает запрос и дает ответ.
Клиент - это программа, которая
выдает запрос и получает ответ. В
общем случае это роли, которыми
программы могут поменяться по ходу
дела. Одна и та же программа во
взаимодействиях с разными
партнерами может быть одновременно
сервером и клиентом. Сервер может
одновременно обслуживать
несколько клиентов.
Современное понимание сети
содержит три уровня:
- компьютер как сеть;
- локальная сеть;
- глобальная сеть.
Компьютер, снабженный
полноценной ОС с сетевой
поддержкой протоколов TCP/IP (как Linux,
например), обладает замечательным
свойством. Можно разработать
систему клиент/сервер в рамках
одного компьютера, а использовать
эту систему как на отдельном
компьютере, так и в локальной и в
глобальной сети. Скажем, систему, в
которой сервер управляет
прикладной базой данных, а
программы-клиенты предоставляют
пользователю прикладной интерфейс
для доступа к базе через запросы к
серверу по сети. Это получается
благодаря тому, что ОС для
взаимодействия клиента и сервера в
пределах одной машины использует
те же самые протоколы, что и для
взаимодействия клиента и сервера
через глобальную сеть.
Для DOS и MS Windows реализованы сетевые
пакеты, которые поддерживают
протоколы TCP/IP. Для того, чтобы
сделать полноценный сервер этого
маловато, но в роли клиентов
программы DOS и MS Windows могут
интегрироваться в сеть.
Локальная сеть состоит из ряда
машин, которые используют общую
магистраль данных. Например, Ethernet.
Возможны и другие варианты,
например, подключение машин через
последовательные порты. Локальная
сеть, как правило, ограничивается
пределами здания.
Локальные сети связываются между
собой, образуя глобальную сеть.
Самая большая глобальная сеть -
это Internet. Она объединяет 45 000
подсетей.
Делать сеть - так настоящую.
Пользователь у себя на предприятии
строит сеть в стандартах Internet, в
виде совокупности локальных сетей
по корпусам, затем подключается к
Internet (Релкому) и связывается по сети
с родственными предприятиями.
Обратите внимание, что при этом
программа-клиент работает с
программой-сервером совершенно
одинаково, что на машине, где
установлен сервер, что из другого
корпуса, что из другого города и
даже другой страны.
Роль Linux в создании
современной сети предприятия.
Роль Linux в
такой разработке достаточно
значительна. В Linux есть все
необходимые инструменты, он
свободен и комфортен. Это отличный
полигон для обкатки решений. Даже
если вы потом перейдете на другую
платформу (например, мощный сервер
Sun и ОС Solaris), то вы не с пустыми
руками это сделаете, а захватив с
собой наработки.
Это достигается, во-первых, за
счет того, что Linux поддерживает
стандарты открытых систем.
Во-вторых, в Linux есть большое число
инструментальных пакетов, с
помощью которых реализуется
прикладная система клиент-сервер.
Это СУБД, построители графических
интерфейсов и пр. Эти пакеты
свободны, поставляются в исходных
текстах. Они генерируются из
исходных текстов как для Linux, так и
для десятков других платформ, в т.ч.
коммерческих - Solaris, SCO, BSD*.
Например, СУБД Exodus,
Postgres и др. Пакет для разработки
интерфейса пользователя Tcl/Tk.
Последний может использоваться как
интерпретатор и как библиотека
программных вызовов. Tcl
генерируется на десятки платформ:
Linux, BSDI, SunOS, Solaris, Ultrix, IRIX, AIX, OSF/1, HPUX, SCO
Unix, Xenix, Dynix, UMAX, Unicos, A/UX, QNX, VMS, NextStep,
Convex, DOS, MS Windows, OS/2, ...
Когда вам понадобится перенести
прикладную систему на другую
платформу, вы легко сделаете это,
поскольку у вас есть не только
исходные тексты вашей прикладной
системы, но и исходные тексты
использованных инструментальных
пакетов, которые вы можете свободно
прихватить с собой на законных
основаниях.
Следует особо выделить роль Linux
как платформы для знакомства
начинающих разработчиков и
пользователей с миром открытых
систем. Во-первых, Linux это
комфортная и полноценная 32-х
разрядная ОС, по качеству сравнимая
и в ряде аспектов превосходящая
коммерческие ОС. Во-вторых, расходы,
связанные с освоением Linux, во много
раз меньше, чем в случае с
коммерческой системой. И не надо
платить за дополнительные
подсистемы и пакеты программ, нет
ограничений на число
пользователей. При этом доступ к
исходным текстам! И не в виде
примера из учебника, а в виде текста
реально работающей программы.
Результат - драгоценный опыт при
минимальных затратах, который
убережет от дорогих ошибок в сфере
коммерческих систем.
Особенность X Window System
как сетевой системы.
X Window System (X Windows) это
оконно-графическая система
клиент/сервер.
Сервер X Windows выполняется на
машине, где нужно отображать
информацию. Часто к одной машине
подключен один дисплей, но бывает и
несколько. На одной машине может
работать несколько серверов,
каждый из которых обслуживает свой
дисплей. Дисплей это клавиатура,
мышка, планшет и т.п. в связке с
монитором или несколькими
мониторами (например, обычным и
большим графическим).
Клиент это программа, которая
посылает данные серверу для
отображения в окне (окнах) на
мониторе. И принимает данные от
сервера, например, строку,
введенную с клавиатуры. Клиент
может выполняться как на той же
машине, что и X сервер, так и на
другой машине Internet.
Допустим, вы работаете на машине
my_host и на одной из консолей
запустили X Window System, т.е. X сервер.
Затем, работая на другой консоли
или в окне, вы загрузились в
удаленную машину remote_host и хотите
выполнить X приложение, т.е.
прикладную программу,
предназначенную для работы в X Windows.
Для того, чтобы сообщить X
приложению, что вы хотите видеть
его окошки у себя на мониторе,
достаточно ввести в удаленную
машину команду
export DISPLAY=my_host:0.0
Если вы теперь вызовите X
приложение, то оно по сети откроет
канал связи с вашим X сервером на
машине my_host, а не с X сервером машины
remote_host, и отобразит все свои окна на
вашем экране. Данные передаются по
каналу связи между клиентом (X
приложением) и X сервером таким же
образом, как если бы они работали на
одной машине. Сеть прозрачна и
возникает иллюзия, что работа
происходит на одной машине.
:0.0 это просто конкретные значения
:<номер дисплея>.<номер
монитора>, характерные для случая
машины с одним монитором.
X Windows реализована на большом
количестве машин различной
архитектуры в различных
операционных системах. Это дает
возможность через сеть выполнять
приложение на мощном
(супер)компьютере, а видеть
результат и управлять работой
приложения на скромной персоналке.
На своем мониторе можно
одновременно открыть несколько
окон - одно приложение на машине в
Сан-Франциско, второе в Сиднее,
третье в Париже - и работать с ними
одновременно, перемещая мышкой (или
программно) данные между ними.
Как с помощью Linux
превратить DOS в X-терминал.
Для работы в сетях с системой X
Windows созданы специальные
устройства - X-терминалы. Фактически
X-терминал представляет собой
специализированный компьютер -
аппаратное воплощение X сервера со
встроенным сетевым интерфейсом.
Это высококачественное устройство
с отличной графикой, но довольно
дорогое.
Linux с X Windows на персональном
компьютере представляет собой
достойную внимания замену
X-терминала.
Во-первых, это сравнительно
недорогое решение. Даже в том
случае, если в качестве дисплея
использовать хороший 17-дюймовый
монитор.
Во-вторых, это больше, чем просто
X-терминал. Это универсальный
компьютер, который одновременно
можно использовать для решения
широкого класса задач.
Существуют различные программные
реализации X-терминалов для DOS и MS
Windows. Это коммерческие системы, но
все они сильно уступают по
быстродействию и надежности
системе X Windows в Linux.
Установив Linux в раздел DOS, и
выкинув все лишнее, можно получить
программный X-терминал, который
загружается командой в DOS прямо из
файловой системы DOS. Это займет
около 10 MB на диске.
Загрузка Linux через
сеть.
Сетевой загрузчик Linux может
вызываться следующим образом:
- из постоянной памяти (ПЗУ)
сетевой платы на бездисковой
машине;
- с флоппи диска;
- как программа DOS, выполняемая
сразу же после загрузки.
Для того, чтобы использовать
сетевой загрузчик необходимо в
сети запустить соответствующий
сервер, взаимодействующий с
загрузчиком.
Загруженный по сети Linux работает с
файловой системой через сеть.
Взаимодействие Linux с
DOS и MS Windows.
В системах DOS и MS Windows существует
поддержка протоколов TCP/IP,
позволяющая выполнять
программы-клиенты, которые через
сеть TCP/IP взаимодействуют с Linux и
позволяют загружаться в Linux,
обмениваться файлами, электронной
почтой и новостями, монтировать
файлы через сетевую файловую
систему NFS (коммерческие PCNFS, PCTCP,
WATTCP, WinQVT, WINARCH, EINet winWAIS, свободные WinVn,
WS_FTP, NCSA Telnet, NCSA Mosaic). В Linux существуют
соответствующие программы-серверы.
В Linux имеется сервер Samba,
который позволяет
программам-клиентам через протокол
SMB (Session Message Block) получить доступ к
файловой системе Linux и принтеру,
работающему в Linux. Это такие клиенты
как LanManager для DOS, Windows for Workgroups, Windows NT,
OS/2, Pathworks и многие другие. В пакет Samba
входит и программа-клиент, которая
позволяет получить из Linux доступ к
файлам и принтеру в Windows for Workgoups, OS/2.
Протокол SMB выполняется поверх
протокола TCP/IP.
Совместная работа Linux
и Novell Netware.
Имеется возможность организовать
доступ к серверу Netware
непосредственно из Linux через
сетевую файловую систему NFS.
Конечно, это возможно только в том
случае, если вы приобрели у Novell
модуль NFS сервера, а стоит он
несколько тысяч долларов.
Другой путь состоит в том, чтобы
отдельную персоналку
сконфигурировать как обычное
рабочее место сети Novell, отобразив
требуемые директории файлсервера
на виртуальные диски. На этой же
машине необходимо запустить в
работу свободно распространяемый
пакет SOSS (Son Of Stans own Server), который
является сервером NFS и обеспечивает
экспорт сетевых дисков Novell в
сетевую файловую систему NFS.
Еще один путь состоит в том, чтобы
выполнять в Linux эмулятор
DOS, который обеспечивает
поддержку сети Novell. Далее обычным
образом, как в DOS, выполняются
программы-клиенты для доступа к
серверу Netware.
В Linux также имеются свободные клиент NetWare и эмулятор
сервера NetWare.
В коммерческой системе Caldera Network Desktop,
построенной на базе Linux, имеется
полномасштабный клиент Netware версий
3 и 4.
|