Seminarium: Systemy Rozproszone
5 maja 2022 12:15, sala 4070, transmisja online
Michał Niciejewski, Michał Chojnowski



Klasyfikacja pakietów, czyli jak działa filtracja w firewallu



W problemie klasyfikacji pakietów dana jest lista reguł składających się z kilku pól. Każde pole określa przedziały wartości fragmentów pakietu. Najczęściej spotyka się pięć pól - protokół (dowolny albo ustalony, np. UDP), source i destination IP (przedział opisany przez adres i maskę), oraz source i destination port (dowolny przedział portów). W zapytaniu dostajemy pakiet i chcemy znaleźć pierwszą regułę pasującą do podanego pakietu na wszystkich polach.

Klasyfikacja pakietów jest najczęściej spotykana przy filtracji wykonywanej przez firewalle i przetwarzaniu Access Control List. Reguły mają wtedy przypisaną akcję, np. accept lub deny. Dla każdego pakietu przechodzącego przez firewall znajdujemy odpowiednią regułę i wykonujemy przypisaną akcję. Ponieważ lista reguł może być długa, a ruch duży, ważne jest, żeby wyszukiwanie reguł było efektywne.

Okazuje się, że mimo prostego opisu, efektywne rozwiązanie problemu nie jest takie łatwe. Podczas seminarium opowiem więcej o klasyfikacji pakietów i przedstawię algorytmy, które są używane do rozwiązania problemu.

Zapraszam,
Michał Niciejewski



Bibliografia:





Top-down Microarchitecture Analysis, Intel Processor Trace.



Na seminarium chciałbym opowiedzieć o kilku narzędziach do profilowania programów, które uważam za słabo znane ogółowi programistów, a szeroko przydatne. W szczególności o Top-down Microarchitecture Analysis Method (TMAM) i Intel Processor Trace (PT).

O ile wiele narzędzi profilowania ma zastosowanie wyłącznie w analizie wydajności (wliczając TMAM, które jest systematyczną metodą badania wykorzystania potoku procesora), to PT (sprzętowo wspierany tracing CPU) jest narzędziem o dużym potencjale również w debugowaniu i studiowaniu programów, zwłaszcza po pojawieniu się PTWRITE i PEBS-via-PT w najnowszych procesorach Intela.

Zapraszam,
Michał Chojnowski



Bibliografia: