*

Internetworking Technology Overview.

ГЛАВА 16. AppleTalk.



Библиографическая справка


В начале 1980 гг. Apple Computer готовилась к выпуску компьютераMacintosh. Инженеры компании знали, что в скором времени сети станутнасущной необходимостью, а не просто интересной новинкой. Они хотелитакже добиться того, чтобы базирующаяся на компьютерах Macintoshсеть была бесшовным расширением интерфейса пользователя Macintosh,совершившим подлинную революцию в этой области. Имея в виду эти два фактора, Apple решила встроить сетевой интерфейс в каждый Macintosh и интегрировать этот интерфейс в окружение настольнойвычислительной машины. Новая сетевая архитектура Apple получила название Apple Talk.

Хотя Apple Talk является патентованной сетью, Apple опубликовала характеристики Apple Talk, пытаясь поощрить разработку приучастии третьей стороны. В настоящее время большое число компанийуспешно сбывают на рынке базирующиеся на Apple Talk изделия; в ихчисле Novell, Inc. и Мicrosoft Corparation.

Оригинальную реализацию Apple Talk, разработанную для локальныхрабочих групп, в настоящее время обычно называют Apple Talk Phase I.Однако после установки свыше 1.5 мил. компьютеров Macintosh в течениепервых пяти лет существования этого изделия, Apple обнаружила, чтонекоторые крупные корпорации превышают встроенные возможности AppleTalk Phase I, поэтому протокол был модернизирован. Расширенные протоколы стали известнны под названием Apple Talk Phase II. Oнирасширили возможности маршрутизации Apple Talk, обеспечив их успешное применение в более крупных сетях.


Основы технологии


Apple Talk была разработана как система распределенной сети клиент-сервер. Другими словами, пользователи совместнопользуются сетевыми ресурсами (такими, как файлы и принтеры). Компьютеры, обеспечивающие эти ресурсы, называются служебнымиустройствами (servers); компьютеры, использующие сетевые ресурсыслужебных устройств, называются клиентами (clients).Взаимодействие сослужебными устройствами в значительной степени является прозрачнымдля пользователя, т.к. сам компьютер определяет местоположение запрашиваемого материала и обращается к нему без получениядальнейшей информации от пользователя. В дополнение к простотеиспользования, распределенные системы также имеют экономическиепреимущества по сравнению с системами, где все равны, т.к.важныематериалы могут быть помещены в нескольких, а не во многихместоположениях.

Apple Talk относительно хорошо согласуется с эталонной моделью OSI.На Рис. 16-1 "Apple Talk и эталонная модель OSI" представлены протоколыApple Talk, смежные с теми уровнями OSI, с которыми у них установлено соответствие. Этот рисунок отличается от других изображений связипакета протоколов Apple Talk с моделью OSI тем, что на нем NBP, ZIP иRTMP размещены на Уровне 3, а АЕР-на Уровне 7. По мнению Cisco, NBP,ZIP и RТМP по своим функциональным возможностям стоят в ряду ближе к Уровню 3 модели OSI, хотя они и пользуются услугами DDP, другого протокола Уровня 3. Аналогично, Cisco полагает, что АРЕ следует включить в перечень протоколов прикладного уровня, т.к. он обычно используется для обеспечения функциональных возможностей прикладного уровня. В частности, АЕР помогает определить возможность отдаленных узлов принимать следующие соединения.




Доступ к среде


Apple разработала AppleTalk таким образом, чтобы он был независимым от канального уровня. Другими словами, теоретически он может работать в дополнение к любой реализации канального уровня. Appleобеспечивает различные реализации канального уровня, включаяEthernet, Token Ring, FDDI и LocalTalk. Apple ссылается на AppleTalk,работающий в Ethernet, как нa EtherTalk,в Тоkеn Ring-кaк на TokenTalkи в FDDI-как на FDDITalk. Информация о технических характеристикахEthernet, TokenRing и FDDI приведена соответственно вглаве 5 "Ethernet/IEEE 802.3",главе 6 "Token Ring/IEEE 802.5" иглаве 7 "FDDI".

LocalTalk - это запатентованная компанией Apple система доступа к носителю. Он базируется на конкуренции на получение доступа, топологии об'единения с помощью шины и передаче сигналов базовой полосы (baseband signaling) и работает на носителе, представляющимсобой экранированную витую пару, со скоростью 230.4 Kb/сек.Физическим интерфейсом является RS-422; это сбалансированный интерфейс для передачи электрических сигналов, поддерживаемый интерфейсом RS-449. Сегменты LocalTalk могут переноситься на расстояния до 300 метров и обеспечивать до 32 узлов.


