2.4.10 WWW
Можно копировать файлы и с серверов WWW, не задумываясь об их реальном размещении. На рис. 2.3 показан экран
Рис. 2.3. Использование браузера
2.4.11 Новости
На рис. 2.4 представлен экран
Рис. 2.4. Группы новостей по научной тематике
2.4.12 Диалог для доступа к файлу
Рассмотрим последний диалог с пользователем. В этом примере используется компьютер с дисковой операционной системой (Disk Operating System — DOS), подключенный к сети TCP/IP. Мы переключимся на устройство
d:
d:\> dir
Volume in drive D is SERVER
Directory of D:\
. <DIR> 10-25-95 8:03a
.. <DIR> 10-25-95 8:03a
ALTBWPM 711 2-18-95 12:53p
EGA512 FRS 3584 9-16-94 3:57p
WPRINT1 344392 11-05-95 13:28p
README WPD 5492 9-16-95 3:57p
SPELL EXE 40448 9-16-95 3:55p
WP EXE 252416 11-15-95 4:51p
...
К этому примеру даже не требуется особых пояснений: файлы, которые отмечены как находящиеся на локальном диске
Глава 3
Архитектура TCP/IP
3.1 Введение
Протоколы TCP/IP разработаны для сетевого окружения, которое было мало распространено в 70-х гг., но сегодня стало нормой. Эти протоколы позволяют соединять оборудование различных производителей и способны работать через различные типы носителей или сред и связи данных. Они позволили объединить сети в единую сеть
Более того, спонсировавшие разработку TCP/IP научные, военные и правительственные организации хотели получить возможность подключения к интернету новых сетей без изменения служб уже существующих в интернете сетей.
Все эти требования нашли отражение в архитектуре TCP/IP. Требования независимости от носителей и расширения за счет подключения новых сетей привели к решению о пересылке данных в интернет с разделением их на части и маршрутизацией каждой из этих частей как независимого элемента.
Такие возможности гарантируют надежную пересылку данных от хоста источника к хосту назначения. Вследствие этого разработчики маршрутизаторов направили свои усилия на повышение производительности и внедрение новых коммуникационных технологий.
Все это привело к прекрасной масштабируемости протоколов TCP/IP и возможности их применения на различных системах — от больших ЭВМ (mainframe) до настольных компьютеров. На практике полезный набор функциональных свойств сетевого управления маршрутизацией реализуется неинтеллектуальными устройствами, подобными мостам, мультиплексорам или коммутаторам.
3.2 Деление на уровни
Для достижения надежности обмена данными между компьютерами необходимо обеспечить выполнение нескольких операций:
■ Пакетирование данных
■ Определение путей (маршрутов) пересылки данных
■ Пересылку данных по физическому носителю
■ Регулировку скорости пересылки данных в соответствии с доступной полосой пропускания и возможностью приемника получать посланные ему данные
■ Сборку полученных данных, чтобы в формируемой последовательности не было потерянных частей
■ Проверку поступающих данных на наличие дублированных фрагментов
■ Информирование отправителя о том, сколько данных было передано успешно
■ Пересылку данных в нужное приложение
■ Обработку ошибок и непредвиденных событий
В результате программное обеспечение для коммуникации получается достаточно сложным. Следование модели с разделением на уровни позволяет упростить объединение сходных функций в группы и реализовать разработку коммуникационного программного обеспечения по модульному принципу.
Специфика структуры протоколов TCP/IP определяется требованиями коммуникаций в научных и военных организациях. IP позволяет объединить различные типы сетей в интернет, a TCP несет ответственность за надежную пересылку данных.
Коммуникационная модель обмена данными OSI строго соответствует структуре TCP/IP. Уровни и терминология модели OSI стали стандартной частью коммуникационной структуры обмена данными.
На рис. 3.1 показаны уровни OSI и TCP/IP. Начнем их анализ с самого нижнего уровня (в TCP/IP формально не определены уровни сеанса и представления).
Рис. 3.1. Уровни TCP/IP и OSI
3.2.1 Физический уровень
Физический уровень (physical layer) имеет дело с физическими носителями, разъемами и сигналами для представления логических нулей и единиц. Например, адаптеры сетевого интерфейса Ethernet и Token-Ring и соединяющие их кабели реализуют функции физического уровня.
3.2.2 Уровень связи данных
Уровень связи данных (data link layer) организует данные в
Заголовки кадров локальных сетей содержат физические адреса источника и назначения, которые идентифицируют передающую и принимающую интерфейсные карты локальной сети (сетевые адаптеры). Заголовки кадров, пересылаемых по региональной сети Frame Relay, содержат циклические идентификаторы в специальном адресном поле.
Вызов
Рис. 3.2. Формат кадра
3.2.3 Сетевой уровень
Функции сетевого уровня (network layer) выполняет протокол IP, который осуществляет, маршрутизацию данных между системами. Данные могут следовать по одному пути или использовать несколько различных путей при перемещении в интернете. Данные пересылаются в элементах, называемых
Как показано на рис. 3.3, датаграмма имеет заголовок IP, содержащий информацию об адресации для третьего уровня. Маршрутизатор проверяет адрес назначения для пересылки датаграммы в нужное место.
Рис. 3.3. Датаграмма IP
Уровень IP называется
3.2.4 Транспортный уровень (TCP)
Протокол TCP выполняет функции транспортного уровня (transport layer) и обеспечивает надежную службу пересылки данных для приложений. В TCP/IP встроен специальный механизм, гарантирующий пересылку данных без ошибок и пропусков и в той последовательности, в которой они были отправлены.
Приложения, например пересылки файлов, передают данные в TCP, который добавляет к ним заголовок и формирует элемент, называемый
TCP отсылает сегменты в IP, в котором производится маршрутизация данных в заданное место. На другой стороне соединения TCP предполагает получение тех же сегментов данных от IP, определяет приложение, которому направлены эти данные, и передает их приложению в том порядке, в котором они были отправлены.
3.2.5 Транспортный уровень (UDP)
Приложение может послать другому приложению независимое сообщение с помощью протокола UDP, который добавляем к сообщению заголовок и формирует элемент, называемый
UDP передает исходящие сообщения в IP и предполагает на другой стороне получение входящих сообщений от IP. Далее UDP определяет приложение, которому направлены данные.
UDP реализует коммуникационную службу без создания соединения, которая часто используется для просмотра содержимого простых баз данных.
3.2.6 Службы для приложений
Как уже отмечалось в главе 2, набор протоколов TCP/IP включает стандартные службы для приложений, такие как доступ с терминала, пересылка файлов, обращение к файловым серверам NFS, электронная почта, сетевые новости, WWW и просмотр адресов в DNS.
3.2.7 Пакетирование данных
На рис. 3.4 показано, как пакетируются прикладные данные перед пересылкой по сети. Основным термином для объединения информации с заголовком соответствующего сетевого уровня является
Рис. 3.4. Пакетирование данных перед пересылкой по сети
3.3 Обзор протоколов
На рис. 3.5 представлено соотношение между отдельными компонентами набора протоколов TCP/IP.
Рис. 3.5. Соотношение между компонентами набора протоколов TCP/IP
Хотя текстовые пользовательские интерфейсы для пересылки файлов, доступа с терминала, работы с новостями или запросами к DNS для определения адреса по имени формально не стандартизованы, многие разработчики копируют интерфейс конечного пользователя из BSD Unix. Работающие в режиме текстовых команд пользователи находят, что пользовательский интерфейс не слишком отличается в разных системах.
Для настольных систем Windows и Macintosh существует множество графических пользовательских интерфейсов. Хотя они и отличаются в деталях, но в целом следуют стандартным соглашениям операционных систем и обычно могут использоваться без специального изучения.
Клиенты WWW, сетевых новостей, пересылки файлов (FTP), почты (SMTP) и терминального доступа (
Просмотр каталогов DNS основан на сообщениях UDP. Станции управления SNMP извлекают сведения из сетевых устройств с помощью сообщений UDP.
3.4 Маршрутизаторы и топология сети
Набор протоколов TCP/IP может использоваться как в независимых локальных или региональных сетях, так и для их объединения в общие сети интернета. Любой хост с TCP/IP может взаимодействовать с другим хостом через локальную сеть, соединение "точка-точка" или через региональную сеть с пакетированием информации (см. рис. 3.6).
Рис. 3.6. Независимые друг от друга сети
Объединение сетей в интернет предполагает использование
Рис. 3.7. Объединение независимых сетей маршрутизаторами
Современные маршрутизаторы обеспечивают работу нескольких аппаратных интерфейсов, которые можно комбинировать для применения с конкретной сетевой топологией: Ethernet, Token-Ring, FDDI, синхронные соединения "точка-точка", Frame Relay и т.д.
Сети интернет можно построить с помощью самых разнообразных топологий. Однако если интернет будет иметь логически связанную структуру, маршрутизаторы смогут выполнять свою работу более эффективно и быстрее реагировать на неисправности в отдельных сегментах сети, перенаправляя датаграммы по функционирующим путям. Простая для понимания логическая структура поможет сетевым администраторам в диагностике, локализации и ликвидации сетевых неисправностей.
Обширный и основанный на конкуренции рынок маршрутизаторов IP помог развитию архитектуры TCP/IP. Разработчики маршрутизаторов быстро реализовывали новые топологии локальных и региональных сетей, предоставляя своим клиентам возможность выбора среди аналогичных устройств. За последние несколько лет существенно снизилось соотношение цены маршрутизаторов к их производительности.
3.5 Маршрутизация в IP
Программное обеспечение IP работает на хостах и маршрутизаторах IP. Если пункт назначения датаграммы не находится в том же самом сетевом сегменте, что и ее источник, то протокол IP локального хоста направляет такую датаграмму на локальный маршрутизатор. Если последний не подключен непосредственно к узлу назначения датаграммы, то она будет передана другому маршрутизатору. Этот процесс продолжается до тех пор, пока датаграмма не достигнет заданного пункта назначения.
Маршрутизатор IP определяет местоположение
3.5.1 Протоколы маршрутизации
В небольшой статической сети интернет таблицы маршрутизации могут заполняться и обслуживаться вручную. В больших сетях интернет корректность таблиц маршрутизации поддерживается самими устройствами посредством обмена информацией между маршрутизаторами. Маршрутизаторы могут динамически определять следующие события: