Статус нашего сайта: |
ICQ Information Center |
ICQ SHOP 5-значные 6-значные 7-значные 8-значные 9-значные Rippers List ОПЛАТА СТАТЬИ СЕКРЕТЫ HELP CENTER OWNED LIST РОЗЫСК!New! ICQ РЕЛИЗЫ Протоколы ICQ LOL ;-) Настройка компьютера Аватарки Смайлики СОФТ Mail Checkers Bruteforces ICQTeam Soft 8thWonder Soft Other Progs ICQ Patches Miranda ICQ ФорумАрхив! ВАШ АККАУНТ ICQ LiveJournal
РекламаНаш канал:irc.icqinfo.ru |
Таненбаум Э.- Архитектура компьютера. стр.4455. Определение целевой сети. В IP-пакетах содержится 32-разрядный адрес получателя. Однако невозможно (и нежелательно) использовать для поиска получателя каждого пакета целую таблицу из 232 записей. Поэтому левая часть адреса обычно содержит адрес сети, а правая указывает на отдельную машину в этой сети. Длина адреса сети не фиксирована, поэтому его определение — задача нетривиальная, причем ее еще больше усложняет тот факт, что допустимы несколько вариантов, из которых правильным считается самый длинный. На этом шаге часто применяется специализированная интегральная схема. 6. Поиск маршрута. После определения адреса целевой сети по таблице, хранящейся в памяти SRAM, выясняется, по какой из исходящих линий отправить пакет. Опять же, на этом шаге может применяться специализированная интегральная схема. 7. Разбивка и сборка. Приложения часто максимально увеличивают полезную нагрузку (данные) TCP-пакетов, стараясь сократить количество системных вызовов, но и у TCP, и у IP, и у Ethernet есть ограничения на максимальный размер пакета. Как следствие этих ограничений, может потребоваться разбивать пакеты (и, соответственно, полезную нагрузку) на части перед отправкой и собирать их снова на приемной стороне. Эти функции может выполнять сетевой процессор. 8. Вычисления. Иногда требуется производить над данными те или иные сложные вычисления, например, выполнять компрессию и декомпрессию, кодирование и декодирование. Эти действия можно переложить на сетевой процессор. 9. Управление заголовками. Иногда приходится добавлять или удалять заголовки, а также менять значения тех или иных полей. Например, в 1Р-заголовке есть счетчик числа хопов, которые пакет еще может пройти перед самоуничтожением. После прохождения каждого хопа значение счетчика необходимо уменьшать на 1, и эту функцию вполне может выполнять сетевой процессор. 10. Управление очередями. Входящим и исходящим пакетам часто приходится становиться в очередь в ожидании обработки. Но для мультимедийных приложений во избежание джиттера необходимо, чтобы задержки между пакетами не превышали определенного значения. Кроме того, брандмауэру или маршрутизатору может потребоваться перераспределять входную нагрузку между несколькими выходными линиями по определенным правилам. Все эти задачи могут решаться сетевым процессором. 11. Генерирование контрольных сумм. В исходящих пакетах должны быть контрольные суммы. Контрольная сумма 1Р-пакетов может вычисляться сетевым процессором, в то время как контрольная сумма ЕЛетег^-пакетов в общем случае генерируется аппаратно. 12. Учет. В некоторых случаях необходимо подсчитывать трафик при прохождении пакетов, особенно если одна из сетей в качестве коммерческой услуги предлагает транзит трафика. Учетом может заниматься сетевой процессор. 13. Сбор статистики. Многие компании хотели бы иметь статистику трафика, и сетевые процессоры могут собирать эти сведения. Повышение производительности Производительность — это самая главная характеристика сетевых процессоров. Что можно сделать для ее повышения? Прежде чем ответить на этот вопрос, необходимо определить, что это такое. Одной из метрик является количество пакетов, передаваемых в секунду, другой — количество байтов, предаваемых в секунду. Эти метрики предполагают разные подходы, и схема, хорошо работающая с маленькими пакетами, может плохо справляться с большими. В частности, при передаче маленьких пакетов заметно повысить производительность можно путем ускорения процесса поиска целевого адреса в таблице, в то же время при передаче больших пакетов заметного повышения производительности это не даст. |