Сетевые возможности FireWire

Что и говорить — привыкли мы к Ethernet. Впрочем, те кабели, которые сейчас опутали множество офисов и даже обычных квартир, не говоря уже об оборудовании, абсолютно не похожи на первоначальную разработку Xerox, но это все чистая физика — какой бы носитель не был, а на деле все это Ethernet. Не все уже помнят о Token Ring или 100VGAnyLAN: мы говорим сеть — подразумеваем 100BaseT Ethernet (ну или десятимегабитный вариант в тех случаях, когда говорим об историческом наследии, с которым пора бороться). А почему бы и нет? Быстрая, недорогая, отличная поддержка во всех ОС, большое количество самого разнообразного оборудования. И расти есть куда — Gigabit Ethernet нам тоже уже предложили, причем во многих областях он начал использоваться. Но есть и альтернативы.

Нет, речь сегодня пойдет не о Wi-Fi — о беспроводных сетях на базе разных модификаций 802.11 поговорим в ближайшее время, но не в этой статье. И не о HomePNA, которая пока для многих лишь вещь в себе. Сегодня хочется немного рассказать о моей любимой шине FireWire, а точнее — о ее сетевых возможностях.

IEEE1394 и сети

FireWire разрабатывалась в первую очередь как высокопроизводительная шина для подключения различных устройств к компьютеру и даже рассматривалась как возможная альтернатива SCSI. Однако родственные отношения с ATM и изначально сетевая архитектура позволяют применять даже первоначальный вариант шины для соединения нескольких компьютеров. Причем в данном случае это не какие-либо сложновывернутые варианты (типа соединения через USB): возможность работы в режиме «точка-точка» заложена в основу шины. Ну а где есть «точка-точка» всегда можно построить звезду с использованием хаба. Последний — устройство пассивное, так что возможным оказалось построение сетей, причем включающих в себя разнородные устройства. К одному хабу можно подключить несколько компьютеров, дисковые накопители или какие-либо еще устройства и легко наладить обмен между всеми ними. В этом плане шина находится в несколько лучшем положении, чем Ethernet — любой FireWire-винчестер вполне может считаться сетевым устройством хранения данных без каких-либо дополнительных вложений средств, в то время, как «обычные» сетевые хранилища стоят достаточно дорого. Добавим к этому достаточно высокие даже сейчас (не говоря уже о моменте создания) скорости до 400 Мбит/с и получим отличного конкурента для 100BaseT.

Впрочем, не такого уж отличного если честно. В первоначальном варианте шины была жесткая ориентация на специальные достаточно дорогие кабели, длиной не более 4,5 м. На самом деле появились и нестандартные кабели по 6 метров, и удлинители, позволяющие без проблем довести длину кабеля до 10 метров, но это уже не совсем стандарт, так что проблемы возможны (хотя я с ними не сталкивался). Таким образом, получаем в лучшем случае 10 м между двумя подключенными к компьютеру устройствами, что во многих случаях маловато — по сравнению с привычными для 100BaseT 100 м (пусть и на меньшей скорости). Опять же — хабы долгое время были крайне редким товаром (собственно и сейчас хаб портов на шесть нужно искать, а больше — можно и не найти). Однако многие из этих проблем обещали исправить в следующих версиях стандарта.

IEEE1394b — новое слово

За время, ушедшее на нелегкое продвижение FireWire на рынок, успел появиться и развиться Gigabit Ethernet, что свело на нет изначальное преимущество в скорости. Впрочем, изначально IEEE1394 планировалось довести до 3,2 Гбит/с (на порт, естественно, в отличие от Ethernet, являещемуся чисто шинной архитектурой). Главным было обеспечить удобство использования и работу на больших расстояниях, чего так не хватало первоначальному варианту.

И вот появилась GigaWire. На первый взгляд новый формат лишь изменил тип разъема — вместо 4 и 6-и контактных появился 9-и контактный, да повысил максимальную скорость работы до 800 Мбит/с. На самом деле, эти изменения лишь внешние. По сути, пока нет практически внешних устройств, способных утилизовать такую пропускную способность.

Главным изменением была появившаяся свобода в выборе физического носителя. FireWire ориентировалась на экранированный кабель из двух или трех витых пар (в зависимости от того, требовалось ли питание). GigaWire поддерживает старый вариант (и даже старые кабели при помощи переходника), но, кроме этого, в стандарт была введена также поддержка обычной витой пары и оптоволокна. Что касается первого, то поддерживается работа с UTP на расстоянии до 100 метров. Правда со скоростью всего 100 Мбит/с, но ведь это как раз возможности 100BaseT ;) Т.е. можно не меняя кабельного хозяйства сменить лишь адаптеры и хабы и перейти с Ethernet на FireNet. Если говорить о клиентских машинах, то это на первый взгляд бесполезно — что имели, то и получим. Но не забывайте, что, при этом, на наиболее критичных участках можно организовать передачу данных по оптике со скоростью 800 Мбит/с. Т.е. уже сейчас скорость сравнима с Gigabit Ethernet, а завтра на том же кабеле можно будет получить в два или даже четыре раза больше (адаптеры, правда, придется сменить). В общем, вот он, реальный конкурент Ethernet.

Дела сегодняшние

Из вышесказанного можно сделать вывод, что будущее может быть и красиво, но сегодня пока сеть на базе FireWire применить на практике не получится. Однако это не совсем так — есть области, где применения обычной FireWire 400 вполне оправдано.

Допустим, у вас дома есть два компьютера. Даже если они настольные, то вряд ли между ними будет очень уж большое расстояние — вполне может хватить и 10 м FW-кабеля. Ну а если нужно связывать с настольной машиной ноутбук, задача становится еще более простой. А ведь скорость FireWire выше, чем у любых других сетей, за исключением Gigabit Ethernet. Звучит заманчиво? Посмотрим, что нам еще нужно сделать.

Во-первых, нужна аппаратура. В ноутбуке, как правило, есть и FireWire, и Ethernet. На обычные системные платы Ethernet начали ставить раньше, однако и FireWire сейчас встречается очень часто. Кроме того, если вы обладатель любой звуковой карты Creative, начиная с Audigy, то у вас уже необходимый контроллер есть. В крайнем случае, когда нет ничего, обычная сетевая карта стоит начиная от 7–10 долларов, FireWire-адаптер — от 15. Не такая уж и большая разница в цене, верно? Особенно с учетом того, что для оставшихся портов применение найти тоже можно. Ну и учтите, что еще более быстрый Gigabit Ethernet можно применить тоже только для одной цели, а стоит адаптер намного дороже (к тому же, для ноутбука придется, например, скорее всего, покупать отдельный PCMCIA-адаптер). FireWire-кабель стоит несколько дороже UTP, но разница там настолько копеечная, что можно не обращать на нее внимания.

Теперь программное обеспечение. Я не знаю, как дела обстоят в случае Linux и прочих, поскольку необходимости в данном знании у меня пока еще ни разу не возникло (очень может быть, что умру и ничего не узнаю) :) В мире Windows все достаточно просто — есть два способа: универсальный и от Microsoft (как водится :)). Универсальный — использовать программу Unibrain FireNet. К плюсам этого способа относится то, что программа существует также и в версии для MacOS, так что можно легко и быстро связать друг с другом компьютеры «из двух миров». Минус — программа платная, так что за каждый компьютер придется выложить денежку (впрочем, к Audigy она прилагается, но кто у нас покупает не-ОЕМ версию звуковой карты? ;)). К тому же этот способ несовместим с совершенно бесплатной реализацией от Microsoft. Печально, но факт. Поэтому перейдем лучше ко второму варианту, благо большинству пользователей он вполне подойдет.

Большинству, но не всем: поддержка сетевого соединения при помощи FireWire имеется далеко не во всех версиях Windows. На ядре 9Х это только Millenium Edition, на NT — все варианты ХР и 2003 Server. Кроме того, в МЕ поддержка реализована не лучшим образом (впрочем, как и положено при прикручивании сложных возможностей к давно устаревшему ядру), так что работать будет заметно медленнее, нежели могло бы. Но будет. Во всяком случае, я этим в свое время пользовался, когда дома было два компьютера, причем в одной комнате (впоследствии пришлось-таки купить две сетевые карты, поскольку расстояние между компьютерами после переезда сильно увеличилось). Говорить что-либо о настройке соединения в данном случае бессмысленно — в системе просто появляется еще один или несколько сетевых адаптеров, которые настраиваются точно так же, как и «обычные» сетевые карты. В общем, простейшую сеть на пару машин можно создать минут за пять максимум.

