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.