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...
Main Authors: | , , , |
---|---|
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 |