Данная разработка позволяет использовать систему 1С:Предприятие 7.7 (DBFная версия) в режиме клиент/сервер на базе сервера CodeBase 6.5 разработанного фирмой Sequiter Inc. Предлагаемое решение позволяет устранить основные недостатки DBFной реализации поддержки баз данных 1С:Предприятие 7.7.
В этой книге описан новый подход к созданию Web-приложений, получивший имя Ajax. Авторы рассматривают недостатки классических приложений, предназначенных для работы в сети, и показывают, как можно устранить их, с помощью асинхронных запросов и передачи части функций от сервера клиенту. В книге рассмотрены составные части Ajax: JavaScript, CSS, DOM и объект XMLHttpRequest. Передача функциональных возможностей от сервера клиенту приводит с существенному возрастанию объема и сложности клиентского кода, написанного на языке JavaScript. Управление кодом — сложная задача, поэтому авторы уделяют внимание образам разработки и реструктуризации.
Книга призвана помочь в овладении искусством программирования тем, кто уже освоил основы составления программ на языке Turbo Pascal. Материал излагается на примере решения 20 практических задач с достаточно сложной логикой по различным темам - комбинаторика, моделирование физических процессов, рекурсивные и нерекурсивные решения.
Для каждой задачи анализируются возможные пути решения, возникающие проблемы, возможные логические ошибки и технические детали. Для большинства задач приведено несколько вариантов решения, для каждого из которых показаны приемущества и недостатки. В процессе анализа выведены некоторые общие правила и принципы программирования.
Книги, подобные этой, редко появляются на прилавках магазинов, поскольку за ними стоит многолетний опыт работы их авторов. В книге описывается хороший стиль Unix-программирования, многообразие доступных языков программирования, их преимущества и недостатки, различные IPC-методики и инструменты разработки. Автор анализирует философию Unix, культуру и основные традиции сформированного вокруг нее сообщества. В книге объясняются наилучшие практические приемы проектирования и разработки программ в Unix. Вместе с тем описанные в книге модели и принципы будут во многом полезны и Windows-разработчикам. Особо рассматриваются стили пользовательских интерфейсов Unix- программ и инструменты для их разработки. Отдельная глава посвящена описанию принципов и инструментов для создания хорошей документации.
Книга будет полезна для широкой категории пользователей ПК и программистов.
режде, чем применять Flash на сайте, нужно семь раз отмерить. Оказывается, не все знают, что это такое. Одни применяют Flash от необходимости, другие — от незнания. Дело в том, что Flash — это не обычная растровая (gif, jpg, bmp и т.п.) картинка и не html. А мультемидийная технология. Как у любой технологии, у этой есть свои преимущества и недостатки.
Рассматривать Flash-технологию стоит с нескольких позиций:
С точки зрения внешнего оформления и культуры сайта;
C функционально-технической стороны;
C практической стороны.
Оформление и культура сайта.
Сайт — это как книга. Вы покупаете книгу, потому что ее сюжет вам интересен или информация из нее вам полезна. Но не потому, что у нее красивая обложка или известный автор. То время, когда изумленный прогрессом интернетчик приходил на сайт, чтобы посмотреть, как там что-то прыгает-летает-плавает прошло. Теперь людей заботит информация.
Flash препятствует восприятию информации. Сайт, построенный на Flash больше напоминает игру для новомодной приставки или телевизионную рекламу, когда сидишь и ждешь, когда она закончится. В большинстве случаев это связано с изменением привычного для пользователя хода вещей, например, вмешательством в интерфейс, навязыванием анимации и даже звука. Сайт — не самоцель, он существует для посетителя (кроме домашних страничек, которые их авторы для себя же делают).
Функционально-техническая сторона.
Flash использует plug-in модули, мультемидийные функции, на сегодняшний день не интегрированные в браузеры. В силу присущих Flash-технологии свойств она имеет функциональные недостатки:
Наличие этих недостатков совсем не означает, что надо вовсе отказаться от Flash . Просто с одной стороны на весы нужно положить необходимость использования Flash -элемента, с другой стороны — его недостатки
Обесцениваются функции браузера:
Регулировка размера шрифта. Изменять шрифт средствами стандартных функций браузера нельзя. Поэтому шрифт у посетителя будет таким, каким его задал дизайнер (для справки: все дизайнеры обладают прекрасным зрением, делая шрифты мелкими и очень мелкими);
Кнопка «назад». Она перемещает не к началу сценария анимации, как ожидается, а на предыдущую страницу сайта, где Flash-элемент еще/уже отсутствует;
Поиск по странице.
Гиперссылки лишаются важного качества — изменяемости цвета в зависимости от движения по сайту посетителя. Вспоминаешь, был ли ты на этой странице или нет. Таким образом, затрудняется навигация по сайту в целом;
Вес страниц увеличивается в разы;
Навигация во Flash-сайтах часто неудобна;
Сайты, построенные на Flash в большинстве случаев некорректно работают в офлайне (т.е. когда страницы сайта скачаны на компьютер пользователя и просматриваются в автономном режиме).
По отношению к крупным информационным сайтам Flash обладает еще большим недостатком — невозможностью индексирования текстов во flash -элементах. У сайтов, полностью построенных на Flash , всегда низкая степень релевантности.
Практическая сторона.
Кроме технических тонкостей, которые увидит не каждый, Flash обладает рядом весомых практических недостатков:
Flash-элементы имеют большой размер. Мультимедийные возможности Flash широки, поэтому дизайнер просто не удерживается, чтобы не поэксплуатировать их;
Flash-ролики создаются раз и навсегда. Вместо этого можно уделить внимание более частому обновлению содержания сайта;
Скачанные на компьютер Flash-сайты отображаются некорректно. Информация, находящаяся во Flash-формате недоступна (для закачки Flash-элементов требуется программное обеспечение, которое обычно отсутствует у пользователя).
Прежде, чем применять Flash на сайте, надо поставить себя на место пользователя: нужна информация; мало времени; модемная скорость; трафик заканчивается.
Выводы:
Flash противопоказан крупным информационным сайтам (главная цель которых — погоня за посетителями);
Flash применим для малого сайта узкой специализации (например, для сайта, чей адрес узнается с визитки его представителя и только);
Использование Flash хорошо подходит для рекламы и развлечений (баннеры, промо-сайты, игры);
Если можно обойтись без Flash, лучше обойтись без Flash.
Как только появляется желание перейти с Windows на другие платформы или на веб-приложения, возникает проблема: там же нет «Фотошопа»! Этот популярный графический пакет благодаря пиратам есть сейчас на большинстве компьютеров в СНГ. И найти альтернативу этой программе сложно. Но как мы используем такую мощную программу? В основном это изменить размеры, подкорректировать яркость, иногда убрать лишние детали, да отправить на е-мейл подружке.
Лучшие графические редакторы, написанные на Flash.
Как только появляется желание перейти с Windows на другие платформы или на веб-приложения, возникает проблема: там же нет «Фотошопа»! Этот популярный графический пакет благодаря пиратам есть сейчас на большинстве компьютеров в СНГ. И найти альтернативу этой программе сложно. Но как мы используем такую мощную программу? В основном это изменить размеры, подкорректировать яркость, иногда убрать лишние детали, да отправить на е-мейл подружке.
Разве нужен для этого полноценный Photoshop? Конечно же, нет, если только вы не дизайнер-профессионал высокого класса. Поэтому найти аналог будет намного проще. Но искать аналог среди настольных программ скучно и неинтересно. Мы живем в век Web 2.0 и поэтому искать аналоги будем среди веб-приложений. Развитие графических возможностей Flash позволяет получить весьма интересные результаты. Описываемые редакторы не станут полной заменой «Фотошопа», но для небольших фотокоррекций они пригодятся.
72photos
Это скорее не редактор а фотогалерея с возможностью слегка подредактировать сохраненные снимки. Функции рисования здесь нет. Можно наложить эффекты на снимок, подправить цветопередачу, яркость и обрезать лишнее. Также есть размытие/резкость и несколько стандартных фильтров. Все достаточно среднее, ничего выдающегося, но как интересное применение возможностей Flash подойдет. Из полезных особенностей стоит отметить возможность работы с картинками, сохраненными на других фотохостингах, впрочем, из очень небольшого списка. FotoFlexer
Редактор, обладающий рядом неоспоримых достоинств, но есть и некоторые недостатки.
Это абсолютный лидер по реализованным функциям. Он поддерживает большое количество фотохостингов, с которых можно загрузить фотографии для редактирования, возможна загрузка просто по URL, что позволяет редактировать любую картинку, также есть загрузка картинок с компьютера пользователя. Чтобы сохранять файл, куда вам надо, придется регистрироваться. И просто на компьютер файл не отдадут. Придется выдирать с какой-то файлопомойки. Или регистрироваться. Мелочь, но неприятно.
Огромное количество эффектов и инструментов. Можно рисовать, накладывать эффекты, трансформировать картинку. Есть готовые для добавления графические примитивы, позволяющие создавать фотографии со вставкой лиц друзей. Здесь же можно и рамочки прикрутить и постер оформить. В общем, раздолье для бытового фотографа. Правда подписать фотографии не получится, русский текст программа не понимает.
Есть инструменты и для более серьезной публики. Сложные трансформации, инструменты выделения и перекрашивания, аналогичные привычным инструментам, даже кое-какая поддержка слоев.
Аналогов по функциональности среди онлайн-сервисов на сегодня нет.
Phoenix
Редактор с продуманным интерфейсом. Без регистрации работать отказывается. Зато потом способен открывать файлы не только со своего сервера и компьютера пользователя, но и со сторонних сервисов и по URL. Неплохой набор фильтров и эффектов. Есть полноценное рисование с возможностью русских надписей. Поддерживаются слои. Правда иногда серверная часть дает сбои при сохранении. Да и само приложение могло бы работать побыстрее. В остальном же отличный редактор.
Photoshop Express
Эта программа считается аналогом настольного Photoshop от создателей Photoshop. Но на самом деле она больше напоминает вышеупомянутый редактор 72photos, только более качественно исполненный. Это фотохостинг, можно просматривать галереи других пользователей, комментировать их. При этом интеграции со сторонними сервисами нет, работать можно только с фотографиями, загруженными с компьютера пользователя. Возможности редактора скромны, изменение размеров, повороты, немного эффектов. Рисования нет.
И все-таки, имеющиеся функции реализованы качественно, работает все очень быстро. Сказывается, что авторы разрабатывали не только Photoshop, но и собственно Flash. Получившимся продуктом приятно пользоваться. И, вероятней всего, следует ожидать дальнейшего развития. PicMagick
Самый элементарный и примитивный из рассматриваемых редакторов. Позволяет только загрузить картинку с компьютера, наложить стандартный набор эффектов и получить обратно свою фотографию. Возможностей сохранения на сервере, рисования и интеграции с другими сервисами нет. Минимализм в чистом виде. Даже регистрации нет. Редактор сразу готов к работе. При этом особой скоростью работы не отличается. Единственная особенность, выделяющая из ряда прочих редакторов — фильтр коррекции кожи. Впрочем, достоинство сомнительное, того же можно добиться и другими инструментами. Picnik
Этим редактором пользуются на популярном фотохостинге Flickr в качестве стандартного. Пользоваться этим редактором могут все желающие. Даже без регистрации. Закачать картинки можно с компьютера, из популярного фотохостинга или блога, с любого URL. Редактор понимает не только стандартные web-типы графики, но и большое количество других распространенных форматов. По этому параметру Picnik — абсолютный лидер.
Хорош он и в реализации. Долгий старт приложения компенсируется большим количеством эффектов и инструментов. Несколько уступая FotoFlexer, он опережает остальных конкурентов. Вот только рисования в чистом виде нет. Можно только накладывать готовые графические примитивы. И ввести русский текст нельзя, получаются сплошные вопросительные знаки.
Сохранять полученный результат можно тоже как у себя на компьютере, так и на популярных хостингах. А можно и сразу на е-мейл. Причем в разнообразных форматах. Pixer.us
Правда это в общем-то и не совсем Flash-редактор. Он написан на Javascript, что уже само по себе интересно. Да и на полноценный редактор сервис не тянет. Вы можете загрузить фотографию со своего компьютера, применить к ней ряд эффектов и сохранить обратно. И все. Работает все достаточно быстренько, но без изысков. Рисования нет. Но как демонстрация возможностей безфлешевых технологий, редактор интересен. К примеру, если сравнивать его с Picmagick, то поединок будет как минимум равным.
Pixlr
Это редактор в чистом виде, без хостинга. Зато есть API, что возможно позволит встраивать редактор в сторонние приложения. Редактор один из семейства клонов фотошопа. Есть русская локализация, чего нет у многих других редакторов. Соответственно, русские надписи делать тоже можно.
Отличная оптимизация работы. Все открывается быстро. Отличный функционал. Есть даже столь любимый Magic Wand. Слои и фильтры тоже на месте, хотя набор инструментов мог бы быть побольше. Впрочем, все основные примочки на месте. Да и интерфейс опять-таки навевает воспоминания о фотошопе. Приятный в работе, продуманный редактор.
Splashup
Очередной гибрид фотохостинга и неплохого редактора. Есть слои, эффекты, полноценное рисование. Русский язык не работает, а вот все остальное на достойном уровне. Можно загрузить свою картинку с компьютера, из интернета (поддержка фотохостингов и прямых URL), отредактировать и сохранить в различных местах.
Очень удобный, приятный интерфейс, отличная скорость работы. Достойный представитель онлайн-редакторов, пытающихся копировать Photoshop.
SUMO Paint
Солидный редактор, близок к настольному приложению как по внешнему виду, так и по функциональному. Правда, оторван от большого интернета. Ни загрузки по URL, ни интеграции с другими сервисами нет. Только аккаунт на собственном сервере и загрузка с компьютера (которая работает не очень уверенно).
Зато функционал впечатляет. Тут нет приевшихся рамочек и цветочков, только серьезные инструменты. Полноценная поддержка слоев, разнообразные эффекты и фильтры. Чем-то напоминает старые версии Photoshop. Очень достойная разработка. И даже поддержка русских шрифтов в наличии. Если поправят проблемы с загрузкой фотографий, будет замечательно.
Конечно неодин из онлайн-редакторов не составит конкуренцию Photoshop. Если в базовых инструментах как-то еще можно соперничать, то когда речь заходит о сложных фильтрах, Photoshop в не конкуренции. А представить себе в онлайн варианте пакетную обработку или плагины и вовсе невозможно. И, конечно, профессионалы не откажутся от привычного инструмента. Зато для обычных пользователей возможности онлайн-редакторов уже сегодня могут вполне пригодиться.
И будущее у этого направления весьма светлое.
Те, кто хорошо умеет работать с графическим редактором Photoshop, могут сделать анимированный GIF непосредственно в этой программе. Но создания баннера или анимированной кнопки совсем не обязательно каждому изучать Photoshop. Есть множество специализированных программ для создания анимированной графики, которые в свою очередь имеют множество специальных инструментов и шаблонов, благодаря которым создание рекламного объявления или анимированного логотипа для сайта становится делом нескольких минут.
Программы создающие GIF-анимацию.
Те, кто хорошо умеет работать с графическим редактором Photoshop, могут сделать анимированный GIF непосредственно в этой программе. Но создания баннера или анимированной кнопки совсем не обязательно каждому изучать Photoshop. Есть множество специализированных программ для создания анимированной графики, которые в свою очередь имеют множество специальных инструментов и шаблонов, благодаря которым создание рекламного объявления или анимированного логотипа для сайта становится делом нескольких минут.
GIF Construction Set Professional.
На первый взгляд кажется, что эта программа проста но это не так. Возможности ее очень широки, и, в отличие от многих аналогичных программ, она позволяет компилировать анимационные файлы не только в формате GIF. GIF Construction Set Professional может преобразовывать созданную в ней анимацию или уже готовый GIF-файл в формат Macromedia Flash (SWF). Файл Macromedia Flash имеет свои преимущества и недостатки перед GIF. Так, например, степень сжатия изображения в GIF ниже, и файл SWF может включать в себя не только анимацию, но и звук.
При экспорте созданной анимации в файл Macromedia Flash, следует помнить о том, что если в анимированном GIF можно указать время отображения каждого кадра по отдельности, в файле SWF частота смены изображений будет фиксированной. Кроме этого, файлы SWF, в отличие от GIF не поддерживают прозрачности.
Экспортировать в формат Macromedia Flash циклическую анимацию не получится – файл можно проиграть только один раз. Для имитации многократно повторяющейся анимации необходимо вносить дополнительные изменения в HTML-код страницы, на которой будет расположен SWF файл.
Принцип создания анимированного GIF-файла такой же, как и разработка рисованного мультфильма. Создается группа изображений с несколько измененным рисунком, после чего указывается их последовательность, и все они экспортируются в единый файл. Изображения, из которых будет состоять GIF-анимация, в GIF Construction Set Professional отображены в виде столбца кадров. Инструменты для выполнения различных манипуляций с кадрами «спрятаны» в контекстном меню. Они дают возможность вращать, обрезать, выполнять цветокоррекцию, добавлять эффект тени, выполнять объединение и удаление кадров.
Для файлов, которые помещаются на интернет-странице, очень важно, чтобы их размер был как можно меньше. В утилите GIF Construction Set Professional имеется специальная функция «суперсжатия», благодаря которой программа анализирует код GIF файла и делает размер анимации несколько меньше.
Easy GIF Animator Pro
Эта программа сделана, так чтобы любая задача могла быть выполнена в ней буквально за несколько минут. Реализовано это за счет продуманного процесса создания нового анимационного файла. В программе имеется свои мастера настроек - мастер создания нового баннера и мастер создания новой кнопки. Удобство таких предварительных заготовок еще и в том, что в программе уже заложены стандартные основные размеры баннеров, которые не всегда можно запомнить. В программе содержатся небольшой набор шаблонов кнопок с разными текстурами: мраморные, стеклянные, деревянные и пр.
Чтобы несколько разнообразить монотонное «слайд-шоу» сменяющихся кадров на баннере или на другом графическом элементе интернет-страницы, Easy GIF Animator Pro предлагает использовать анимационные эффекты перехода от одного изображения к другому. Вторая картинка может, например, выезжать из угла кадра или медленно проступать поверх предыдущей. Easy GIF Animator Pro имеет скромный набор инструментов для редактирования каждого изображения в анимации. Однако, несмотря на то, что этот «арсенал» напоминает палитру инструментов программы Microsoft Paint, на практике оказывается, что его вполне достаточно даже для того чтобы сделать текстовый баннер «с нуля». Здесь можно создавать геометрические фигуры, выполнять заливку, добавлять текст и делать заливку изображения градиентным цветом или даже выбранной текстурой.
GIF Movie Gear
В этой программе практически полностью отсутствует возможность редактирования изображений. Единственный способ это сделать – изменять рисунок по пикселам, что не далеко не всегда удобно. Из этого можно сделать вывод, что программа GIF Movie Gear позиционируется не как самостоятельный инструмент для работы с форматом GIF, а как вспомогательная утилита, которую будет уместно использовать в паре с каким-нибудь графическим редактором. В программе даже имеется возможность указать путь на диске к утилите, которая будет запускаться всякий раз, когда возникнет необходимость изменить рисунок кадра.
В GIF Movie Gear хорошо реализована оптимизация выходного файла. Во-первых, с ее помощью можно управлять количеством цветов в индексированной палитре GIF-файла, а также вручную подбирать цвета индексированной палитры и сохранять ее в отдельный файл для повторного использования. Во-вторых, в программе есть целая группа настроек для уменьшения размера файла без потери качества изображения. Среди них – максимально возможная обрезка кадров, устранение ненужных кадров (например, повторяющихся), замена дублирующихся точек изображения с прозрачностью. Эффективность выбранных настроек может быть мгновенно просчитана программой и оценена в процентах сжатия от общего размера анимационного файла.
В GIF Movie Gear можно использовать не только для создания GIF анимации. С помощью программы можно также создавать иконки *.ico (вот тут и пригодится возможность точечного рисунка), обычные и анимированные курсоры (*.cur, *.ani). Кроме вышеперечисленных форматов, изображения могут быть сохранены в виде многослойного файла PSD или в виде секвенции изображений в других графических форматах.
Если необходимо особым образом пометить создаваемый файл GIF, в него можно внедрить комментарий. При этом внешне файл останется прежним, лишь слегка увеличится его размер.
Selteco Bannershop GIF Animator
Эта программа нацелена, в основном на создание баннеров. В списке наиболее часто встречаемых разрешений можно найти все популярные сегодня типы баннеров, от стандартного 468x60 до «небоскреба» (skyscraper). Bannershop GIF Animator имеет специальный режим для быстрого создания анимированного изображения. Работая в нем, достаточно составить список графических файлов, задать задержку перед выводом на экран следующего кадра и все, файл можно сохранять в формате GIF. По такому же принципу работает и мастер создания слайд-шоу из отдельных картинок.
В Bannershop GIF Animator можно использовать анимационные эффекты, которые разделены на три группы – Intro Animation, Animation и Outro Animation. В первом случае можно получить эффект появления выделенного кадра, в последнем – его исчезновение. Отчасти, эти эффекты напоминают эффекты перехода, однако их область применения шире. Они также могут использоваться как видеофильтры. Эффекты еще одной группы, Animation, заставляют изображение двигаться особым образом – скользить, дрожать и переливаться светом.
Если составленная цепочка кадров включает в себя изображения разного разрешения, можно воспользоваться функцией Autosizing Frames, которая будет увеличивать рабочее пространство до тех пор, пока его площади не будет достаточно, чтобы отобразить самый большой кадр.
Нередко при создании текстового баннера приходится использовать символьный шрифт. Для того чтобы отыскать нужный значок, приходится тратить довольно много времени или использовать специальные программы-менеджеры установленных в системе шрифтов.
Создавая текст на баннере, отыскать нужный символ в Bannershop GIF Animator очень просто. Команда Inserт Symbol откроет таблицу со всеми элементами выбранного шрифта. Перебирая названия в списке установленных в системе шрифтов и наблюдая за таблицей, можно легко найти то, что нужно.
Готовую анимацию можно сразу сохранять в виде HTML страницы, в коде которой уже указано название графического файла.
Среди прочих особенностей программы стоит отметить возможность экспорта подготовленной анимации в AVI и поддержку векторного формата WMF, изображение которого растрируется при импорте в программу.
Active GIF Creator
Если необходимо сделать большое количество похожих баннеров, анимированных кнопок или логотипов, стоит задуматься о том, как упростить процесс. В Active GIF Creator это можно сделать с помощью специальных скриптов.
Модуль для работы со скриптами Script Editor является главной "изюминкой" программы. Он дает возможность автоматизировать рутинную работу, записав последовательность действий в отдельный скрипт. Анимационные скрипты – это файлы с расширением *.agif, которые сохраняются внутри проекта и могут многократно использоваться во время работы над ним. Таким образом, можно автоматически перемещать объекты, изменять их размер, управлять их отображением.
Active GIF Creator может оптимизировать размер анимационного файла, в зависимости от указанной скорости модема. В программе можно сохранять Gif анимацию сразу с HTML кодом и при этом подбирать в окне предварительного просмотра цвет фона и текста.
Кроме этого, программа умеет создавать GIF-файлы из командной строки в пакетном режиме. Самостоятельно разобраться с этой возможностью достаточно тяжело, но, тем не менее, ответы, на все вопросы, касающиеся работы с командной строкой, можно найти в технической документации Active GIF Creator.
CoffeeCup GIF Animator
CoffeeCup GIF Animator - это отличный выход для тех, у кого нет никакого желания и времени разбираться со сложными настройками Photoshop только ради того, чтобы сделать аватар. Программа несложна в использовании и при этом имеет все необходимые инструменты для решения такой задачи. Так, например, программа поддерживает импорт видео-файлов, может задавать время задержки для всех кадров GIF-анимации сразу или по отдельности, устанавливать для каждого кадра свое время отображения, задавать цвет, который должен быть прозрачным на изображении. Настроек в программе минимум, и все они помещаются в небольшом окне программы, в котором происходит сборка и предварительный просмотр анимации.
Мастер оптимизации также практически не требует от пользователя никакого вмешательства – достаточно следовать его простым инструкциям, и размер файла будет уменьшен настолько, насколько это возможно, без потери качества изображения. Это достигается за счет ограничения индексированной палитры и устранения присутствующих в файле GIF внутренних комментариев. CoffeeCup GIF Animator также сохраняет сделанную анимацию в SWF, и при этом выводит на экран код, который нужно будет вставить, чтобы файл отображался на веб-странице.
Ulead GIF Animator
Компания Ulead известна, прежде всего, своим программным обеспечением для работы с цифровым видео, поэтому неудивительно, что ее утилита GIF Animator унаследовала черты настоящего видеоредактора. Так, например, программа изобилует всевозможными эффектами, большинство которых перекочевали в GIF Animator из стандартного набора эффектов перехода приложений для обработки видео - Video Studio и Media Studio Pro.
Количество встроенных эффектов можно и увеличить. Для этого в настройках Ulead GIF Animator можно указать расположение фильтров Photoshop и дополнительных фильтров, совместимых с графическим редактором от Adobe. Тут, впрочем, следует вспомнить о том, что со времени выхода последней версии GIF Animator, прошло довольно много времени, и новые фильтры программой от Ulead не поддерживаются.
В режиме, предназначенном для оптимизации файла, рабочая область для наглядности разделена на две части – в одной показываются кадры проекта до сжатия в формат GIF, во второй – после. Изменение настроек сжатия мгновенно отображается на конечном результате. Подбирать «золотую середину» в соотношении размер-качество можно используя ограничение цветовой палитры. Кроме этого, досутпно еще два параметра – Dither, определяющий точность передачи градиентного перехода цвета, и Lossy, отвечающий за количество потерь при сжатии изображения. Управлять кадрами анимации можно либо с помощью панели кадров, где они показаны в виде слайдов, либо с панели настроек, где эта же анимация отображена в виде группы слоев, каждый из которых означает отдельный кадр.
Среди различных форматов экспорта присутствует совершенно неожиданная функция – упаковка созданной анимации в исполнительный EXE-файл. В этом случае на выходе вы получаете один файл, при запуске которого происходит примерно следующее – на экран поверх открытых окон программ выплывает созданное в GIF Animator изображение, а затем воспроизводится анимация. Трудно сказать, какое применение можно найти для этой возможности программы, скорее всего, ее можно использовать для необычного оформления презентации, которая будет начинаться таким неожиданным появлением изображения, либо это может быть просто способ пошутить над коллегой по работе.
Программ GIF-анимации обязательно нужно держать под рукой – чтобы в один прекрасный момент проблема создания анимированного баннера не затормозила всю остальную работу. Для тех, кто постоянно создает анимационные баннеры в больших количествах, следует попробовать в работе редактор скриптов Active GIF Creator, для тех, кому нужно быстро сделать свой аватар или оригинальный юзербар лучше подойдет CoffeeCup GIF Animator. Ну, а если нужен просто универсальный и надежный GIF-аниматор, «на все случаи жизни», советуем присмотреться к хорошо зарекомендовавшей себя программе от Ulead.
Анимированное кино существует и развивается уже сто лет. Оно стало считаться одним из видов искусства. Год от года неуклонно возрастет число анимационных проектов. Такие картины, как Final Fantasy, Shrek, Little Stuart, The Incredibles, Finding Nemo претендуют на престижную премию Оскара. Возможно наступит момент, когда актеров заменят их трехмерные двойники.
Трехмерные сцены становятся все реалистичными, а их себестоимость снижается. Без трехмерных декораций не обходится ни один современный экшн.
Как создается трехмерная анимация.
Анимированное кино существует и развивается уже сто лет. Оно стало считаться одним из видов искусства. Год от года неуклонно возрастет число анимационных проектов. Такие картины, как Final Fantasy, Shrek, Little Stuart, The Incredibles, Finding Nemo претендуют на престижную премию Оскара. Возможно наступит момент, когда актеров заменят их трехмерные двойники.
Трехмерные сцены становятся все реалистичными, а их себестоимость снижается. Без трехмерных декораций не обходится ни один современный экшн.
Трехмерная анимация постепенно вытесняет классическую двухмерную мультипликацию. Многие мультяшные герои или "уходят на пенсию" (с ними просто больше не делают новых мультфильмов), или обретают новую жизнь в 3D. Например, мультфильм с моряком Папаем, сделанный при помощи 3D-редактора Softimage|XSI.
В 2004-ом году известная анимационная студия Blur Studio представила первый анимационный трехмерный проект про Микки Мауса и других диснеевских героев.
Три мультфильма общей продолжительностью 40 минут стали самым крупным проектом за девятилетнюю историю Blur Studio.
Работа над проектом велась совместно 3D-аниматорами Blur и художниками Disney Studios, которые в свое время рисовали Дональда, Плуто и прочих персонажей. Для того чтобы максимально сохранить особенности движения и внешнего вида персонажей при переносе их в трехмерный мир, ведущий аниматор студии Disney Андреас Дежа (Andreas Deja) все время давал советы коллегам-3D-художникам. Результатом остались довольны все, и в Blur и в Studio надеются, что проект не будет последним.
Метод ключевых кадров.
Современная техника анимации кардинально отличается от анимационных фильмов выпускавшихся двадцать, пятьдесят лет назад.
А до появления трехмерной графики существовала так называемая кукольная анимация. Делалась она так: снимался один кадр с мультипликационным героем, затем, например, руку персонажа передвигали на очень небольшое расстояние и опять снимали один кадр. Вся работа состояла в том, чтобы снять на пленку все положения руки мультяшного героя. Что же касается рисованной анимации, каждый кадр рисовался вручную.
В компьютерной анимации все гораздо проще. Аниматор задает в программе только два положения руки - верхнее и нижнее, а все промежуточные положения просчитываются компьютером. Кадры, которые фиксируют начальное и конечное положение тела, называютсяключевыми.
Используя метод ключевых кадров, можно "оживить" практически любые параметры анимационной сцены. Продолжительность анимации зависит от количества промежуточных кадров между ключевыми.
Если математически отобразить зависимость анимированного параметра (или ключа анимации, как его еще называют) от времени, каждый ключевой кадр будет характеризоваться двумя кривыми, которые определяют функциональные зависимости анимированного параметра на промежутке между текущим ключевым кадром и предыдущим, а также настоящим ключевым кадром и следующим. Во многих редакторах для работы с трехмерной графиков подобной графической зависимостью можно управлять, определяя характер анимации.
Преимущество метода ключевых кадров перед классической техникой создания анимации очевидно: аниматор тратит на создание проекта гораздо меньше времени. Большая часть рутинной работы, которая ранее выполнялась вручную, сегодня переложена на компьютер.
Проблемы при создании анимации методом ключевых кадров.
Несмотря на универсальность и простоту техники ключевых кадров, существуют случаи, когда использование этого метода не позволяет добиться желаемого результата. Это касается тех сцен, в которых необходимо отобразить эффекты, подчиняющиеся законам физики.
В реальной жизни все, что нас окружает, постоянно изменяется - шторы слабо двигаются, по озеру бежит мелкая рябь и так далее. Аниматору очень трудно воссоздать такую картину методом ключевых кадров.
Если сцена содержит большое количество анимированных объектов, установить для каждого из них свой набор ключевых кадров очень сложно. Поскольку подбор параметров значений анимированных параметров в каждом из ключевых кадров производится методом проб и ошибок, на подгонку такой сцены уйдет очень много времени.
Кроме этого, при помощи ключевых кадров 3D-аниматору бывает очень сложно воссоздать реалистичную анимацию некоторых объектов: жидкости, материи, огня, волос, разбивающихся предметов. Алгоритм решения этих проблем настолько сложен, что его разработкой занимаются целые институты.
Каждая программа для создания динамики в трехмерных сценах по-своему уникальна, имеет свои преимущества и недостатки. Поэтому при выборе программного обеспечения руководитель анимационного проекта обычно учитывает задачи, которые планируется выполнить на данном этапе.
Помимо проблем, связанных с моделированием физических процессов, существует еще одна трудность, связанная с анимированием большого количества объектов в сцене. Создать простую, на первый взгляд, сцену с горящим бенгальским огнем при помощи ключевых кадров невозможно. Вручную задать траекторию движения для каждой из огромного количества разлетающихся искр - задача практически невыполнимая. В этом случае в трехмерной анимации используются так называемые источники частиц. Их особенность в том, что они позволяют одновременно управлять большим количеством объектов. Значимость частиц в трехмерной графике столь велика, что некоторые 3D-редакторы имеют сложные системы управления источниками частиц, которые позволяют тонко настроить анимационные эффекты с учетом изменения скорости движения частиц, размера, цвета, формы, изменения положения в пространстве и т.д.
Персонажная анимация.
Создание персонажной анимации - это один из важнейших этапов создания трехмерного проекта.
Любую анимацию можно условно разделить на два типа: реалистичная и нереалистичная. Персонажная анимация может быть как реалистичной, так и нереалистичной, однако, зрителем она лучше воспринимается, если напоминает движения, совершаемые реальными существами. Даже если персонаж анимации - это вымышленное существо, плод воображения художника, лучше, чтобы его движения были правдоподобны. В противном случае персонаж будет выглядеть безжизненным манекеном.
Характер движения любого существа определяется анатомическим строением его скелета. Поэтому при создании трехмерной анимации сначала создается модель скелета существа, на который позже "одевается" оболочка.
"Одевание" оболочки - это тоже достаточно трудоемкий процесс, ведь нужно "привязать" кости к соответствующим частям тела таким образом, чтобы при изменении положения скелета оболочка деформировалась реалистично.
Создавать анимацию скелета будущего персонажа можно двумя способами: вручную, с помощью ключевых кадров, и используя систему захвата движения Motion Capture. Последний способ получил широкое распространение и используется практически по всех коммерческих анимационных проектах, так как имеет ряд преимуществ перед методом ключевых кадров.
Технология Motion Capture использовалась, например, в анимационном фильме - <Полярный экспресс> (The Polar Express). В этом фильме известный актер Том Хенкс, играл сразу несколько ролей: маленького мальчика, проводника поезда, бродягу и Санта Клауса. При этом, во многих анимационных сценах актер играл сам с собой. Конечно же, все герои мультфильма были трехмерными, но Том Хенкс управлял их действиями, жестами и даже мимикой. Актер одевал специальное одеяние с датчиками, напоминающее гидрокостюм, совершал действия перед специальным устройством, а компьютер получал информацию об изменении положения отметок на костюме и моделировал, таким образом, движения трехмерного персонажа. Подобные датчики были установлены и на лице актера, что позволило переносить на анимационных героев его мимику.
Понятно, что анимация персонажей, созданная с использованием технологии Motion Capture, более реалистична, чем полученная методом ключевых кадров.
Мимика персонажа.
Для создания мимики трехмерного персонажа, кроме метода Motion Capture, используется также метод морфинга. Все современные 3D-редакторы обычно имеют средства для создания морфинга.
Добиться высокой реалистичности при имитации мимики методом Motion Capture не всегда удается. Чтобы она была правдоподобной, необходимо имитировать движения огромного количества мускулов, а ведь на каждый мускул датчик повесить невозможно.
Поэтому для имитации мимики используется метод морфинга. Он заключается в том, что на основе модели, которая будет анимирована, создается определенное количество клонированных объектов. Затем каждый из этих объектов редактируется вручную - форма лица изменяется таким образом, чтобы на нем присутствовала та или иная гримаса. При создании мимики очень важно, чтобы лицо персонажа при анимации не выглядело однообразным. Для этого необходимо использовать модели-заготовки с самыми разными гримасами. Пусть на одной заготовке персонаж будет моргать, на другой - щуриться, на третьей - надувать щеки и т.д.
На основе этих моделей при помощи метода морфинга создается анимация. При этом, просчитывается, как изменяется лицо персонажа при переходе от выражения лица одной модели до гримасы, созданной на второй модели и т.д. Таким образом, каждая из моделей служит ключом анимации, в результате использования морфинга форма объекта изменяется, и создается мимика персонажа.
3D-аниматор, который профессионально занимается "оживлением" персонажей, должен быть не только художником, но и знатоком анатомии. Знания о строении тела и работе мускулов помогают создать реалистичные движения и выражения лица.
Если же персонаж не только ходит и кривляется, но еще и говорит, 3D-аниматор обязан превратиться еще и в лингвиста. Каждый звук, который произносит человек, сопровождается определенными движениями его губ, языка, челюсти. Для того чтобы перенести эти движения на трехмерную анимацию, нужно уметь разбивать речь на фонемы и создавать соответствующие их произношению движения на лице персонажа.
Виртуальные камеры.
Многие трехмерные анимационные эффекты создаются с помощью виртуальных камер. Эти вспомогательные объекты предназначены для того, чтобы изменять положение точки съемки в виртуальном пространстве.
Виртуальные камеры обладают всеми основными параметрами, которые присущи настоящим камерам. Так, например, для виртуальной камеры можно указать фокусное расстояние, установить свой тип линз и т.д.
Виртуальная камера, в отличие от настоящей, - это лишь вспомогательный объект, которого вы никогда не увидите на трехмерной анимации.
Трехмерная анимация заметно упрощает реализацию многих спецэффектов. Так, например, хорошо всем известный "эффект Матрицы", когда, камера медленно объезжает вокруг человека, замершего в прыжке, гораздо проще создать при помощи виртуальной камеры. Для реализации этого эффекта в фильме "Матрица" использовалось большое количество камер, расположенных вокруг объекта съемки. Все они зафиксировали положение человека в один и тот же момент времени. Из этих кадров была создана анимация, имитирующая "облет" вокруг объекта.
В трехмерной анимации законы физики не действуют, поэтому для создания такого эффекта достаточно зафиксировать в прыжке трехмерную модель человека и задать плавное движение виртуальной камеры вокруг него.
В реальном мире при съемке фото или видеокамерой быстро движущиеся объекты остаются на полученном изображении смазанными. Причем, размытие изображения в конкретном кадре указывает на направление движения заснятого объекта. Присутствие этого эффекта в трехмерной анимации делает ее более реалистичной.
Эффект смазанного движения (Motion Blur) позволяет создать в трехмерных анимированных сценах смазанный шлейф от быстродвижущихся объектов, и отобразить их такими, какими они выглядят при реальных съемках. Возможность использования эффекта смазанного движения имеется практически во всех модулях просчета изображения, которые используются в 3D-графике.
Сегодня 3D-анимация находится на ранней стадии своего развития но за ней большое будущее. Потребуется еще немало времени, пока в 3D будут созданы анимационные шедевры, которые можно будет сравнить с лучшими образцами классической анимации.
А пока все с удовольствием смотрят мультфильмы, выпущенные много лет назад. Такой например как мультфильм "Бемби", созданный студией Диснея шестьдесят три года назад и отреставрированный при помощи современных средств видеообработки.
Хочется надеяться, что такую же популярность, нерушимую временем, смогут снискать и трехмерные анимационные проекты будущего.
Сеть всегда объединяет несколько абонентов, каждый из которых имеет право передавать свои пакеты. Но, как уже отмечалось, по одному кабелю одновременно передавать два (или более) пакета нельзя, иначе может возникнуть конфликт (коллизия), который приведет к искажению либо потере обоих пакетов (или всех пакетов, участвующих в конфликте). Значит, надо каким-то образом установить очередность доступа к сети (захвата сети) всеми абонентами, желающими передавать. Это относится, прежде всего, к сетям с топологиями шина и кольцо. Точно так же при топологии звезда необходимо установить очередность передачи пакетов периферийными абонентами, иначе центральный абонент просто не сможет справиться с их обработкой.
В сети обязательно применяется тот или иной метод управления обменом (метод доступа, метод арбитража), разрешающий или предотвращающий конфликты между абонентами. От эффективности работы выбранного метода управления обменом зависит очень многое: скорость обмена информацией между компьютерами, нагрузочная способность сети (способность работать с различными интенсивностями обмена), время реакции сети на внешние события и т.д. Метод управления – это один из важнейших параметров сети.
Тип метода управления обменом во многом определяется особенностями топологии сети. Но в то же время он не привязан жестко к топологии, как нередко принято считать.
Методы управления обменом в локальных сетях делятся на две группы:
* Централизованные методы, в которых все управление обменом сосредоточено в одном месте. Недостатки таких методов: неустойчивость к отказам центра, малая гибкость управления (центр обычно не может оперативно реагировать на все события в сети). Достоинство централизованных методов – отсутствие конфликтов, так как центр всегда предоставляет право на передачу только одному абоненту, и ему не с кем конфликтовать.
* Децентрализованные методы, в которых отсутствует центр управления. Всеми вопросами управления, в том числе предотвращением, обнаружением и разрешением конфликтов, занимаются все абоненты сети. Главные достоинства децентрализованных методов: высокая устойчивость к отказам и большая гибкость. Однако в данном случае возможны конфликты, которые надо разрешать.
Существует и другое деление методов управления обменом, относящееся, главным образом, к децентрализованным методам:
* Детерминированные методы определяют четкие правила, по которым чередуются захватывающие сеть абоненты. Абоненты имеют определенную систему приоритетов, причем приоритеты эти различны для всех абонентов. При этом, как правило, конфликты полностью исключены (или маловероятны), но некоторые абоненты могут дожидаться своей очереди на передачу слишком долго. К детерминированным методам относится, например, маркерный доступ (сети Token-Ring, FDDI), при котором право передачи передается по эстафете от абонента к абоненту.
* Случайные методы подразумевают случайное чередование передающих абонентов. При этом возможность конфликтов подразумевается, но предлагаются способы их разрешения. Случайные методы значительно хуже (по сравнению с детерминированными) работают при больших информационных потоках в сети (при большом трафике сети) и не гарантируют абоненту величину времени доступа. В то же время они обычно более устойчивы к отказам сетевого оборудования и более эффективно используют сеть при малой интенсивности обмена. Пример случайного метода – CSMA/CD (сеть Ethernet).
Для трех основных топологий характерны три наиболее типичных метода управления обменом.
Управление обменом в сети с топологией звезда
Для топологии звезда лучше всего подходит централизованный метод управления. Это связано с тем, что все информационные потоки проходят через центр, и именно этому центру логично доверить управление обменом в сети. Причем не так важно, что находится в центре звезды: компьютер (центральный абонент), как на рис. 1.6, или же специальный концентратор, управляющий обменом, но сам не участвующий в нем. В данном случае речь идет уже не о пассивной звезде (рис. 1.11), а о некой промежуточной ситуации, когда центр не является полноценным абонентом, но управляет обменом. Это, к примеру, реализовано в сети 100VG-AnyLAN.
Самый простейший централизованный метод состоит в следующем.
Периферийные абоненты, желающие передать свой пакет (или, как еще говорят, имеющие заявки на передачу), посылают центру свои запросы (управляющие пакеты или специальные сигналы). Центр же предоставляет им право передачи пакета в порядке очередности, например, по их физическому расположению в звезде по часовой стрелке. После окончания передачи пакета каким-то абонентом право передавать получит следующий по порядку (по часовой стрелке) абонент, имеющий заявку на передачу (рис. 4.8). Например, если передает второй абонент, то после него имеет право на передачу третий. Если же третьему абоненту не надо передавать, то право на передачу переходит к четвертому и т.д.
Централизованный метод управления обменом в сети с топологией звезда
Рис. 4.8. Централизованный метод управления обменом в сети с топологией звезда
В этом случае говорят, что абоненты имеют географические приоритеты (по их физическому расположению). В каждый конкретный момент наивысшим приоритетом обладает следующий по порядку абонент, но в пределах полного цикла опроса ни один из абонентов не имеет никаких преимуществ перед другими. Никому не придется ждать своей очереди слишком долго. Максимальная величина времени доступа для любого абонента в этом случае будет равна суммарному времени передачи пакетов всех абонентов сети кроме данного. Для топологии, показанной на рис. 4.8, она составит четыре длительности пакета. Никаких столкновений пакетов при этом методе в принципе быть не может, так как все решения о доступе принимаются в одном месте.
Рассмотренный метод управления можно назвать методом с пассивным центром, так как центр пассивно прослушивает всех абонентов. Возможен и другой принцип реализации централизованного управления (его можно назвать методом с активным центром).
В этом случае центр посылает запросы о готовности передавать (управляющие пакеты или специальные сигналы) по очереди всем периферийным абонентам. Тот периферийный абонент, который хочет передавать (первый из опрошенных) посылает ответ (или же сразу начинает свою передачу). В дальнейшем центр проводит сеанс обмена именно с ним. После окончания этого сеанса центральный абонент продолжает опрос периферийных абонентов по кругу (как на рис. 4.8). Если желает передавать центральный абонент, он передает вне очереди.
Как в первом, так и во втором случае никаких конфликтов быть не может (решение принимает единый центр, которому не с кем конфликтовать). Если все абоненты активны, и заявки на передачу поступают интенсивно, то все они будут передавать строго по очереди. Но центр должен быть исключительно надежен, иначе будет парализован весь обмен. Механизм управления не слишком гибок, так как центр работает по жестко заданному алгоритму. К тому же скорость управления невысока. Ведь даже в случае, когда передает только один абонент, ему все равно приходится ждать после каждого переданного пакета, пока центр опросит всех остальных абонентов.
Как правило, централизованные методы управления применяются в небольших сетях (с числом абонентов не более чем несколько десятков). В случае больших сетей нагрузка по управлению обменом на центр существенно возрастает.
Управление обменом в сети с топологией шина
При топологии шина также возможно централизованное управление. При этом один из абонентов ("центральный") посылает по шине всем остальным ("периферийным") запросы (управляющие пакеты), выясняя, кто из них хочет передать, затем разрешает передачу одному из абонентов. Абонент, получивший право на передачу, по той же шине передает свой информационный пакет тому абоненту, которому хочет. А после окончания передачи передававший абонент все по той же шине сообщает "центру", что он закончил передачу (управляющим пакетом), и "центр" снова начинает опрос (рис. 4.9).
Централизованное управление в сети с топологией шина
Рис. 4.9. Централизованное управление в сети с топологией шина
Преимущества и недостатки такого управления – те же самые, что и в случае централизованно управляемой звезды. Единственное отличие состоит в том, что центр здесь не пересылает информацию от одного абонента к другому, как в топологии активная звезда, а только управляет обменом.
Гораздо чаще в шине используется децентрализованное случайное управление, так как сетевые адаптеры всех абонентов в данном случае одинаковы, и именно этот метод наиболее органично подходит шине. При выборе децентрализованного управления все абоненты имеют равные права доступа к сети, то есть особенности топологии совпадают с особенностями метода управления. Решение о том, когда можно передавать свой пакет, принимается каждым абонентом на месте, исходя только из анализа состояния сети. В данном случае возникает конкуренция между абонентами за захват сети, и, следовательно, возможны конфликты между ними и искажения передаваемой информации из-за наложения пакетов.
Существует множество алгоритмов доступа или, как еще говорят, сценариев доступа, порой очень сложных. Их выбор зависит от скорости передачи в сети, длины шины, загруженности сети (интенсивности обмена или трафика сети), используемого кода передачи.
Иногда для управления доступом к шине применяется дополнительная линия связи, что позволяет упростить аппаратуру контроллеров и методы доступа, но заметно увеличивает стоимость сети за счет удвоения длины кабеля и количества приемопередатчиков. Поэтому данное решение не получило широкого распространения.
Суть всех случайных методов управления обменом довольно проста.
Если сеть свободна (то есть никто не передает своих пакетов), то абонент, желающий передавать, сразу начинает свою передачу. Время доступа в этом случае равно нулю.
Если же в момент возникновения у абонента заявки на передачу сеть занята, то абонент, желающий передавать, ждет освобождения сети. В противном случае исказятся и пропадут оба пакета. После освобождения сети абонент, желающий передавать, начинает свою передачу.
Возникновение конфликтных ситуаций (столкновений пакетов, коллизий), в результате которых передаваемая информация искажается, возможно в двух случаях.
* При одновременном начале передачи двумя или более абонентами, когда сеть свободна (рис. 4.10). Это ситуация довольно редкая, но все-таки вполне возможная.
* При одновременном начале передачи двумя или более абонентами сразу после освобождения сети (рис. 4.11). Это ситуация наиболее типична, так как за время передачи пакета одним абонентом вполне может возникнуть несколько новых заявок на передачу у других абонентов.
Существующие случайные методы управления обменом (арбитража) различаются тем, как они предотвращают возможные конфликты или же разрешают уже возникшие. Ни один конфликт не должен нарушать обмен, все абоненты должны, в конце концов, передать свои пакеты.
В процессе развития локальных сетей было разработано несколько разновидностей случайных методов управления обменом.
Коллизии в случае начала передачи при свободной сети
Рис. 4.10. Коллизии в случае начала передачи при свободной сети
Коллизии в случае начала передачи после освобождения сети
Рис. 4.11. Коллизии в случае начала передачи после освобождения сети
Например, был предложен метод, при котором не все передающие абоненты распознают коллизию, а только те, которые имеют меньшие приоритеты. Абонент с максимальным приоритетом из всех, начавших передачу, закончит передачу своего пакета без ошибок. Остальные, обнаружив коллизию, прекратят свою передачу и будут ждать освобождения сети для новой попытки. Для контроля коллизии каждый передающий абонент производит побитное сравнение передаваемой им в сеть информации и данных, присутствующих в сети. Побеждает тот абонент, заголовок пакета которого дольше других не искажается от коллизии. Этот метод, называемый децентрализованным кодовым приоритетным методом, отличается низким быстродействием и сложностью реализации.
При другом методе управления обменом каждый абонент начинает свою передачу после освобождения сети не сразу, а, выдержав свою, строго индивидуальную задержку, что предотвращает коллизии после освобождения сети и тем самым сводит к минимуму общее количество коллизий. Максимальным приоритетом в этом случае будет обладать абонент с минимальной задержкой. Столкновения пакетов возможны только тогда, когда два и более абонентов захотели передавать одновременно при свободной сети. Этот метод, называемый децентрализованным временным приоритетным методом, хорошо работает только в небольших сетях, так как каждому абоненту нужно обеспечить свою индивидуальную задержку.
В обоих случаях имеется система приоритетов, все же данные методы относятся к случайным, так как исход конкуренции невозможно предсказать. Случайные приоритетные методы ставят абонентов в неравные условия при большой интенсивности обмена по сети, так как высокоприоритетные абоненты могут надолго заблокировать сеть для низкоприоритетных абонентов.
[pagebreak]
Чаще всего система приоритетов в методе управления обменом в шине отсутствует полностью. Именно так работает наиболее распространенный стандартный метод управления обменом CSMA/CD (Carrier Sense Multiple Access with Collision Detection – множественный доступ с контролем несущей и обнаружением коллизий), используемый в сети Ethernet. Его главное достоинство в том, что все абоненты полностью равноправны, и ни один из них не может надолго заблокировать обмен другому (как в случае наличия приоритетов). В этом методе коллизии не предотвращаются, а разрешаются.
Суть метода состоит в том, что абонент начинает передавать сразу, как только он выяснит, что сеть свободна. Если возникают коллизии, то они обнаруживаются всеми передающими абонентами. После чего все абоненты прекращают свою передачу и возобновляют попытку начать новую передачу пакета через временной интервал, длительность которого выбирается случайным образом. Поэтому повторные коллизии маловероятны.
Еще один распространенный метод случайного доступа – CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance – множественный доступ с контролем несущей и избежанием коллизий) применяющийся, например, в сети Apple LocalTalk. Абонент, желающий передавать и обнаруживший освобождение сети, передает сначала короткий управляющий пакет запроса на передачу. Затем он заданное время ждет ответного короткого управляющего пакета подтверждения запроса от абонента-приемника. Если ответа нет, передача откладывается. Если ответ получен, передается пакет. Коллизии полностью не устраняются, но в основном сталкиваются управляющие пакеты. Столкновения информационных пакетов выявляются на более высоких уровнях протокола.
Подобные методы будут хорошо работать только при не слишком большой интенсивности обмена по сети. Считается, что приемлемое качество связи обеспечивается при нагрузке не выше 30—40% (то есть когда сеть занята передачей информации примерно на 30—40% всего времени). При большей нагрузке повторные столкновения учащаются настолько, что наступает так называемый коллапс или крах сети, представляющий собой резкое падение ее производительности.
Недостаток всех случайных методов состоит еще и в том, что они не гарантируют величину времени доступа к сети, которая зависит не только от выбора задержки между попытками передачи, но и от общей загруженности сети. Поэтому, например, в сетях, выполняющих задачи управления оборудованием (на производстве, в научных лабораториях), где требуется быстрая реакция на внешние события, сети со случайными методами управления используются довольно редко.
При любом случайном методе управления обменом, использующем детектирование коллизии (в частности, при CSMA/CD), возникает вопрос о том, какой должна быть минимальная длительность пакета, чтобы коллизию обнаружили все начавшие передавать абоненты. Ведь сигнал по любой физической среде распространяется не мгновенно, и при больших размерах сети (диаметре сети) задержка распространения может составлять десятки и сотни микросекунд. Кроме того, информацию об одновременно происходящих событиях разные абоненты получают не в одно время. С тем чтобы рассчитать минимальную длительность пакета, следует обратиться к рис. 4.12.
Пусть L – полная длина сети, V – скорость распространения сигнала в используемом кабеле. Допустим, абонент 1 закончил свою передачу, а абоненты 2 и 3 захотели передавать во время передачи абонента 1 и ждали освобождения сети.
После освобождения сети абонент 2 начнет передавать сразу же, так как он расположен рядом с абонентом 1. Абонент 3 после освобождения сети узнает об этом событии и начнет свою передачу через временной интервал прохождения сигнала по всей длине сети, то есть через время L/V. При этом пакет от абонента 3 дойдет до абонента 2 еще через временной интервал L/V после начала передачи абонентом 3 (обратный путь сигнала). К этому моменту передача пакета абонентом 2 не должна закончиться, иначе абонент 2 так и не узнает о столкновении пакетов (о коллизии), в результате чего будет передан неправильный пакет.
Получается, что минимально допустимая длительность пакета в сети должна составлять 2L/V, то есть равняться удвоенному времени распространения сигнала по полной длине сети (или по пути наибольшей длины в сети). Это время называется двойным или круговым временем задержки сигнала в сети или PDV (Path Delay Value). Этот же временной интервал можно рассматривать как универсальную меру одновременности любых событий в сети.
Стандартом на сеть задается как раз величина PDV, определяющая минимальную длину пакета, и из нее уже рассчитывается допустимая длина сети. Дело в том, что скорость распространения сигнала в сети для разных кабелей отличается. Кроме того, надо еще учитывать задержки сигнала в различных сетевых устройствах. Расчетам допустимых конфигураций сети Ethernet посвящена глава 10.
Отдельно следует остановиться на том, как сетевые адаптеры распознают коллизию в кабеле шины, то есть столкновение пакетов. Ведь простое побитное сравнение передаваемой абонентом информации с той, которая реально присутствует в сети, возможно только в случае самого простого кода NRZ, используемого довольно редко. При применении манчестерского кода, который обычно подразумевается в случае метода управления обменом CSMA/CD, требуется принципиально другой подход.
Как уже отмечалось, сигнал в манчестерском коде всегда имеет постоянную составляющую, равную половине размаха сигнала (если один из двух уровней сигнала нулевой). Однако в случае столкновения двух и более пакетов (при коллизии) это правило выполняться не будет. Постоянная составляющая суммарного сигнала в сети будет обязательно больше или меньше половины размаха (рис. 4.13). Ведь пакеты всегда отличаются друг от друга и к тому же сдвинуты друг относительно друга во времени. Именно по выходу уровня постоянной составляющей за установленные пределы и определяет каждый сетевой адаптер наличие коллизии в сети.
Определение факта коллизии в шине при использовании манчестерского кода
Рис. 4.13. Определение факта коллизии в шине при использовании манчестерского кода
Задача обнаружения коллизии существенно упрощается, если используется не истинная шина, а равноценная ей пассивная звезда (рис. 4.14).
Обнаружение коллизии в сети пассивная звезда
Рис. 4.14. Обнаружение коллизии в сети пассивная звезда
При этом каждый абонент соединяется с центральным концентратором, как правило, двумя кабелями, каждый из которых передает информацию в своем направлении. Во время передачи своего пакета абоненту достаточно всего лишь контролировать, не приходит ли ему в данный момент по встречному кабелю (приемному) другой пакет. Если встречный пакет приходит, то детектируется коллизия. Точно так же обнаруживает коллизии и концентратор.
Управление обменом в сети с топологией кольцо
Кольцевая топология имеет свои особенности при выборе метода управления обменом. В этом случае важно то, что любой пакет, посланный по кольцу, последовательно пройдя всех абонентов, через некоторое время возвратится в ту же точку, к тому же абоненту, который его передавал (так как топология замкнутая). Здесь нет одновременного распространения сигнала в две стороны, как в топологии шина. Как уже отмечалось, сети с топологией кольцо бывают однонаправленными и двунаправленными. Наиболее распространены однонаправленные.
В сети с топологией кольцо можно использовать различные централизованные методы управления (как в звезде), а также методы случайного доступа (как в шине), но чаще выбирают все-таки специфические методы управления, в наибольшей степени соответствующие особенностям кольца.
Самые популярные методы управления в кольцевых сетях маркерные (эстафетные), те, которые используют маркер (эстафету) – небольшой управляющий пакет специального вида. Именно эстафетная передача маркера по кольцу позволяет передавать право на захват сети от одного абонента к другому. Маркерные методы относятся к децентрализованным и детерминированным методам управления обменом в сети. В них нет явно выраженного центра, но существует четкая система приоритетов, и потому не бывает конфликтов.
Работа маркерного метода управления в сети с топологией кольцо представлена на рис. 4.15.
Рис. 4.15. Маркерный метод управления обменом (СМ—свободный маркер, ЗМ— занятый маркер, МП— занятый маркер с подтверждением, ПД—пакет данных)
По кольцу непрерывно ходит специальный управляющий пакет минимальной длины, маркер, предоставляющий абонентам право передавать свой пакет. Алгоритм действий абонентов:
1. Абонент 1, желающий передать свой пакет, должен дождаться прихода к нему свободного маркера. Затем он присоединяет к маркеру свой пакет, помечает маркер как занятый и отправляет эту посылку следующему по кольцу абоненту.
2. Все остальные абоненты (2, 3, 4), получив маркер с присоединенным пакетом, проверяют, им ли адресован пакет. Если пакет адресован не им, то они передают полученную посылку (маркер + пакет) дальше по кольцу.
3. Если какой-то абонент (в данном случае это абонент 2) распознает пакет как адресованный ему, то он его принимает, устанавливает в маркере бит подтверждения приема и передает посылку (маркер + пакет) дальше по кольцу.
4. Передававший абонент 1 получает свою посылку, прошедшую по всему кольцу, обратно, помечает маркер как свободный, удаляет из сети свой пакет и посылает свободный маркер дальше по кольцу. Абонент, желающий передавать, ждет этого маркера, и все повторяется снова.
Приоритет при данном методе управления получается географический, то есть право передачи после освобождения сети переходит к следующему по направлению кольца абоненту от последнего передававшего абонента. Но эта система приоритетов работает только при большой интенсивности обмена. При малой интенсивности обмена все абоненты равноправны, и время доступа к сети каждого из них определяется только положением маркера в момент возникновения заявки на передачу.
В чем-то рассматриваемый метод похож на метод опроса (централизованный), хотя явно выделенного центра здесь не существует. Однако некий центр обычно все-таки присутствует. Один из абонентов (или специальное устройство) должен следить, чтобы маркер не потерялся в процессе прохождения по кольцу (например, из-за действия помех или сбоя в работе какого-то абонента, а также из-за подключения и отключения абонентов). В противном случае механизм доступа работать не будет. Следовательно, надежность управления в данном случае снижается (выход центра из строя приводит к полной дезорганизации обмена). Существуют специальные средства для повышения надежности и восстановления центра контроля маркера.
Основное преимущество маркерного метода перед CSMA/CD состоит в гарантированной величине времени доступа. Его максимальная величина, как и при централизованном методе, составит (N-1)• tпк, где N – полное число абонентов в сети, tпк – время прохождения пакета по кольцу. Вообще, маркерный метод управления обменом при большой интенсивности обмена в сети (загруженность более 30—40%) гораздо эффективнее случайных методов. Он позволяет сети работать с большей нагрузкой, которая теоретически может даже приближаться к 100%.
Метод маркерного доступа используется не только в кольце (например, в сети IBM Token Ring или FDDI), но и в шине (в частности, сеть Arcnet-BUS), а также в пассивной звезде (к примеру, сеть Arcnet-STAR). В этих случаях реализуется не физическое, а логическое кольцо, то есть все абоненты последовательно передают друг другу маркер, и эта цепочка передачи маркеров замкнута в кольцо (рис. 4.16). При этом совмещаются достоинства физической топологии шина и маркерного метода управления.
Применение маркерного метода управления в шине
Рис. 4.16. Применение маркерного метода управления в шине
Каждый абонент (узел) локальной сети должен иметь свой уникальный адрес (идентификатор или MAC-адрес), для того чтобы ему можно было адресовать пакеты. Существуют две основные системы присвоения адресов абонентам сети (точнее, сетевым адаптерам этих абонентов).
Первая система сводится к тому, что при установке сети каждому абоненту пользователь присваивает индивидуальный адрес по порядку, к примеру, от 0 до 30 или от 0 до 254. Присваивание адресов производится программно или с помощью переключателей на плате адаптера. При этом требуемое количество разрядов адреса определяется из неравенства:
2n > Nmax
где n – количество разрядов адреса, а Nmax – максимально возможное количество абонентов в сети. Например, восемь разрядов адреса достаточно для сети из 255 абонентов. Один адрес (обычно 1111....11) отводится для широковещательной передачи, то есть он используется для пакетов, адресованных всем абонентам одновременно.
Именно такой подход применен в известной сети Arcnet. Достоинства данного подхода – малый объем служебной информации в пакете, а также простота аппаратуры адаптера, распознающей адрес пакета. Недостаток – трудоемкость задания адресов и возможность ошибки (например, двум абонентам сети может быть присвоен один и тот же адрес). Контроль уникальности сетевых адресов всех абонентов возлагается на администратора сети.
Второй подход к адресации был разработан международной организацией IEEE, занимающейся стандартизацией сетей. Именно он используется в большинстве сетей и рекомендован для новых разработок. Идея этого подхода состоит в том, чтобы присваивать уникальный сетевой адрес каждому адаптеру сети еще на этапе его изготовления. Если количество возможных адресов будет достаточно большим, то можно быть уверенным, что в любой сети по всему миру никогда не будет абонентов с одинаковыми адресами. Поэтому был выбран 48-битный формат адреса, что соответствует примерно 280 триллионам различных адресов. Понятно, что столько сетевых адаптеров никогда не будет выпущено.
С тем чтобы распределить возможные диапазоны адресов между многочисленными изготовителями сетевых адаптеров, была предложена следующая структура адреса (рис. 4.7):
* Младшие 24 разряда кода адреса называются OUA (Organizationally Unique Address) – организационно уникальный адрес. Именно их присваивает каждый из зарегистрированных производителей сетевых адаптеров. Всего возможно свыше 16 миллионов комбинаций, то есть каждый изготовитель может выпустить 16 миллионов сетевых адаптеров.
* Следующие 22 разряда кода называются OUI (Organizationally Unique Identifier) – организационно уникальный идентификатор. IEEE присваивает один или несколько OUI каждому производителю сетевых адаптеров. Это позволяет исключить совпадения адресов адаптеров от разных производителей. Всего возможно свыше 4 миллионов разных OUI, это означает, что теоретически может быть зарегистрировано 4 миллиона производителей. Вместе OUA и OUI называются UAA (Universally Administered Address) – универсально управляемый адрес или IEEE-адрес.
* Два старших разряда адреса управляющие, они определяют тип адреса, способ интерпретации остальных 46 разрядов. Старший бит I/G (Individual/Group) указывает на тип адреса. Если он установлен в 0, то индивидуальный, если в 1, то групповой (многопунктовый или функциональный). Пакеты с групповым адресом получат все имеющие этот групповой адрес сетевые адаптеры. Причем групповой адрес определяется 46 младшими разрядами. Второй управляющий бит U/L (Universal/Local) называется флажком универсального/местного управления и определяет, как был присвоен адрес данному сетевому адаптеру. Обычно он установлен в 0. Установка бита U/L в 1 означает, что адрес задан не производителем сетевого адаптера, а организацией, использующей данную сеть. Это случается довольно редко.
Структура 48-битного стандартного MAC-адреса
Рис. 4.7. Структура 48-битного стандартного MAC-адреса
Для широковещательной передачи (то есть передачи всем абонентам сети одновременно) применяется специально выделенный сетевой адрес, все 48 битов которого установлены в единицу. Его принимают все абоненты сети независимо от их индивидуальных и групповых адресов.
Данной системы адресов придерживаются такие популярные сети, как Ethernet, Fast Ethernet, Token-Ring, FDDI, 100VG-AnyLAN. Ее недостатки – высокая сложность аппаратуры сетевых адаптеров, а также большая доля служебной информации в передаваемом пакете (адреса источника и приемника вместе требуют уже 96 битов пакета или 12 байт).
Во многих сетевых адаптерах предусмотрен так называемый циркулярный режим. В этом режиме адаптер принимает все пакеты, приходящие к нему, независимо от значения поля адреса приемника. Такой режим используется, например, для проведения диагностики сети, измерения ее производительности, контроля ошибок передачи. При этом один компьютер принимает и контролирует все пакеты, проходящие по сети, но сам ничего не передает. В данном режиме работают сетевые адаптеры мостов и коммутаторы, которые должны обрабатывать перед ретрансляцией все пакеты, приходящие к ним.
Информация в кабельных локальных сетях передается в закодированном виде, то есть каждому биту передаваемой информации соответствует свой набор уровней электрических сигналов в сетевом кабеле. Модуляция высокочастотных сигналов применяется в основном в бескабельных сетях, в радиоканалах. В кабельных сетях передача идет без модуляции или, как еще говорят, в основной полосе частот.
Правильный выбор кода позволяет повысить достоверность передачи информации, увеличить скорость передачи или снизить требования к выбору кабеля. Например, при разных кодах предельная скорость передачи по одному и тому же кабелю может отличаться в два раза. От выбранного кода напрямую зависит также сложность сетевой аппаратуры (узлы кодирования и декодирования кода). Код должен в идеале обеспечивать хорошую синхронизацию приема, низкий уровень ошибок, работу с любой длиной передаваемых информационных последовательностей.
Некоторые коды, используемые в локальных сетях, показаны на рис. 3.8. Далее будут рассмотрены их преимущества и недостатки.
Наиболее распространенные коды передачи информации
Рис. 3.8. Наиболее распространенные коды передачи информации
Код NRZ
Код NRZ (Non Return to Zero – без возврата к нулю) – это простейший код, представляющий собой обычный цифровой сигнал. Логическому нулю соответствует высокий уровень напряжения в кабеле, логической единице – низкий уровень напряжения (или наоборот, что не принципиально). Уровни могут быть разной полярности (положительной и отрицательной) или же одной полярности (положительной или отрицательной). В течение битового интервала (bit time, BT), то есть времени передачи одного бита никаких изменений уровня сигнала в кабеле не происходит.
К несомненным достоинствам кода NRZ относятся его довольно простая реализация (исходный сигнал не надо ни специально кодировать на передающем конце, ни декодировать на приемном конце), а также минимальная среди других кодов пропускная способность линии связи, требуемая при данной скорости передачи. Ведь наиболее частое изменение сигнала в сети будет при непрерывном чередовании единиц и нулей, то есть при последовательности 1010101010..., поэтому при скорости передачи, равной 10 Мбит/с (длительность одного бита равна 100 нс) частота изменения сигнала и соответственно требуемая пропускная способность линии составит 1 / 200нс = 5 МГц (рис. 3.9).
Скорость передачи и требуемая пропускная способность при коде NRZ
Рис. 3.9. Скорость передачи и требуемая пропускная способность при коде NRZ
Передача в коде NRZ с синхросигналом
Рис. 3.10. Передача в коде NRZ с синхросигналом
Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником во время приема слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю.
Во избежание потери синхронизации, можно было бы ввести вторую линию связи для синхросигнала (рис. 3.10). Но при этом требуемое количество кабеля, число приемников и передатчиков увеличивается в два раза. При большой длине сети и значительном количестве абонентов это невыгодно.
В связи с этим код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита).
Большой недостаток кода NRZ состоит еще и в том, что он может обеспечить обмен сообщениями (последовательностями, пакетами) только фиксированной, заранее обговоренной длины. Дело в том, что по принимаемой информации приемник не может определить, идет ли еще передача или уже закончилась. Для синхронизации начала приема пакета используется стартовый служебный бит, чей уровень отличается от пассивного состояния линии связи (например, пассивное состояние линии при отсутствии передачи – 0, стартовый бит – 1). Заканчивается прием после отсчета приемником заданного количества бит последовательности (рис. 3.11).
Определение окончания последовательности при коде NRZ
Рис. 3.11. Определение окончания последовательности при коде NRZ
Наиболее известное применение кода NRZ – это стандарт RS232-C, последовательный порт персонального компьютера. Передача информации в нем ведется байтами (8 бит), сопровождаемыми стартовым и стоповым битами.
Три остальных кода (RZ, манчестерский код, бифазный код) принципиально отличаются от NRZ тем, что сигнал имеет дополнительные переходы (фронты) в пределах битового интервала. Это сделано для того, чтобы приемник мог подстраивать свои часы под принимаемый сигнал на каждом битовом интервале. Отслеживая фронты сигналов, приемник может точно синхронизовать прием каждого бита. В результате небольшие расхождения часов приемника и передатчика уже не имеют значения. Приемник может надежно принимать последовательности любой длины. Такие коды называются самосинхронизирующимися. Можно считать, что самосинхронизирующиеся коды несут в себе синхросигнал.
Оптоволоконный (он же волоконно-оптический) кабель – это принципиально иной тип кабеля по сравнению с рассмотренными двумя типами электрического или медного кабеля. Информация по нему передается не электрическим сигналом, а световым. Главный его элемент – это прозрачное стекловолокно, по которому свет проходит на огромные расстояния (до десятков километров) с незначительным ослаблением.
Рис. 2.4. Структура оптоволоконного кабеля
Структура оптоволоконного кабеля очень проста и похожа на структуру коаксиального электрического кабеля (рис. 2.4). Только вместо центрального медного провода здесь используется тонкое (диаметром около 1 – 10 мкм) стекловолокно, а вместо внутренней изоляции – стеклянная или пластиковая оболочка, не позволяющая свету выходить за пределы стекловолокна. В данном случае речь идет о режиме так называемого полного внутреннего отражения света от границы двух веществ с разными коэффициентами преломления (у стеклянной оболочки коэффициент преломления значительно ниже, чем у центрального волокна). Металлическая оплетка кабеля обычно отсутствует, так как экранирование от внешних электромагнитных помех здесь не требуется. Однако иногда ее все-таки применяют для механической защиты от окружающей среды (такой кабель иногда называют броневым, он может объединять под одной оболочкой несколько оптоволоконных кабелей).
Оптоволоконный кабель обладает исключительными характеристиками по помехозащищенности и секретности передаваемой информации. Никакие внешние электромагнитные помехи в принципе не способны исказить световой сигнал, а сам сигнал не порождает внешних электромагнитных излучений. Подключиться к этому типу кабеля для несанкционированного прослушивания сети практически невозможно, так как при этом нарушается целостность кабеля. Теоретически возможная полоса пропускания такого кабеля достигает величины 1012 Гц, то есть 1000 ГГц, что несравнимо выше, чем у электрических кабелей. Стоимость оптоволоконного кабеля постоянно снижается и сейчас примерно равна стоимости тонкого коаксиального кабеля.
Типичная величина затухания сигнала в оптоволоконных кабелях на частотах, используемых в локальных сетях, составляет от 5 до 20 дБ/км, что примерно соответствует показателям электрических кабелей на низких частотах. Но в случае оптоволоконного кабеля при росте частоты передаваемого сигнала затухание увеличивается очень незначительно, и на больших частотах (особенно свыше 200 МГц) его преимущества перед электрическим кабелем неоспоримы, у него просто нет конкурентов.
Однако оптоволоконный кабель имеет и некоторые недостатки.
Самый главный из них – высокая сложность монтажа (при установке разъемов необходима микронная точность, от точности скола стекловолокна и степени его полировки сильно зависит затухание в разъеме). Для установки разъемов применяют сварку или склеивание с помощью специального геля, имеющего такой же коэффициент преломления света, что и стекловолокно. В любом случае для этого нужна высокая квалификация персонала и специальные инструменты. Поэтому чаще всего оптоволоконный кабель продается в виде заранее нарезанных кусков разной длины, на обоих концах которых уже установлены разъемы нужного типа. Следует помнить, что некачественная установка разъема резко снижает допустимую длину кабеля, определяемую затуханием.
Также надо помнить, что использование оптоволоконного кабеля требует специальных оптических приемников и передатчиков, преобразующих световые сигналы в электрические и обратно, что порой существенно увеличивает стоимость сети в целом.
Оптоволоконные кабели допускают разветвление сигналов (для этого производятся специальные пассивные разветвители (couplers) на 2—8 каналов), но, как правило, их используют для передачи данных только в одном направлении между одним передатчиком и одним приемником. Ведь любое разветвление неизбежно сильно ослабляет световой сигнал, и если разветвлений будет много, то свет может просто не дойти до конца сети. Кроме того, в разветвителе есть и внутренние потери, так что суммарная мощность сигнала на выходе меньше входной мощности.
Оптоволоконный кабель менее прочен и гибок, чем электрический. Типичная величина допустимого радиуса изгиба составляет около 10 – 20 см, при меньших радиусах изгиба центральное волокно может сломаться. Плохо переносит кабель и механическое растяжение, а также раздавливающие воздействия.
Чувствителен оптоволоконный кабель и к ионизирующим излучениям, из-за которых снижается прозрачность стекловолокна, то есть увеличивается затухание сигнала. Резкие перепады температуры также негативно сказываются на нем, стекловолокно может треснуть.
Применяют оптоволоконный кабель только в сетях с топологией звезда и кольцо. Никаких проблем согласования и заземления в данном случае не существует. Кабель обеспечивает идеальную гальваническую развязку компьютеров сети. В будущем этот тип кабеля, вероятно, вытеснит электрические кабели или, во всяком случае, сильно потеснит их. Запасы меди на планете истощаются, а сырья для производства стекла более чем достаточно.
Существуют два различных типа оптоволоконного кабеля:
* многомодовый или мультимодовый кабель, более дешевый, но менее качественный;
* одномодовый кабель, более дорогой, но имеет лучшие характеристики по сравнению с первым.
Суть различия между этими двумя типами сводится к разным режимам прохождения световых лучей в кабеле.
Распространение света в одномодовом кабеле
Рис. 2.5. Распространение света в одномодовом кабеле
В одномодовом кабеле практически все лучи проходят один и тот же путь, в результате чего они достигают приемника одновременно, и форма сигнала почти не искажается (рис. 2.5). Одномодовый кабель имеет диаметр центрального волокна около 1,3 мкм и передает свет только с такой же длиной волны (1,3 мкм). Дисперсия и потери сигнала при этом очень незначительны, что позволяет передавать сигналы на значительно большее расстояние, чем в случае применения многомодового кабеля. Для одномодового кабеля применяются лазерные приемопередатчики, использующие свет исключительно с требуемой длиной волны. Такие приемопередатчики пока еще сравнительно дороги и не долговечны. Однако в перспективе одномодовый кабель должен стать основным типом благодаря своим прекрасным характеристикам. К тому же лазеры имеют большее быстродействие, чем обычные светодиоды. Затухание сигнала в одномодовом кабеле составляет около 5 дБ/км и может быть даже снижено до 1 дБ/км.
Распространение света в многомодовом кабеле
Рис. 2.6. Распространение света в многомодовом кабеле
В многомодовом кабеле траектории световых лучей имеют заметный разброс, в результате чего форма сигнала на приемном конце кабеля искажается (рис. 2.6). Центральное волокно имеет диаметр 62,5 мкм, а диаметр внешней оболочки 125 мкм (это иногда обозначается как 62,5/125). Для передачи используется обычный (не лазерный) светодиод, что снижает стоимость и увеличивает срок службы приемопередатчиков по сравнению с одномодовым кабелем. Длина волны света в многомодовом кабеле равна 0,85 мкм, при этом наблюдается разброс длин волн около 30 – 50 нм. Допустимая длина кабеля составляет 2 – 5 км. Многомодовый кабель – это основной тип оптоволоконного кабеля в настоящее время, так как он дешевле и доступнее. Затухание в многомодовом кабеле больше, чем в одномодовом и составляет 5 – 20 дБ/км.
Типичная величина задержки для наиболее распространенных кабелей составляет около 4—5 нс/м, что близко к величине задержки в электрических кабелях.
Оптоволоконные кабели, как и электрические, выпускаются в исполнении plenum и non-plenum.
Средой передачи информации называются те линии связи (или каналы связи), по которым производится обмен информацией между компьютерами. В подавляющем большинстве компьютерных сетей (особенно локальных) используются проводные или кабельные каналы связи, хотя существуют и беспроводные сети, которые сейчас находят все более широкое применение, особенно в портативных компьютерах.
Информация в локальных сетях чаще всего передается в последовательном коде, то есть бит за битом. Такая передача медленнее и сложнее, чем при использовании параллельного кода. Однако надо учитывать то, что при более быстрой параллельной передаче (по нескольким кабелям одновременно) увеличивается количество соединительных кабелей в число раз, равное количеству разрядов параллельного кода (например, в 8 раз при 8-разрядном коде). Это совсем не мелочь, как может показаться на первый взгляд. При значительных расстояниях между абонентами сети стоимость кабеля вполне сравнима со стоимостью компьютеров и даже может превосходить ее. К тому же проложить один кабель (реже два разнонаправленных) гораздо проще, чем 8, 16 или 32. Значительно дешевле обойдется также поиск повреждений и ремонт кабеля.
Но это еще не все. Передача на большие расстояния при любом типе кабеля требует сложной передающей и приемной аппаратуры, так как при этом необходимо формировать мощный сигнал на передающем конце и детектировать слабый сигнал на приемном конце. При последовательной передаче для этого требуется всего один передатчик и один приемник. При параллельной же количество требуемых передатчиков и приемников возрастает пропорционально разрядности используемого параллельного кода. В связи с этим, даже если разрабатывается сеть незначительной длины (порядка десятка метров) чаще всего выбирают последовательную передачу.
К тому же при параллельной передаче чрезвычайно важно, чтобы длины отдельных кабелей были точно равны друг другу. Иначе в результате прохождения по кабелям разной длины между сигналами на приемном конце образуется временной сдвиг, который может привести к сбоям в работе или даже к полной неработоспособности сети. Например, при скорости передачи 100 Мбит/с и длительности бита 10 нс этот временной сдвиг не должен превышать 5—10 нс. Такую величину сдвига дает разница в длинах кабелей в 1—2 метра. При длине кабеля 1000 метров это составляет 0,1—0,2%.
Надо отметить, что в некоторых высокоскоростных локальных сетях все-таки используют параллельную передачу по 2—4 кабелям, что позволяет при заданной скорости передачи применять более дешевые кабели с меньшей полосой пропускания. Но допустимая длина кабелей при этом не превышает сотни метров. Примером может служить сегмент 100BASE-T4 сети Fast Ethernet.
Промышленностью выпускается огромное количество типов кабелей, например, только одна крупнейшая кабельная компания Belden предлагает более 2000 их наименований. Но все кабели можно разделить на три большие группы:
* электрические (медные) кабели на основе витых пар проводов (twisted pair), которые делятся на экранированные (shielded twisted pair, STP) и неэкранированные (unshielded twisted pair, UTP);
* электрические (медные) коаксиальные кабели (coaxial cable);
* оптоволоконные кабели (fiber optic).
Каждый тип кабеля имеет свои преимущества и недостатки, так что при выборе надо учитывать как особенности решаемой задачи, так и особенности конкретной сети, в том числе и используемую топологию.
Можно выделить следующие основные параметры кабелей, принципиально важные для использования в локальных сетях:
* Полоса пропускания кабеля (частотный диапазон сигналов, пропускаемых кабелем) и затухание сигнала в кабеле. Два этих параметра тесно связаны между собой, так как с ростом частоты сигнала растет затухание сигнала. Надо выбирать кабель, который на заданной частоте сигнала имеет приемлемое затухание. Или же надо выбирать частоту сигнала, на которой затухание еще приемлемо. Затухание измеряется в децибелах и пропорционально длине кабеля.
* Помехозащищенность кабеля и обеспечиваемая им секретность передачи информации. Эти два взаимосвязанных параметра показывают, как кабель взаимодействует с окружающей средой, то есть, как он реагирует на внешние помехи, и насколько просто прослушать информацию, передаваемую по кабелю.
* Скорость распространения сигнала по кабелю или, обратный параметр – задержка сигнала на метр длины кабеля. Этот параметр имеет принципиальное значение при выборе длины сети. Типичные величины скорости распространения сигнала – от 0,6 до 0,8 от скорости распространения света в вакууме. Соответственно типичные величины задержек – от 4 до 5 нс/м.
* Для электрических кабелей очень важна величина волнового сопротивления кабеля. Волновое сопротивление важно учитывать при согласовании кабеля для предотвращения отражения сигнала от концов кабеля. Волновое сопротивление зависит от формы и взаиморасположения проводников, от технологии изготовления и материала диэлектрика кабеля. Типичные значения волнового сопротивления – от 50 до 150 Ом.
В настоящее время действуют следующие стандарты на кабели:
* EIA/TIA 568 (Commercial Building Telecommunications Cabling Standard) – американский;
* ISO/IEC IS 11801 (Generic cabling for customer premises) – международный;
* CENELEC EN 50173 (Generic cabling systems) – европейский.
Эти стандарты описывают практически одинаковые кабельные системы, но отличаются терминологией и нормами на параметры.
Растровый графический редактор — специализированная программа, предназначенная для создания и обработки изображений. Подобные программные продукты нашли широкое применение в работе художников-иллюстраторов, при подготовке изображений к печати типографским способом или на фотобумаге, публикации в Интернете.
О растровых графических редакторах и растровой графике.
Растровый графический редактор — специализированная программа, предназначенная для создания и обработки изображений. Подобные программные продукты нашли широкое применение в работе художников-иллюстраторов, при подготовке изображений к печати типографским способом или на фотобумаге, публикации в Интернете.
Растровые графические редакторы позволяют пользователю рисовать и редактировать изображения на экране компьютера. Также сохранять их в различных растровых форматах, таких как, например, JPEG и TIFF, позволяющих сохранять растровую графику с незначительным снижением качества за счёт использования алгоритмов сжатия с потерями. PNG и GIF, поддерживающими хорошее сжатие без потерь, и BMP, также поддерживающем сжатие (RLE), но в общем случае представляющем собой несжатое «попиксельно» описание изображения.
В противоположность векторным редакторам растровые редакторы используют для представления изображений матрицу точек (bitmap). Однако, большинство современных растровых редакторов содержат векторные инструменты редактирования в качестве вспомогательных.
Наиболее известные растровые редакторы.
Adobe Photoshop — самый популярный коммерческий собственнический редактор Adobe Fireworks(также известный как FW) — растровый и векторный графический редактор для веб-дизайнеров и разработчиков, Corel Photo-Paint Corel Paint Shop Pro— растровый графический редактор, выпускаемый компанией Jasc Software с 1992 года. Позже спектр функций был расширен для работы с векторной графикой. Corel Painter— программа, предназначенная для цифровой живописи и рисунка. GIMP — самый популярный свободный бесплатный редактор
Microsoft Paint— простой растровый графический редактор компании Microsoft, входящий в состав операционной системы Windows, начиная с самых ранних версий. Microsoft Photo Editor Krita — свободный растровый редактор из пакетов KOffice и KAtelier.
Менее известные растровые редакторы.
Tux Paint — ориентирован на детей от 3-х лет.
Paint.NET— растровый графический редактор для Windows NT, разработанный для создания как обычных программ, так и веб-приложений. PhotoFiltre — компактный универсальный графический редактор для операционной системы Windows. SAI — стремительно набирающий популярность графический редактор.
[center]Растровая графика.[/center]
Растровое изображение — это файл данных или структура, представляющая собой сетку пикселей или точек цветов (на практике прямоугольную) на компьютерном мониторе, бумаге и других отображающих устройствах и материалах.
Создается растровая графика фотоаппаратами, сканерами, непосредственно в растровом редакторе, также путем экспорта из векторного редактора или в виде скриншотов.
Растровая графика позволяет создать практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому (в теории, конечно, возможно, но файл размером 1 МБ в формате BMP будет иметь размер 200 МБ в векторном формате).
Растровая графика используется сейчас практически везде: от маленьких значков до плакатов.
Высокая скорость обработки сложных изображений, если не нужно масштабирование.
Растровое изображение используют большинство устройств ввода/вывода графической информации, таких как монитор, принтер, цифровой фотоаппарат, сканер и др.
Но у растровой графике есть и недостатки. Такие как большой размер файлов с простыми изображениями, невозможность идеального масштабирования.
Из-за этих недостатков для хранения простых рисунков рекомендуют вместо даже сжатой растровой графики использовать векторную графику.
Растровые изображения обычно хранятся в сжатом виде. В зависимости от типа сжатия может быть возможно или невозможно восстановить изображение в точности таким, каким оно было до сжатия. Так же в графическом файле может храниться дополнительная информация: об авторе файла, фотокамере и её настройках, количестве точек на дюйм при печати и др.
Среди читателей, я уверен, есть такие, кто в PHP совсем не разбирается, кто только начал изучать, и такие, кто полагает, что он давно со всем разобрался и ничего нового узнать о PHP не сможет. Последние явно заблуждаются: всегда можно найти интересную задачу, которая вытащит на свет множество интересных и ранее не изученных (или плохо изученных) моментов. И тогда рытье в документации и эксперименты обеспечены.
Когда мы посещаем сайты, часто ли задумывается мы, как серверная программа помнит такие вещи, как введенный логин, какие сообщения мы еще не читали, какие товары мы положили в "корзину покупателя" и т.п.? Посетителю сайта нет необходимости знать это, а web-программисту эти знания лишними не будут.
Работает этот механизм просто, но в то же время довольно сложно.
Серверная программа запоминает переданные пользователем данные в сессии (сеансе) и достает их оттуда при следующем обращении на сервер. Но пользователей, работающих с одним сайтом, может быть несколько и для того, чтобы понять, где чья сессия, нужен какой-либо механизм идентификации. Так как же точно идентифицировать данную сессию?
Первое, что приходит на ум - использовать для этого IP-адрес компьютера пользователя. Вполне возможно, что на заре web-программирования так и делали, но с одного IP-адреса могут посылать запросы несколько пользователей. Например, если они работают через один proxy-сервер, или находятся в одной локальной сети и выходят в Интернет через NAT-шлюз, назначающий им один и тот же внешний IP-адрес. Да и за время посещения сайта адрес пользователя может поменяться (например, при восстановлении прерванного модемного соединения). Т.е., механизм этот не надежен.
Выход только один - пользователь должен сам передавать свой идентификатор, сообщенный ему сервером.
Идентификатор сессии можно передавать в строке параметров URL. Многие сайты так и делают (обычно это используется как дублирующий механизм). Но у этого метода есть большой недостаток. Если вам захочется, к примеру, послать такую ссылку другу, и он зайдет по ней на сайт, то он может внедрится в вашу сессию. Выходит, этот механизм тоже не без изъяна.
Для решения этой задачи компанией Netscape была придумана и внедрена в созданный ею браузер возможность запоминать специальные данные, переданные сервером, на компьютере пользователя. При следующем обращении на сервер браузер отсылает эти данные назад, и серверная программа идентифицирует по ним пользователя. Назвали они этот механизм Куки (cookie - печение). Позже Miscosoft реализовала Куки в InternetExpoler. Сегодня Куки поддерживаются всеми современными браузерами.
Этот механизм тоже имеет недостатки: пользователь может запретить своему браузеру работать с Куки или неправильно настроенный proxy-сервер может их удалять из запроса. Но, если не заниматься такой, извиняюсь, ерундой, механизм Куки выглядит более надежным и безопасным, чем идентификация по IP и параметрам URL.
Работу сессии PHP можно продемонстрировать на таком примере: