Статус нашего сайта: |
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 |
Таненбаум Э.- Архитектура компьютера. стр.444Помимо РРЕ-контроллеров, у всех сетевых процессоров имеется управляющий процессор для выполнения всех действий, не относящихся напрямую к обработке пакетов (например, обновление таблиц маршрутизации). Обычно он представляет собой RISC-процессор общего назначения, память для данных и команд которого находится на одном кристалле с процессором. Более того, в сетевом процессоре может быть несколько специализированных процессоров, предназначенных для выполнения критически важных операций. Они представляют собой очень маленькие специализированные интегральные схемы (ASIC), способные выполнять только одно несложное действие, такое как поиск целевого адреса в таблице маршрутизации. Все компоненты сетевого процессора взаимодействуют друг с другом на мультигигабитных скоростях по одной или нескольким расположенным на кристалле параллельным шинам. Обработка пакетов Независимо от того, имеет сетевой процессор конвейерную или параллельную организацию, каждый прибывший пакет проходит несколько этапов обработки. У некоторых процессоров эти этапы разделяются на входную (ingress processing) и выходную обработку (egress processing). К первой группе относятся операции с пакетами, пришедшими извне (через сетевую линию или системную шину), а ко второй — с пакетами перед их отправкой. Таким образом, каждый пакет подвергается сначала входной обработке, а затем выходной. Это разделение достаточно условно, так как некоторые операции можно производить на любом из этапов (например, сбор сведений о трафике). Мы рассмотрим эти этапы в том порядке, в котором они могли бы выполняться, но имейте в виду, что выполнять их нужно не для всех пакетов, кроме того, возможна другая последовательность действий. 1. Проверка контрольной суммы. Если входящий пакет прибывает из сети Ethernet, его контрольная сумма (CRC-код) пересчитывается и сравнивается со значением, имеющемся в пакете, чтобы убедиться, что пакет принят без ошибок. Если оба значения оказываются равными или поле CRC в Ethernet-пакете отсутствует, вычисляется контрольная сумма IP-пакета и сравнивается со значением в пакете. Это позволяет убедиться, что IP-пакет не был поврежден по вине сбойного бита в памяти отправителя после того, как отправителем была посчитана контрольная сумма для IP-пакета. Если все проверки пройдены, пакет передается для дальнейшей обработки, в противном случае он просто отбрасывается. 2. Извлечение значений полей. Путем анализа определяется положение нужного заголовка, и из пакета извлекаются значения соответствующих этому заголовку ключевых полей. В Ethernet-коммутаторе исследуется только Ethernet-заголовок, в IP-маршрутизаторе — только IP-заголовок. Значения ключевых полей сохраняются либо в регистрах (при параллельной организации РРЕ-контроллеров), либо в SRAM (при конвейерной организации). 3. Классификация пакетов. Пакеты классифицируются в соответствии с рядом программных правил. В простейшем случае пакеты данных отделяются от управляющих пакетов, но обычно разделение гораздо более тонкое. 4. Выбор пути. У большинства сетевых процессоров имеется особый быстрый путь, оптимизированный для передачи всего многообразия пакетов данных, в то время как остальные пакеты обрабатываются по-своему, обычно управляющим процессором. Соответственно, должен быть выбран либо быстрый путь, либо один из медленных путей. |