вівторок, 1 березня 2011 р.

Гранулярный захват трафика на маршрутизаторах Cisco


В мультисервисных сетях, например, у операторов мобильной свзязи значительную роль играет анализ сигнального трафика.

Самым простым и распостранённым способом является технология Port Mirroring на сетевом оборудовании на анализатор трафика, в качестве которого одним из лучших решенией является *NIX-host с установленным Wireshark .

Одной из задач оперативной диагностики во время установки GPRS сессии (поднятие PDP Context в мобильной терминологии) является анализ протокола GTP , что даёт значительно больше информации, чем журнальные файлы или диагностика на устройствах GSN (GPRS Support Nodes).

Зачастую, интерфесы ядра мобильной сети состоят из двух логических - сигнальный трафик (Control Plane) и трафик полезной нагрузки (User Plane). То есть, на сетевом оборудовании можно использовать средства виртуализации на 2-м уровне (VLAN) либо на 3-м (VRF).

Однако, GTP протокол использует разделение на 4-м уровне.
GTP исползует в качестве транспорта протокол UDP.

Сигнальная состовляющая (GTP-C, GTP Control) использует порт 2123, а полезная нагрузка (GTP-U, GTP User Data) использует порт 2152. Здесь и далее речь идёт о протоколе GTP версии 1 (GTPv1).

Выделить на оборудовании Cisco трафик 4-го уровня средствами SPAN технически невозможно.

Однако, есть малоизвестная, хотя, и задокументированная возможность в оборудовании Cisco. Данная функциональность поддерживается в сериях коммутаторов Catalyst 6500, маршрутизаторвах 7600 серии и выше (далее - платформа).

В данном класе оборудование поддерживается VACL . В отличии от acl для протокола IP в VACL кроме возможности пересылки (FORWARD) трафика, есть дополнительная опция захвата (CAPTURE).

Наже приведён пример захвата GTP-C трафика.

В первую очередь необходимо создать access-list для интересующего нас трафика.

!
ip access-list extended GTPC
deny udp any any fragments
permit udp any any eq 2123
!

deny udp any any fragments - необходимое правило для "отлова" 2го фрагмета пакета.
permit udp any any eq 2123 - под это правило попадает GTP-C трафик


Так же, необходим access-list, определяющий весь трафик.

!
ip access-list extended ALL_TRAFIC
permit ip any any
!

Далее, небходимо создать vlan access-map , которая определяет судьбу трафика, попавшего под шаблон.

!
vlan access-map SPAN_GPTC_FILTER 10
match ip address GTPC
action forward capture
!
vlan access-map SPAN_GPTC_FILTER 20
match ip address ALL_TRAFIC
action forward
!

action forward capture - помимо пересылки трафика, попавшего под шаблон, производится его захват.

Применение карты доступа к VLAN осуществляется коммандой vlan filter

!
vlan filter SPAN_GPTC_FILTER vlan-list 201,202
!

Последним шагом является конфигурация портов, на которые будет направляться захваченный трафик. Порт должен быть обязательно переведен в режим L2 (комманда switchport) и его режим должен быть установлен в catpture.

!
interface GigabitEthernet1/10
description VACL Capturing
switchport
switchport capture
end
!

И весь трафик, попавший под шаблон захвата, будет перенаправлен на все порты платформы, сконфигурированных в данном режиме.

К сожалению, существуют ограничения данного решения:
  • невозможно таким образом захыватывать трафик Internal VLAN
  • смешивание всего захваченного трафика без возможности разделения по сессиям.
В качестве положительного момента можно ометить, что, как утверждает Cisco, данный метод использует аппаратные возможности платформы и его использование не оказывает негативного влияния на производительность платформы.



За основу взят материал:

Немає коментарів:

Дописати коментар