Skip to main content
SUPERVISOR
Hossein Saidi,MasoudReza Hashemi
حسین سعیدی (استاد راهنما) مسعودرضا هاشمی (استاد راهنما)
 
STUDENT
Mohammad Reza Hosseini
محمدرضا حسینی

FACULTY - DEPARTMENT

دانشکده مهندسی برق و کامپیوتر
DEGREE
Master of Science (MSc)
YEAR
1389
Packet classification is a key operation in computer networks. Every packet that enters a node is classified based on the rules which are defined in that node. As a result the corresponding action of the rule that is matched with the packet will be applied on it. These rules are defined on the header fields of IP packet. Packet classification is used in many applications such as routers, firewalls and many applications that are related to network security or quality of service. Due to the growth of computer networks and the increasing amount of transferred data, it is necessary that classification is done with appropriate speed and efficient memory usage. Update time is another property which is also important in some applications. Although many of the methods that are purposed for packet classification until now have an efficient search time, but most of them do not support fast updates of the rules. Packet classification algorithms are divided into four major classes. Algorithms that use exhaustive search, decision tree based algorithms, decomposition based algorithms and algorithms that use tuple space search. Among these four classes, decision tree based algorithms are used more than others because of using efficient tree search algorithms. Decomposition based algorithms are able to use parallel processing because they convert a multi field packet classification problem to many single field packet classification problems, thus the single field searches can be done in parallel. In the final stage, all the results of single field searches are merged in order to find final results. Different approaches have been introduced to solve packet classification problem. One of the most famous approaches is to convert the packet classification problem to a computational geometry problem such that the problem can be solved using computational geometry algorithms. Each packet classification rule is equal to a hyper rectangle in a multi-dimensional space where the number of dimensions is equal to the number of header fields which the rules are defined on them. Based on this approach, in this thesis, the geometric representation of the packet classification problem is considered. Many computational geometry problems which are similar to the packet classification are reviewed and the stabbing query problem, which is the most similar one dimensional problem to packet classification, is selected. Finally some new algorithms are introduced, based on the solutions for stabbing query problem such as interval tree and interval skip list data structures. In these algorithms we have concentrated on efficient update speed and the ability to use parallel processing. Using the characteristics of the packet classification rule sets we showed that applying the purposed algorithms on two fields could be enough and classification on other fields can be done using linear search, as the number of remaining rules after a two-field packet classification is very small. The purposed methods are evaluated and compared against Parallel Bit Vector and HiCuts algorithms. Experimental results showed that these methods have both acceptable search time and memory usage, while support fast updates of the rules as well.
امروزه یکی از اعمال مهمی که در گره‌های شبکه‌های کامپوتری انجام می‌گیرد دسته‌بندی بسته‌ها است. در این عمل هر بسته‌ی ورودی به گره، بر اساس قوانینی که در آن گره تعریف شده‌اند، دسته‌بندی می‌گردد و در نتیجه عمل متناظر با قانونی که بسته‌ی ورودی با آن تطابق داشته است،‌ روی بسته‌ انجام می‌گیرد. این قوانین بر اساس فیلد‌های سرآیند بسته تعریف می‌شوند. در بسیاری از کاربرد‌ها نظیر امنیت و کیفیت سرویس بسته‌ها مورد دسته‌بندی قرار می‌گیرند. با توجه به گسترش شبکه‌های کامپیوتری و افزایش روز افزون حجم اطلاعاتی که در شبکه‌های کامپیوتری مبادله می‌گردد لازم است روش‌های دسته‌بندی از سرعت کافی برخوردار بوده و نیز حافظه‌ی مصرفی را مدیریت نمایند. زمان به‌روز رسانی قوانین نیز ویژگی مهم دیگری است که در برخی از کاربردها مورد توجه است. بسیاری از روش‌هایی که تاکنون برای دسته‌بندی بسته‌ها بپیشنهاد شده‌اند، علی‌رغم این‌که از سرعت مناسبی برای انجام دسته‌بندی برخوردار هستند، اما از به‌روز رسانی سریع قوانین پشتیبانی نمی‌کنند. رویکرد‌های مختلفی تاکنون برای حل مسأله‌ی دسته‌بندی بسته‌ها پیشنهاد شده است. یکی از شناخته شده ترین رویکرد‌ها تبدیل مسأله‌ی دسته‌بندی بسته‌ها به یک مسأله‌ی هندسه‌ی محاسباتی است در نتیجه می‌توان با استفاده از روش‌های موجود در هندسه‌ی محاسباتی این مسأله را حل نمود. در این تبدیل هر قانون معادل با یک ابر مستطیل در فضای چند بعدی در نظر گرفته می‌شود که تعداد ابعاد این فضا برابر با تعداد فیلد‌هایی است که قانون بر اساس آن‌ها تعریف می‌گردد. در این پایان نامه با استفاده از این رویکرد، معادل هندسی مسأله‌ی دسته‌بندی بسته‌ها در نظر گرفته شده است. سپس با بررسی انواع مسائل هندسی مشابه با دسته‌بندی بسته‌ها، مسأله‌ی یافتن نقاط شامل یک بازه که شبیه‌ترین مسأله در حالت یک بعدی به مسأله‌ی دسته‌بندی بسته‌ها می‌باشد، انتخاب شده است. در نهایت سعی شده است تا با به کارگیری راه‌ حل‌های موجود برای این مسأله، از قبیل روش‌های درخت بازه‌ها و لیست پرشی بازه‌ها، الگوریتم‌هایی برای انجام دسته‌بندی پیشنهاد گردد. در الگوریتم‌های پیشنهادی دو ویژگی مد نظر بوده است. یکی امکان به‌روز رسانی سریع قوانین و دیگری قابلیت استفاده از پردازش موازی. ارزیابی روش‌های پیشنهادی و مقایسه‌ی آن‌ها با الگوریتم‌های بردار‌های بیتی موازی و HiCuts کارآمدی ‌آن‌ها را تأیید می‌نمایند. کلمات کلیدی : دسته‌بندی بسته‌ها، کنترل ترافیک، درخت بازه‌ها، لیست پرشی بازه‌ها

ارتقاء امنیت وب با وف بومی