AppleTalk

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
2.png

Вступ

Appletalk - це стек протоколів, розроблених Apple Computer для комп'ютерної мережі. Він був спочатку включений в Macintosh (1984), зараз компанія відмовилася від нього на користь TCP/IP.Існує дві версії AppleTalk: AppleTalk Phase I і AppleTalk Phase II.

Версія AppleTalk Phase I розроблена для невеликих робочих груп і не має можливостей для роботи з великою мережею. Кількість хостів, які може підтримувати мережу AppleTalk Phase I, обмежується 135.

У версії AppleTalk Phase II це число розширюється до 253 на одному сегменті, що дозволяє підтримувати мережу великих розмірів.

Як і стек протоколів Інтернет, стек протоколів AppleTalk охоплює більшу частину семирівневої OSI-моделі, що показано на рис.3.10. Знаючи функції кожного рівня OSI-моделі, можна оцінити, які типи функцій виконуються кожним з протоколів AppleTalk.

Мережева модель

Модель OSI Відповідні рівні Appletalk
Прикладний рівень Apple Filing Protocol (AFP)
Рівень представлення Apple Filing Protocol (AFP)
Сеансовий рівень

Zone Information Protocol (ZIP)
AppleTalk Session Protocol (ASP)
AppleTalk Data Stream Protocol (ADSP)
AppleTalk Update-Based Routing Protocol (AURP)
Printer Access Protocol (PAP)

Транспортний рівень

AppleTalk Transaction Protocol (ATP)
AppleTalk Echo Protocol (AEP)
Name Binding Protocol (NBP)
Routing Table Maintenance Protocol (RTMP)

Мережевий рівень Datagram Delivery Protocol (DDP)
Канальний рівень

EtherTalk Link Access Protocol (ELAP)
LocalTalk Link Access Protocol (LLAP)
TokenTalk Link Access Protocol (TLAP)
Fiber Distributed Data Interface (FDDI)

Фізичний рівень

LocalTalk driver
Ethernet driver
Token Ring driver
FDDI driver

Бібліографічна довідка

На початку 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 виявила, що деякі крупні корпорації перевищують вбудовані можливості Apple Talk Phase I, тому протокол був модернізований. Розширені протоколи стали известнны під назвою Apple Talk Phase II. Oни розширили можливості маршрутизації Apple Talk, забезпечивши їх успішне застосування в крупніших мережах.


Мережа AppleTalk розроблена компанією apple computer inc. (1987 р) Ці мережі можуть працювати в середовищі Ethernet, Token Ring, FDDI і LocalTalk (власна мережа apple, що використовує скручені пари). У AppleTalk специфікований власний стек протоколів, які управляють потоком даних у мережі. Для цілей маршрутизації AppleTalk використовує модифіковану версію внутрішнього протоколу маршрутизації IGRP.

Основи технології

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

Протокoл розширення адреси AppleTalk (AARP)

Фактичні механізми вибору адреси AppleTalk залежать від носія. Для встановлення зв'язку адрес AppleTalk з конкретними адресами носій використовується протокoл дозволу адреси AppleTalk (AARP). AARP також встановлює зв'язки між адресами інших протоколів і апаратними адресами. Якщо пакет протоколів AppleTalk або будь-який інший пакет протоколів повинен відправити пакет даних у інший мережний вузол, то адреса протоколу передається в AARP. AARP спочатку перевіряє адресний кеш, щоб визначити, чи є вже встановленої зв'язок між адресою цього протоколу і апаратним адресою. Якщо це так, то цей зв'язок передається в запитуючий пакет протоколів. Якщо це не так, то AARP ініціює широкомовне або багатопунктове повідомлення, яке звертається із запитом про апаратні адреси даного протокольного адреса. Якщо широкомовне повідомлення доходить до вузла з цією протокольною адресою, то цей вузол у відповідному повідомленні вказує свою апаратну адресу. Ця інформація передається в запитуючий пакет протоколів, який використовує цю апаратна адреса для зв'язку з цим вузлом.

Протокол доставки дейтаграм (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)

LifiKSPUWiki20141101.jpg

Протокол, який організовує і підтримує маршрутні таблиці AppleTalk, називається Протоколом підтримки маршрутної таблиці (RTMP). Маршрутні таблиці RTMP містять дані про кожну мережі, до якої може дійти дейтаграмма. У ці дані входить порт роутера, який веде до мережі пункту призначення, ID вузла наступного роутера, який приймає цей пакет, відстань до мережі призначення, виражене числом пересилань, і поточний стан цих даних (хороше, підозріле або погане). Періодичний обмін маршрутними таблицями дозволяє роутеру об'єднаних мереж гарантувати забезпечення несуперечливою поточною інформацією. На малюнку представлений зразок таблиці RTMP і відповідна архітектура мережі.


Протокол прив'язки за іменами AppleTalk (NBP)

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

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

ATP є одним з протоколів транспортного рівня Appletalk. У транзакції АТР входять запити (від клієнтів) (requests) і відповіді (від службових пристроїв) (replies). Кожна пара запит / відповідь має окремий ID транзакції. Транзакції мають місце між двома гніздами клієнтів. АТР використовує транзакції "тільки-один раз" (exactly once - XO) і "принаймні один раз" (at least--once - ALO), Транзакції ХО потрібні в тих ситуаціях, коли випадкове виконання транзакції більше одного разу неприйнятно. Банківські транзакції є прикладом таких неідемпотентних (nonidempotent) ситуацій (ситуацій, коли повторення якоїсь транзакції викликає проблеми, що досягається тим, що робляться недійсними дані, які беруть участь в даній транзакції). АТР здатний виконувати найбільш важливі функції транспортного рівня, в тому числі підтвердження про прийом даних та повторну передачу, встановлення послідовності пакетів, а також фрагментованість та повторну збірку. АТР обмежує сегментування повідомлень до 8 пакетів; пакети АТР не можуть містити більше 578 інформаційних байтів.

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

ADSP є важливим протоколом транспортного рівня Apple Talk. Як видно з його назви, ADSP є орієнтованим по потоку даних, а не по транзакціях. Він організовує і підтримує повністю дубльований потік даних між двома гніздами в об'єднаній мережі AppleTalk. ADSP є надійним протоколом в тому плані, що він гарантує доставку байтів в тому ж порядку, в якому вони були відправлені, а також те, що вони не будуть дубльовані. ADSP нумерує кожен байт, щоб відстежувати окремі елементи потоку даних. ADSP також визначає механізм управління потоком. Пункт призначення може в значній мірі уповільнювати передачі джерела, шляхом скорочення розміру оголошеного вікна на прийом. ADSP також забезпечує механізм повідомлень управління "виходу зі смуги" (out-of-band) між двома об'єктами AppleTalk. Як засіб для переміщення повідомлень управління виходу зі смуги між двома об'єктами AppleTalk використовуються пакети "уваги" (attention packets). Ці пакети використовують окремий потік номерів послідовностей, щоб можна було відрізняти їх від звичайних пакетів даних ADSP.

Протоколи вищих рівнів

Image221.JPG

