Вогняна мережа

Поділіться у соцмережах:

Щось із нічого

Протягом десятків років компанії-виробники мережного обладнання йшли до гігабітних швидкостей Ethernet-мереж. Спочатку навіть говорилося про неможливість реалізації таких швидкісних з'єднань на базі мідних кабелів, і офіційний стандарт включав лише специфікацію для оптичних магістралей. Однак ми часто забуваємо про спосіб організації "майже гігабітної" мережі без "винаходу велосипеда", іноді навіть без купівлі додаткового обладнання. Потрібні лише кабель та набір драйверів, а в деяких випадках можна обійтися взагалі без останніх. Таким чином, заплативши лише за шматок кабелю потрібної довжини і необхідну кількість роз'ємів, ви отримуєте мережеве з'єднання, що двічі перевищує за продуктивністю 100Base-T Ethernet і лише на 30% поступається за цим показником 1000Base-T.

Втім, мова у статті йтиме, насамперед, про рішення від Unibrain, оскільки фахівці цієї компанії підійшли до питання набагато серйозніше та ґрунтовніше. Чому платний FireNet вважається більш досконалим продуктом, ніж безкоштовні вбудовані засоби Windows? Основна відмінність полягає в широті охоплення бази користувача: якщо Microsoft "ощасливила" тільки власників сучасних ПК з встановленими Windows XP і Windows Me, то рішення Unibrain годиться і для Windows 98SE/2000, і навіть для Windows NT. Крім цього, очевидні стратегічні розбіжності — FireNet є добре задокументованою програмною системою (750 сторінок), яка призначена для застосування її функцій у сторонніх програмних продуктах (API користувача режиму). Також драйвери забезпечуються підтримкою, і, за бажання, ви можете придбати в Unibrain необхідне апаратнезабезпечення: від кабелів до хабів.

Ще одна тонкість пов'язана з різноманітністю типів адаптерів: крім стандарту OHCI (Open Host Controller Interface), що підтримується стеком Microsoft, існують і фірмові рішення, зокрема реалізовані в контролерах від Adaptec. Unibrain робить деякі кроки щодо розширення сумісності свого мережевого стека, включивши до нього підтримку Lynx-адаптерів. Пояснимо: будь-який чіпсет адаптера FireWire складається з двох чипів або двох наборів чипів. Один із них реалізує фізичні протоколи, єдині всім постачальників, а інший — логіку з'єднання чи транзакцій (LINK). На жаль, до узгодженого рішення в області цього самого LINK-рівня виробники так і не прийшли, і нині на ринку представлені як чіпи, що відповідають стандарту OHCI, так і вироби, що підтримують Lynx (наприклад, мікросхеми виробництва TI). Щоб змусити Windows працювати з нестандартним адаптером, доведеться зайнятися пошуком відповідних драйверів. Також вважається, що рішення від Unibrain працює швидше, оскільки, мабуть, Microsoft вдалася до неефективного стандарту IP-over-FireWire.

У чому перевага мережі FireNet у порівнянні з рішенням на основі Ethernet? По-перше, вам не потрібно купувати і налаштовувати відносно дороге обладнання - карти та хаби. До того ж, перш ніж намагатися ставити карту 1000Base-T у ПК, вам слід переконатися в наявності та доступності 64-бітного слота PCI.

Пакети надсилаються асинхронними або ізохронними каналами (два типи каналів, передбачених в рамках стандарту IEEE 1394) залежно від встановленого типу транзакції. Асинхронні канали забезпечують видачу підтверджень прийому, але мають менші права, ніж ізохронні канали. Останнім дозволяється займати до 80%пропускну здатність шини, а затребувані ресурси резервуються за існуючими каналами (гарантія якості сервісу, QoS).