Практические испытания

Но теория как известно суха — интереснее попробовать данный вариант на практике. Что я собственно и сделал, благо на некоторое время в доме поселилось два компьютера. Основная машинка на данный момент построена на базе Athlon XP 2000+ (10×166) и материнской платы Epox 8K3A+. В наличии имеется сетевой адаптер от ST Labs на Realtek RTL8139, а также FireWire-контроллер от Texas Instruments на звуковой плате SB Audigy (после замены видеокарты второго FireWire я временно лишился). Для проведения тестов также был взят ноутбук BLISS 500C на базе Pentium M 1400. Платформа Centrino предполагает под собой богатые коммуникационные возможности, включая Wi-Fi-адаптер, который для этого теста был мне не нужен, и пригодившийся 100BaseT от Intel, а также FireWire-порт. Объем ОЗУ первого компьютера составлял 512 Мбайт, второго — 256 Мбайт, оба работали под управлением Windows XP Pro SP1 Rus. В общем, две достаточно мощных машинки, вполне заслуживающих быстрой связи :)

Наличие всего необходимого внутри компьютеров оставляло лишь один вопрос — кабели. Нуль-хабный Ethernet-кабель, длиной 13 м дома нашелся, с FireWire оказалось сложнее: был кабель длиной 6 м, однако рассчитанный на стандартные порты, а не на четырехконтактный ноутбучный. Проблема была решена при помощи специального переходника из комплекта картовода 6 in 1 IEEE1394. Для тестирования применялась программа AIDA32, точнее ее штатный плагин для тестирования сетей (благо свою пригодность оный вполне продемонстрировал, выдавая средний результат, равный получаемому при простом копировании файлов).

Что ж — для начала скорость.

Победа весьма убедительная. Скорость, полученная на Ethernet практически равна теоретическому максимуму для 100BaseT, что немудрено: условия практически идеальные. Но FireWire все равно быстрее, причем намного. С другой стороны, не на столько, как можно было бы предположить, сравнивая теоретическую пропускную способность шин. Даже если предположить, что она делится на два для дуплексного режима, все равно — могло быть больше. Что же мешает получить максимум? AIDA32 выдает не только среднюю скорость передачи данных, так что посмотрим на другой параметр — загрузку процессора.

Что ж — все встает на свои места. Помнится, после появления 100BaseT очень многие удивлялись — почему же скорости на практике часто меньше. Проведенные исследования показали, что для полной утилизации возможностей нового стандарта необходимо на обоих концах провода иметь минимум Pentium III 850. Ну а чем выше скорость, тем более быстрый процессор нам нужен. Оба имеющихся у меня к тихоходам отнести невозможно, однако в некоторые моменты загрузка подскакивала и до 100%, так что на что-либо иное сил уже не оставалось, как не оставалось и резерва для получения более высокой скорости. Хорошо заметно, что пропускная способность отличается примерно во столько же раз, во сколько и средняя загрузка. В случае Ethernet узким местом оказалась сама шина — резерв вычислительной мощности еще оставался. Мы убрали это узкое место и что же? Теперь все уперлось именно в быстродействие центрального процессора (такой же результат, наверняка, я бы увидел и в случае Gigabit Ethernet).

Но то, что пределы производительности отодвинулись, не может не радовать. Это уже не касаясь остальных удобств такого варианта соединения двух компьютеров (или другого небольшого их числа) — если бы ноутбук был у меня не временно, а постоянно, подключал бы я его именно так, поскольку вторую сетевую карту и ставить-то некуда, а первая нужна для доступа к Интернет. По крайней мере, подключал всегда, когда важна высокая скорость — наиболее удобным способом в данном случае был бы Wi-Fi, но это дороже и заметно медленнее.

И еще одно наблюдение. Если вы сравните скорость передачи данных через FireWire со скоростью работы внешних винчестеров, несложно заметить, что первая практически не уступает второй. Есть такая шуточная задача: «Какая пропускная способность у вагона, груженого винчестерами» :) Больше эту задачу можно не решать — в наличии у нас наконец-то появился недорогой способ для соединения компьютеров, не уступающий по скорости внешним накопителям.