Сетевой уровень


В данном разделе описываются концепции, принятые для сетевогоуровня AppleTalk, и протоколы для этого уровня. В нем рассматриваютсяназначение адреса протокола, сетевые об'екты и протоколы AppleTalk, которые обеспечивают функциональные возможности Уровня 3 эталонной модели OSI.


Назначения адреса протокола

Для обеспечения минимальных затрат, связанных с работой администраторасети, aдреса узлов AppleTalk назначаются динамично. Когда Macintosh,прогоняющий AppleTalk, начинает работать, он выбирает какой-нибудьадрес протокола (сетевого уровня) и проверяет его, чтобы убедиться, что этот адрес используется в данный момент. Если это не так, то этотновый узел успешно присваивает себе какой-нибудь адрес. Если этот адресиспользуется в данный момент, то узел с конфликтным адресом отправляетсообщение, указывающее на наличие проблемы, а новый узел выбирает другой адрес и повторяет этот процесс. На Рис. 16-2 представлен процессвыбора адреса AppleTalk.



Фактические механизмы выбора адреса AppleTalk зависят от носителя.Для установления связи адресов AppleTalk с конкретными адресами носителя используется протокoл разрешения адреса AppleTalk (AARP).AARP также устанавливает связи между адресами других протоколов и аппаратными адресами. Если пакет протоколов AppleTalk или любого другой пакет протоколов должен отправить пакет данных в другой сетевой узел, то адрес протокола передается в AARP. AARP сначала проверяет адресный кэш, чтобы определить, является ли уже установленной связь между адресом этого протокола и аппаратным адресом. Если это так, то эта связь передается в запрашивающий пакет протоколов. Если это не так,то AARP инициирует широковещательное или многопунктовое сообщение,запрашивающее об аппаратном адресе данного протокольного адреса. Еслишироковещательное сообщение доходит до узла с этим протокольнымадресом, то этот узел в ответном сообщении указывает свой аппаратныйадрес. Эта информация передается в запрашивающий пакет протоколов, который использует этот аппаратный адрес для связи с этим узлом.


Сетевые объекты

AppleTalk идентифицирует несколько сетевых об'ектов. Самым простымявляется узел (node), который является просто любым устройством,соединенным с сетью AppleTalk. Наиболее распространенными узламиявляются компьютеры Macintosh и лазерные принтеры, однако многиедругие компьютеры также способны осуществлять связь AppleTalk, втом числе компьютеры IBM PC, Digital Equipment Corparation VAX и различные АРМ. Следующим об'ектом, определяемым AppleTalk, являетсясеть. Сеть AppleTalk представляет собой просто отдельный логический кабель. Хотя этот логический кабель часто является отдельным физическим кабелем, некоторые вычислительные центры используют мостыдля об'единения нескольких физических кабелей. И наконец, зона (zone)АppleTalk является логической группой из нескольких сетей (возможнонаходящихся далеко друг от друга). Об'екты AppleTalk изображенына Рис. 16-3.




Протокол доставки дейтаграмм (DDP)


Основным протоколом сетевого уровня AppleTalk является протокол DDP.DDP обеспечивает обслуживание без установления соединения между сетевыми гнездами. Гнезда могут назначаться либо статистически, либодинамически.Адреса AppleTalk, назначаемые DDP, состоят из 2 компонентов:16-битового номера сети (network number) и 8-битового номера узла(node number). Эти два компонента обычно записываются в виде десятичных номеров, разделенных точкой (например, 10.1 означает сеть 10, узел 1). Если номер сети и номер узла дополнены8-битовым гнездом (socket), обозначающим какой-нибудь особый процесс,то это означает, что в сети задан какой-нибудь уникальный процесс.

AppleTalk Phase II делает различие между нерасширенными (nоnextended)и расширенными (extended) сетями. В нерасширенных сетях, таких какLocalTalk, номер каждого узла AppleTalk уникален. Нерасширенные сетибыли единственным типом сети, определенным в AppleTalk Phase I. Врасширенных сетях, таких как EtherTalk и TokenTalk, уникальной является комбинация номер каждой сети/номер узла.

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


Протокол поддепжки маршрутной таблицы (RTMP)