Недоліком технології IP поверх FireWire є необхідність фрагментувати занадто великі для протоколу шини пакети, що не потрібно при використанні емуляції Ethernet. Тому підтримка IP з'явилася в драйверах Unibrain лише 2001 р., і тепер користувач має право вибирати одне із двох режимів передачі. Документ RFC 2734 з'явився як спроба уніфікувати мережеві процедури для різного класу мережевих пристроїв і встановлює чіткі та універсальні правила виконання мережевих операцій, в той час як Ethernet-емуляція працює набагато швидше за рахунок спрощених алгоритмів, орієнтованих на однорідне середовище (тільки ПК та немережеві) ). Говорячи загалом, істотна залежність продуктивності мережі від потужності використовуваних комп'ютерів — це бич будь-якої програмної мережі з урахуванням FireWire. Згідно з даними, отриманими тестовою лабораторією ZDNet в ході експериментів з FireNet, швидкість передачі даних для ПК, оснащених процесорами Pentium III 733 MHz та Pentium II 400 MHz, відрізняється майже вдвічі.

Все було б добре, якби не закономірне питання: як розширити мережу за межі двох ПК, якщо кожен із комп'ютерів має лише один роз'єм FireWire? Відповідь все та ж - хаби, але в цій ситуації FireWire-хаби. Крім "розмноження" єдиного порту, вони можуть замінити мости, збільшуючи максимальний діаметр мережі. Зокрема, компанія Sewell Development продає стильно оформлені трипортові хаби лише за $16.

Є й деякі відомості про продуктивність FireWire у ролі мережі (використовувалася початкова версія шини, що працює на швидкості 400 Mbps). Як тествибрали 25 аудіофайлів розміром 40 MB кожен. 100Base-T адаптери від Linksys показали пропускну здатність 59 Mbps, 1000Base-T адаптери від D-Link продемонстрували швидкість передачі, що дорівнює 157 Mbps, а результати FireNet виявилися десь посередині - 121 Mbps. Однак, враховуючи відмінність номінальної пропускної спроможності шини IEEE 1394 та Gigabit Ethernet, реальна ефективність програмної мережі виявилася вищою. Пояснення цьому можна знайти, якщо взяти до уваги, що обробка пакетів і арбітраж шин FireWire реалізовані виключно на апаратному рівні, на відміну від програмного стека Ethernet. Звичайно, наведені цифри мають значення лише в порівнянні і не можуть використовуватися як абсолютні. Залежність програмних драйверів від продуктивності ПК та неповний звіт про умови тестування не дозволяють робити однозначних висновків щодо абсолютної швидкості передачі даних.

Коли я вперше з'явився з ідеєю цієї статті в нашій Тестовій лабораторії, то виявилося, що колеги відчувають певний скепсис щодо практичної можливості застосування IEEE 1394 як мережа. Простіше кажучи, пригадався випадок, коли після спроби з'єднати два ПК за допомогою цього інтерфейсу в одного з них згорів порт. Враховуючи, що по кабелю подається харчування, з'єднання двох хост-контролерів може закінчитися плачевно, якщо вони неправильно спроектовані. Втім, за свідченням відвідувачів деяких Web-конференцій, навіть контролери стандартних аудіокарт SoundBlaster Audigy забезпечені спеціальними діодами, що унеможливлюють "лобове зіткнення" по живленню.

Займаючись організацією мережі FireWire, слід пам'ятати про існування трьох типів кабелів та двох типів адаптерів. Стандартний кабель позначається як "6 на 6", зібраний із шести окремихпроводів, два з них поставляють живлення (40 В, 1,5 А), а інші утворюють дві скручені пари, якими передаються і приймаються дані зі швидкістю 400 Mbps. Розведення має бути перехресне. Існують і кабелі "4 на 4": економія на дротах виливається в падінні швидкості передачі, обмеженої стелею 100 Mbps. Знижено тут і напругу живлення, що дорівнює 5 В, і струм - 0,5 А. Кабелі відрізняються також мінімальною довжиною з'єднання: 0,7 м - у першому випадку і 1 м - у другому. Є й особливий "гібридний" кабель "6 на 4": на одному його кінці знаходиться роз'єм на 6 контактів, а на протилежному - на 4. Напруга живлення та мінімальна з максимальною дальністю підключення в такому з'єднанні повинні відповідати більш "слабкому" стандарту на 4".