AppleTalk забезпечує декілька протоколів вищого рівня. Протокол сеансів AppleTalk (AppleTalk Session Protocol - ASP) організовує та підтримує сеанси (логічні діалоги) між клієнтом AppleTalk і службовим пристроєм. Протокол доступу до принтера (Printer Access Protocol - РАР) AppleTalk є орієнтованим по зв'язку протоколом, який організує і підтримує зв'язки між клієнтами і службовими пристроями (використання терміну printer в заголовку цього протоколу є просто історичною традицією). Ехо-протокол AppleTalk (AppleTalk Echo Protocol - AEP) є дуже простим протоколом, що генерує пакети, які можуть бути використані для перевірки спроможності різних вузлів мережі створювати повторне луна. І нарешті, Протокол ведення картотеки AppleTalk (AppleTalk Filing Protocol - AFP) допомагає клієнтам колективно використовувати службові файли в мережі. { |З діаграми видно, що стек протоколів appletalk повністю узгоджується з семирівневою схемою OSI. DDP являє собою протокол передачі даних, не орієнтований на з'єднання. Дейтограмма DDP використовує 13-байтовий заголовок, який включає в себе: поле числа маршрутизаторів (число кроків), через які пройшов пакет; поле довжини дейтограмми; поле контрольної суми; поля мережі призначення і відправника і т.д. Слідом за заголовком йде інформація, яка може містити до 586 байт. Максимальний розмір пакета (MTU) дорівнює 599 байтам. Число вузлів в мережі може досягати 16 мільйонів. Протокол adsp дозволяє двом програмам обмінюватися потоками інформації в повному дуплексному режимі з гарантією доставки. Протоколи TLAP, ELAP і LLAP служать для забезпечення сполучення з відповідними фізичними протоколами (Token Ring, Ethernet і Arcnet), приховуючи від програм інших рівнів специфічні особливості використовуваного мережного обладнання. Протокол ATP надійно передає запити і відгуки, детектирует помилки і організовує пакетний обмін. Цей протокол використовується в свою чергу протоколами ZIP, ASP і PAP, що видно з діаграми. Протокол AFP є протоколом підтримки додатків і дозволяє користувачам ЕОМ Macintosh працювати з загальними файлами. |} Програмне забезпечення Netware для Macintosh включає в себе файл AFP NLMtm, який забезпечує підтримку Netware-серверів. Протокол AURP (appletalk update-based routing protocol) служить для цілей маршрутизації, але на відміну від деяких інших протоколів передає маршрутну інформацію тільки у разі зміни ситуації. Він підтримує також IP-тунелі.

Формат пакетів в мережі Apple Talk Phase II (в дужках вказані розміри полів в байтах)

Адреса відправника і одержувача мають по 24 біта, з них 16 біт складає адресу мережі. Ідентифікатор вузла призначення (локальна частина адреси) вибирається довільно самої робочої станції при встановленні зв'язку. ЕОМ бере випадкове 8-бітове число в якості локального адреси і посилає його в мережу. Якщо якась ЕОМ використовує цю адресу, вона відгукується, тоді код змінюється і робиться повторна спроба. Процес триває поки не буде знайдений вільний адрес.На малюнку - процес вибору адреси AppleTalk.

Процесс выбора адреса AppleTalk.gif

Протокол RTMP є протоколом маршрутизації, де в якості метрики використовується вектор відстані до адресата, цей протокол збирає маршрутну інформацію і надає її протоколу DDP для забезпечення транспортування пакетів по мережі. Маршрутні таблиці RTMP зберігаються в кожному з маршрутизаторів AppleTalk і базуються на номерах мереж адресатів. Таблиця містить у собі відстань до адресата, виміряний у кроках (hop), ідентифікатор порту маршрутизатора, через який досяжний адресат, і статус маршруту.

Маршрутизатори AppleTalk формують і актуалізують маршрутні таблиці, посилаючи регулярно (раз на 10 сек) широкомовні RTMP-пакети сусіднім вузлам і мережам. Запис в маршрутній таблиці, своєчасно не підтверджена, через певний час стирається. Записи в маршрутній таблиці потрапляють в розряд "підозрюваних" за відсутності відгуку від них протягом 20 сек, в розряд "вмираючих" - через 40 сек, в категорію "померлих" - через 60 сек. Запис видаляється з таблиці, якщо відгук не вдається отримати протягом 80 сек.

Адреси мережевого рівня ставляться у відповідність адресами MAC-рівня за допомогою адресного протоколу AARP. Вузли мережі Apple Talk зберігають цю інформацію в спеціальних таблицях (AMT - Address Mapping Table). Таблиця проглядається всякий раз, коли AppleTalk посилає пакет. Якщо пошук не увінчався успіхом, вузол-відправник посилає широкомовний AARP-запит. При отриманні відгуку на цей запит вносяться корективи в AMT-таблицю. Особливістю мережі AppleTalk є узгодження при присвоєнні локальних адрес об'єктам мережі. При ініціалізації вузла йому присвоюється тимчасова адреса. Протокол AARP перевіряє, чи не належить дана адреса комусь ще, для цього він посилає 10 AARP-запитів. Якщо ця тимчасова адреса вже використовується, вузлу, що ініціалізується, присвоюється нова тимчасова адреса і процедура перевірки повторюється до тих пір, поки вузлу не буде надано унікальний адресу. Протокол NBP перетворює локальні AppleTalk адреси в імена, присвоєні мережному об'єкту користувачем і навпаки. Це позбавляє користувача від необхідності пам'ятати повну мережеву адресу принт-або файл-сервера, поштового сервера і т.д.

{ |Протокол ZIP допускає логічне групування кінцевих мережевих вузлів до деяких об'єднаннь, так званих зон, що дозволяє ЕОМ, що належать до одного відділу, але розташовані в різних будівлях, перебувати в одній зоні . Зона може бути комбінацією локальних мереж, а в разі EtherTalk Phase II - частина локальної мережі. Інформація про зони зберігається в маршрутизаторах у вигляді спеціальних таблиць (ZIT - Zone Information Table). Таблиця містить по одному запису на мережевий сегмент. Запис включає в себе номер мережевого сегменту і список об'єктів, що входять в зону. Протокол ZIP відстежує зміни в RTMP-таблицях і при появі в них записів, що відносяться до нових об'єктів або мереж, маршрутизатор посилає ZIP-запит і на основі отриманої інформації коригує ZIT-табліцу.ZIT зберігаються в роутерах, які є основними користувачами ZIP, проте кінцеві вузли використовують ZIP в процесі запуску для вибору своїх зон і отримання міжмережевий інформації про зонах.На малюнку - приклад ZIT. |}

Образец ZIT.jpg

Протокол AEP виконує налагоджувальні і діагностичні функції, надаючи можливість виконання процедур ping (до якоїсь міри це аналог протоколу ICMP). При необхідності перевірити стан мережі або якого-небудь вузла надсилається AEP-дейтограмма. Протокол дозволяє перевірити час поширення пакетів між вузлами мережі. Протокол може використовуватися на початку будь-якої сесії для перевірки доступності того або іншого мережевого об'єкта.

Протокол AURP є зовнішнім протоколом мережевої маршрутизації і служить для взаємодії мереж AppleTalk з Інтернет. Протокол підтримує технологію IP-тунелів з використанням UDP / IP інкапсуляції. Розсилка мережевої інформації здійснюється AURP тільки при виникненні будь-яких змін в стані мережі. Протокол AURP підтримує гнучку систему переадресацій, виключаючи конфлікти адрес при підключенні нових мереж AppleTalk, і виявляє маршрутні петлі. Існують спеціальні фільтри, які дозволяють розділяти пакети по пріоритетам, що буває важливо, наприклад, при передачі мультимедіа інформації. Мережі AppleTalk добре узгоджуються з іншими мережами, наприклад, NetWare. Слід мати на увазі, що ЕОМ, що працюють з протоколами Phase I і Phase II, можуть працювати один з одним тільки через спеціальні мости, так як формати пакетів для цих протоколів не сумісні.

Управління мережами AppleTalk здійснюється за допомогою протоколу SNMP і керуючої бази даних MIB Віддалений доступ AppleTalk підтримується відповідно до AppleTalk Remote Access Protocol (Протокол віддаленого доступу AppleTalk, ARAP) і AppleTalk Control Protocol (Протокол керування AppleTalk, ATCP). ARAP - протокол комутованого з'єднання для комп'ютерів Apple Macintosh. Користувачі Macintosh з допомогою ARAP можуть віддалено підключатися до комп'ютера з підтримкою AppleTalk під управлінням Windows 2000, отримувати доступ до файлових томів Macintosh і принтерів АppleTalk. Підтримуються клієнти видаленого доступу AppleTalk (AppteTalk Remote Access client) версій 1.0, 2.x і 3.x. За допомогою ATCP клієнти Macintosh можуть працювати з мережевим протоколом AppleTalk поверх РРР, а віддалений користувач може отримати доступ до веб-серверам поверх TCP / IP, друкувати документи на принтерах AppleTalk, а також з'єднуватися з файловим сервером Macintosh (по TCP / IP або AppleTalk) по одному комутованому РРР-з'єднання.

Особливості AppleTalk

Подібно TCP/IP, AppleTalk використовує 32-розрядні адреси. Подібно до IP-адресу, адреса AppleTalk складається з двох компонентів: адреси мережі і адреси комп'ютера. На відміну від IP, довжина кожного з компонентів фіксована: 16 з 32 бітів виділені для представлення адреси мережі, а останні 16 бітів — для ідентифікації комп'ютера. У мережах AppleTalk підтримується процедура переговорів, що робляться для отримання комп'ютером мережевої адреси. Завдяки наявності такої процедури адміністратор позбавлений від необхідності явно указувати адреси. (Якщо ви захочете, можете задати адресу явно або запитати його з певного діапазону, але зазвичай в цьому немає потреби.)

Окрім адрес для ідентифікації комп'ютерів в AppleTalk-сетях існує система імен, призначена для того, щоб спростити роботу користувачів. Кожному комп'ютеру привласнюється ім'я, крім того, для цього комп'ютера визначається приналежність до локальної групи машин, яка називається зоною. Повне ім'я складається з імені комп'ютера і імені зони. У невеликих мережах інформація про зону може не використовуватися, в цьому випадку комп'ютери ідентифікуються тільки за допомогою імені. Netatalk (основний пакет, призначений для підтримки AppleTalk в Linux) за умовчанням генерує AppleTalk-імена на базі доменних імен TCP/IP. Так, наприклад, якщо комп'ютеру відповідає доменне ім'я larch. threeroomco. com, Nettalk призначить йому ім'я larch. Інформація про домен при цьому буде загублена. Двокомпонентні імена істотно обмежують розміри AppleTalk-мереж, зокрема, створити мережу, що налічує більше декількох тисяч комп'ютерів, скрутно.

Основне призначення AppleTalk - забезпечення сумісного використання файлів і принтерів. Багато мережевих принтерів можуть безпосередньо взаємодіяти за допомогою протоколу AppleTalk, а засоби розділення файлів підтримуються в MACOS, Windows NT і 2000, Linux, BEOS і інших операційних системах. Для вирішення інших завдань AppleTalk використовується лише в мережах, що складаються з комп'ютерів, які працюють під управлінням MACOS. У мережах, компоненти яких використовують інші операційні системи, доцільніше застосовувати інші стеки протоколів. Якщо до складу мережі входять різні машини, на комп'ютерах Macintosh встановлюють систему MACOS X, що забезпечує роботу з NFS.

При маршрутизації пакетів AppleTalk за допомогою звичайних маршрутизаторів виникають серйозні труднощі. Щоб виключити можливість злому ззовні, можна заборонити підтримку TCP/IP на сервері Netatalk. Очевидно, що цей захід забезпечення безпеки не є єдино можливим.

Першоджерела в порядку їх згадування

[[1]]

[[2]]

[[3]]

[[4]]

[[5]]


Комп'ютерні мережі