Мониторинг пакетов НТТР-трафика. Демультиплексирование пакетов

Любой стандартный канал в Internet Обычно передает трафик в интересах нескольких TCP-соединений. Монитор должен иметь эффективный снособ связывания каждого пакета с соответствующим TCP-соединением. Однако монитор пакетов не является источником или конечной точкой ТСР-соединения и может не видеть все пакеты, передаваемые между двумя хостами. Вместо этого монитор должен подразумевать наличие ТСР-соединения, исходя из информации в заголовках IP- и TCP-пакета. ТСР-соединение идентифицируется по IP-адресам и номерам портов источника и получателя. Монитор может груннировать пакеты, имеющие одни и те же IP-адреса и номера портов источника и получателя. Для того чтобы различить такую группу пакетов от соответствующего ТСР-соединеиия, мы будем называть гругшу пакетов потоком. Пакеты с портом назначения 80 являются составной частью потока запросов от Web-клиента, а пакеты с портом 80 источника составляют часть потока ответов к Web-клиенту.

Чтобы демультиплексировать пакеты, монитор может использовать хэш-таблицу потоков, как показано на рис. 14.3. Предполагая, что Web-сервер использует порт 80, монитор может воспользоваться ключом, представляющим собой сцепление трех полей: IP-адреса клиента, IP-адреса сервера и номера порта клиента. Каждая запись в хэш-таблице соответствует двум потокам: потоку запросов и потоку ответов. Поступающий пакет ассоциируется с ключом и направлением на основе IP-адресов и померов нортов. В зависимости от своего местоположения монитор может не видеть все пакеты и из потока запросов, и из потока ответов. Если монитор располагается непосредственно перед компьютером клиента или сервером, отслеживаются все пакеты, передаваемые но сети между двумя Компьютерами. Это может быть не так для каналов на пути между клиентом и сервером. IP-маршрутизация не гарантирует, что все пакеты между одним и гем же источником и получателем проходят по одному пути, а трафик от клиента к серверу может не проходить но тем же каналам, по которым он идет от сервера к клиенту.

Рис. 14.3. Хэш-таблица для демультиплексирования пакетов на потоки

Следовательно, нельзя полагаться на то, что монитор сможет увидеть все пакеты, передаваемые между двумя Компьютерами. На деле, если даже каждый пакет проходит но каналу, монитор может потерять некоторые из пакетов при высокой нагрузке. Необходимо эффективное проектирование монитора пакетов, чтобы избежать потерь пакетов вследствие недостатка оперативной памяти или дискового пространства. С этой целью монитор может присваивать наивысший приоритет не- рехвату и фильтрации иакегов. Другим задачам,.таким как демультиплексирование пакетов на потоки, может быть присвоен более низкий приоритет. Например, монитор может копировать пакеты в память или на диск после их захвата и фильтрации, а второй, менее приоритетный процесс, может выполнять остальные задачи. Для дальнейшего повышения эффективности программное обеспечение, выполняющая эти задачи, но мере возможности должно избегать чтения или копирования содержимого IP-пакетов. Пакеты демультиплексируются только на основе данных из заголовков IP и TCP, 110 не на основе содержимого пакетов. Доступ к остальной части пакета может быть отложен до следующего этапа либо вообще не осуществляться, о чем пойдет речь пиже.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100