Протокол, который организует и поддерживает маршрутные таблицыAppleTalk, называется Протоколом поддержки маршрутной таблицы (RTMP).Маршрутные таблицы RTMP содержат данные о каждой сети, до которойможет дойти дейтаграмма. В эти данные входит порт роутера,который ведет к сети пункта назначения, ID узла следующегороутера, который принимает данный пакет, расстояние до сетиназначения, выраженное числом пересылок, и текущее состояние этихданных (хорошее, подозрительное или плохое). Периодический обмен маршрутными таблицами позволяет роутерам об'единенных сетейгарантировать обеспечение непротиворечивой текущей информацией.На Рис. 16-4 представлен образец таблицы RTMP и соответствующаяархитектура сети.



Протокол привязки по именам AppleTalk (Name Binding Protocol - NBP)устанавливает связь имен AppleTalk (которые выражаются как об'екты, видимые для сети - network-visible entities, или NVE) садресами. NVE является адресуемой сетью AppleTalk услугой, такой какгнездо. NVE ассоциируются с более, чем одним именем об'ектов и перечнем атрибутов. Имена об'ектов представляют собой последовательность символов, например такую: printer@net1,в то время как перечень атрибутов определяет характеристики NVE.

Связь между NVE с присвоенными именами и сетевыми адресами устанавливается через процесс привязки имени. Привязка имени может быть произведена в момент запуска узла или динамично, непосредственноперед первым использованием. NBP управляет процессом привязки имени, в который входят регистрация имени, подтверждение имени, стирание имени и поиск имени.

Зоны позволяют проводить поиск имени в группе логически связанныхузлов. Чтобы произвести поиск имен в пределах какой-нибудь зоны,отправляется запрос о поиске в местный роутер, которыйрассылает широковещательный запрос во все сети, которые имеют узлы,принадлежащие заданной зоне. Протокол информации зоны (ZoneInformation Protocol - ZIP) координирует эти действия.

ZIP поддерживает соответствие номер сети/номер зоны в информационныхтаблицах зоны (zone information tables-ZIT). ZIT хранятся вроутерах, которые являются основными пользователями ZIP, однакоконечные узлы используют ZIP в процессе запуска для выбора своих зони получения межсетевой информации о зонах. ZIP использует маршрутные таблицы RTMP для отслеживания изменений в топологии сети.Если ZIP находит данные о маршрутной таблице, которох нет в даннойZIT, она образует запись данных о новой ZIT. На Рис. 16-5 представленобразец ZIT.




AppleTalk Update-Based Routing Protocol

AppleTalk Update-Based Routing Protocol (AURP) allows a network administrator to connect two or more AppleTalk internetworks through a foreign network (such as Transmission Control Protocol/Internet Protocol [TCP/IP]) to form an AppleTalk wide-area network (WAN). The connection is called a tunnel, which functions as a single, virtual data link between the AppleTalk internetworks, as shown in Figure 16-6.

Figure 16-6 : AppleTalk Tunnel

s3144.gif

A router that connects an AppleTalk internetwork to a tunnel (that is, a router that runs AURP) is called an exterior router. The exterior router sends AppleTalk data packets and routing information through the foreign network by encapsulating the packets with the header information required by the foreign network system. The receiving exterior router removes the foreign header information and sends the packets out the appropriate interface. Packets are encapsulated in User Datagram Protocol (UDP) headers in the initial implementation of AURP.

When only two exterior routers are connected to a tunnel, that tunnel is called a point-to-point tunnel. When more than two exterior routers are connected to the tunnel, that tunnel is called a multipoint tunnel. If all exterior routers connected to a multipoint tunnel can send packets to each other, the tunnel is said to be fully connected. If one or more exterior routers are not aware of other exterior routers, the tunnel is said to be partially connected. Each exterior router functions both as an AppleTalk router within its local internetwork and as an end node in the foreign network that connects the AppleTalk internetworks.

The main function of AURP is to maintain accurate routing tables for the entire AppleTalk WAN by the exchange of routing information between exterior routers. In addition, AURP encapsulates AppleTalk data packets with the headers required by the foreign network.

AURP uses the principle of split horizons (which states that it is never useful to send information about a route back in the direction from which the information came) to limit the propagation of routing updates. For that reason, an exterior router sends routing information about only the networks that comprise its local internetwork to other exterior routers connected to the tunnel.

When an exterior router becomes aware of another exterior router on the tunnel, the two exterior routers exchange their lists of network numbers and associated zone information. Thereafter, an exterior router sends routing information only when the following events occur:

When an exterior router receives AppleTalk data packets or routing information that needs to be forwarded over the tunnel, the AURP module converts that information to AURP packets. The AURP packets are encapsulated in the header information required by the foreign network and sent over the tunnel to the destination exterior router, as shown in Figure 16-7.

Figure 16-7 : AURP Architectural Model

s3145.gif

At the destination exterior router, the AURP module removes the headers required by the foreign system from the AURP packets and sends AppleTalk data packets to their final destination. The exterior router uses the AURP packets that contain routing information to update its routing information tables but does not propagate that information to any other exterior router.


Note As defined by Apple Computer, AURP converts RTMP and ZIP packets into AURP packets and vice versa. As implemented by Cisco, AURP converts Enhanced IGRP packets as well as RTMP and ZIP packets.


AppleTalk Echo Protocol (AEP)

AEP is an extremely simple protocol that generates packets that can be used to test the reachability of various network nodes.


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


Транспортный уровень AppleTalk реализуется двумя основными протоколами AppleTalk: AppleTalk Transaction Protocol (ATP) (Протокол транзакцийAppleTalk) и AppleTalk Data Stream Protocol (ADSP) (Протокол потока данных АppleTalk). АТР является транзакционно-ориентированным, в товремя как ADSP является ориентированным по потоку данных.


Протокол транзакций AppleTalk (ATP)

ATP является одним из протоколов транспортного уровня Appletalk. АТРпригоден для применений, базирующихся на транзакциях, которые можновстретить в банках или магазинах розничной торговли.

В транзакции АТР входят запросы (от клиентов) (requests) и ответы (отслужебных устройств) (replies). Каждая пара запрос/ответ имеетотдельный ID транзакции. Транзакции имеют место между двумя гнездамиклиентов. АТР использует транзакции "точно-один раз" (exactly once - XO)и "по крайней мере один раз" (at-least-once - ALO), Транзакции ХОтребуются в тех ситуациях, когда случайное выполнение транзакцииболее одного раза неприемлемо. Банковские транзакциии являются примером таких неидемпотентных (nonidempotent) ситуаций (ситуаций,когда повторение какой-нибудь транзакции вызывает проблемы, что достигается тем, что делаются недействительными данные, участвующие в данной транзакции).

АТР способен выполнять наиболее важные функции транспортного уровня,в том числе подтверждение о приеме данных и повторную передачу,установление последовательности пакетов, а также фрагментированиеи повторную сборку. АТР ограничивает сегментирование сообщений до8 пакетов; пакеты АТР не могут содержать более 578 информационных байтов.


Протокол потока данных AppleTalk (ADSP)

ADSP является другим важным протоколом транспортного уровня AppleTalk. Как видно из его названия, ADSP является ориентированным попотоку данных, а не по транзакциям. Он организует и поддерживает полностью дублированный поток данных между двумя гнездами воб'единенной сети AppleTalk.

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

ADSP также определяет механизм управления потоком. Пункт назначения может в значительной степени замедлять передачи источника путемсокращения размера об'явленного окна на прием.

ADSP также обеспечивает механизм сообщений управления "выхода изполосы" (out-of-band) между двумя об'ектами AppleTalk. В качествесредства для перемещения сообщений управления выхода из полосымежду двумя об'ектами AppleTalk используются пакеты "внимания"(attention packets).Эти пакеты используют отдельный поток номеров последовательностей, чтобы можно было отличать их от обычных пакетов данных ADSP.


Протоколы высших уровней


AppleTalk обеспечивает несколько протоколов высшего уровня. Протоколсеансов AppleTalk ( AppleTalk Session Protocol - ASP)организует и поддерживает сеансы (логическиедиалоги) между клиентом AppleTalk и служебным устройством. Протоколдоступа к принтеру ( Printer Access Protocol - РАР)AppleTalk является ориентированным по связипротоколом, который организует и поддерживает связи между клиентамии служебными устройствами (использование термина printer в заголовкеэтого протокола является просто исторической традицией). Эхо-протоколAppleTalk (AppleTalk Echo Protocol - AEP) является очень простымпротоколом, генерирующим пакеты, которые могут быть использованыдля проверки способности различных узлов сети создавать повторное эхо.И наконец, Протокол ведения картотеки AppleTalk (AppleTalk Filing Protocol - AFP) помогает клиентам коллективно использовать служебные файлы в сети.




(back)



Главная страница