A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup

Prefix caching is one of the notable techniques in enhancing the IP address lookup performance which is crucial in packet forwarding. A cached prefix can match a range of IP addresses, so prefix caching leads to a higher cache hit ratio than IP address caching. However, prefix caching has an issue t...

Full description

Bibliographic Details
Main Authors: Junghwan Kim, Myeong-Cheol Ko, Moon Sun Shin, Jinsoo Kim
Format: Article
Language:English
Published: MDPI AG 2020-10-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/10/20/7198
id doaj-3d12c802d33442eea08fe18b5b5ea5cc
record_format Article
spelling doaj-3d12c802d33442eea08fe18b5b5ea5cc2020-11-25T04:01:58ZengMDPI AGApplied Sciences2076-34172020-10-01107198719810.3390/app10207198A Novel Prefix Cache with Two-Level Bloom Filters in IP Address LookupJunghwan Kim0Myeong-Cheol Ko1Moon Sun Shin2Jinsoo Kim3Department of Software Technology, Konkuk University, Chungcheongbuk-do 27478, KoreaDepartment of Software Technology, Konkuk University, Chungcheongbuk-do 27478, KoreaDepartment of Software Technology, Konkuk University, Chungcheongbuk-do 27478, KoreaDepartment of Software Technology, Konkuk University, Chungcheongbuk-do 27478, KoreaPrefix caching is one of the notable techniques in enhancing the IP address lookup performance which is crucial in packet forwarding. A cached prefix can match a range of IP addresses, so prefix caching leads to a higher cache hit ratio than IP address caching. However, prefix caching has an issue to be resolved. When a prefix is matched in a cache, the prefix cannot be the result without assuring that there is no longer descendant prefix of the matching prefix which is not cached yet. This is due to the aspect of the IP address lookup seeking to find the longest matching prefix. Some prefix expansion techniques avoid the problem, but the expanded prefixes occupy more entries as well as cover a smaller range of IP addresses. This paper proposes a novel prefix caching scheme in which the original prefix can be cached without expansion. In this scheme, for each prefix, a Bloom filter is constructed to be used for testing if there is any matchable descendant. The false positive ratio of a Bloom filter generally grows as the number of elements contained in the filter increases. We devise an elaborate two-level Bloom filter scheme which adjusts the filter size at each level, to reduce the false positive ratio, according to the number of contained elements. The experimental result shows that the proposed scheme achieves a very low cache miss ratio without increasing the number of prefixes. In addition, most of the filter assertions are negative, which means the proposed prefix cache effectively hits the matching prefix using the filter.https://www.mdpi.com/2076-3417/10/20/7198prefix cachingtwo-level Bloom filterprefix expansionIP address lookupInternet router
collection DOAJ
language English
format Article
sources DOAJ
author Junghwan Kim
Myeong-Cheol Ko
Moon Sun Shin
Jinsoo Kim
spellingShingle Junghwan Kim
Myeong-Cheol Ko
Moon Sun Shin
Jinsoo Kim
A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
Applied Sciences
prefix caching
two-level Bloom filter
prefix expansion
IP address lookup
Internet router
author_facet Junghwan Kim
Myeong-Cheol Ko
Moon Sun Shin
Jinsoo Kim
author_sort Junghwan Kim
title A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
title_short A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
title_full A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
title_fullStr A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
title_full_unstemmed A Novel Prefix Cache with Two-Level Bloom Filters in IP Address Lookup
title_sort novel prefix cache with two-level bloom filters in ip address lookup
publisher MDPI AG
series Applied Sciences
issn 2076-3417
publishDate 2020-10-01
description Prefix caching is one of the notable techniques in enhancing the IP address lookup performance which is crucial in packet forwarding. A cached prefix can match a range of IP addresses, so prefix caching leads to a higher cache hit ratio than IP address caching. However, prefix caching has an issue to be resolved. When a prefix is matched in a cache, the prefix cannot be the result without assuring that there is no longer descendant prefix of the matching prefix which is not cached yet. This is due to the aspect of the IP address lookup seeking to find the longest matching prefix. Some prefix expansion techniques avoid the problem, but the expanded prefixes occupy more entries as well as cover a smaller range of IP addresses. This paper proposes a novel prefix caching scheme in which the original prefix can be cached without expansion. In this scheme, for each prefix, a Bloom filter is constructed to be used for testing if there is any matchable descendant. The false positive ratio of a Bloom filter generally grows as the number of elements contained in the filter increases. We devise an elaborate two-level Bloom filter scheme which adjusts the filter size at each level, to reduce the false positive ratio, according to the number of contained elements. The experimental result shows that the proposed scheme achieves a very low cache miss ratio without increasing the number of prefixes. In addition, most of the filter assertions are negative, which means the proposed prefix cache effectively hits the matching prefix using the filter.
topic prefix caching
two-level Bloom filter
prefix expansion
IP address lookup
Internet router
url https://www.mdpi.com/2076-3417/10/20/7198
work_keys_str_mv AT junghwankim anovelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT myeongcheolko anovelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT moonsunshin anovelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT jinsookim anovelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT junghwankim novelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT myeongcheolko novelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT moonsunshin novelprefixcachewithtwolevelbloomfiltersinipaddresslookup
AT jinsookim novelprefixcachewithtwolevelbloomfiltersinipaddresslookup
_version_ 1724444976808460288