Итого

Выводов можно сделать несколько, но основных два. Во-первых, сети на базе FireWire действительно работают, в определенных случаях (современные версии Windows) легко конфигурируются и обеспечивают высокую производительность. Широкому их распространению сильно мешает неразвитый рынок «сопутствующих товаров» и жесткие и не очень удобные ограничения на кабели в варианте IEEE1394/IEEE1394a. Однако последнее уже исправлено в IEEE1394b, так что, вполне возможно, вскоре шина сумеет отвоевать место под солнцем и на этом рынке. Во всяком случае, даже сейчас не стоит думать, что, при необходимости получения быстрой связи между двумя компьютерами за разумные деньги, альтернативы 100BaseT нет — есть и еще какая :)

Второй же вывод более общий: в вычислительной системе все должно соответствовать друг другу. В случае несбалансированности работа в целом будет происходить со скоростью самого медленного компонента. Так что бесполезно ставить гигабитные сетевые адаптеры на компьютеры на базе какого-нибудь Celeron 1000 — этой машине как раз отлично подойдет 100 Мбит/с, а больше ей просто не съесть, так что это будут впустую выброшенные деньги :)

 

Ноутбук BLISS 500C предоставлен компанией Нексус

 




18 августа 2003 Г.

FireWire

FireWire

— Ethernet. , , , , Xerox, — , Ethernet. Token Ring 100VGAnyLAN: — 100BaseT Ethernet ( , , ). ? , , , . — Gigabit Ethernet , . .

, Wi-Fi — 802.11 , . HomePNA, . FireWire, — .

IEEE1394

FireWire SCSI. ATM . - ( USB): - . «-» . — , , . , - . , Ethernet — FireWire- - , , «» . ( ) 400 / 100BaseT.

, . , 4,5 . 6 , , 10 , , ( ). , 10 , — 100BaseT 100 ( ). — ( , — ). .

IEEE1394b —

, FireWire , Gigabit Ethernet, . , IEEE1394 3,2 / ( , , Ethernet, ). , .

GigaWire. — 4 6- 9- , 800 /. , . , , .

. FireWire ( , ). GigaWire ( ), , , . , UTP 100 . 100 /, 100BaseT ;) .. Ethernet FireNet. , — , . , , , 800 /. .. Gigabit Ethernet, (, , ). , , Ethernet.

, , FireWire . — , FireWire 400 .

, . , — 10 FW-. , . FireWire , , Gigabit Ethernet. ? , .

-, . , , FireWire, Ethernet. Ethernet , FireWire . , Creative, Audigy, . , , 7–10 , FireWire- — 15. , ? , . , Gigabit Ethernet , ( , , , , PCMCIA-). FireWire- UTP, , .

. , Linux , ( , ) :) Windows — : Microsoft (  :)). — Unibrain FireNet. , MacOS, « ». — , (, Audigy , - ? ;)). Microsoft. , . , .

, : FireWire Windows. 9 Millenium Edition, NT — 2003 Server. , (, ), , . . , , , ( - , ). - — , , «» . , .

— . , . Athlon XP 2000+ (10×166) Epox 8K3A+. ST Labs Realtek RTL8139, FireWire- Texas Instruments SB Audigy ( FireWire ). BLISS 500C Pentium M 1400. Centrino , Wi-Fi-, , 100BaseT Intel, FireWire-. 512 , — 256 , Windows XP Pro SP1 Rus. , , :)

— . - Ethernet-, 13 , FireWire : 6 , , . 6 in 1 IEEE1394. AIDA32, ( , , ).

— .

. , Ethernet 100BaseT, : . FireWire , . , , , . , , — . ? AIDA32 , — .

— . , 100BaseT — . , Pentium III 850. , . , 100%, - , . , , . Ethernet — . ? ( , , Gigabit Ethernet).

, , . ( ) — , , , - , . , , — Wi-Fi, .

. FireWire , , . : « , » :) — - , .

, . -, FireWire , ( Windows) . « » IEEE1394/IEEE1394a. IEEE1394b, , , . , , , , 100BaseT — :)

: . . - Celeron 1000 — 100 /, , :)

 

BLISS 500C