Hardware-based hash functions for network applications

2013 
For rich network services, it is indispensable to reconstruct TCP stream in the middle of the network. In this reconstruction function, managing a large number of streams is a crucial as an embedded hardware for achieving high-throughput processing. In this case, hashing is a well-used solution as an ID key of TCP streams. Since CRC hashes have simple tree structure of XOR logics and are perfectly composed of combination logics, they can easily be hardware implemented and enables low-latency calculation of the hash values. Therefore, CRC hash has been used in network applications where low-latency and high speed operations are necessary. Some of their usages include data identification, load balancing, encryption, and checksum. Although CRC hashes may be well suited for hardware implementation, it is not the top choice when collision rates and distribution of hash values are considered. For some network workloads, CRC hashing shows very uneven distribution of hash values and can lead to decrease in the overall performance of network systems. In this study, two hashes, Jenkins hash and MurmurHash, are implemented on a FPGA as TCP connection manager and evaluated for their aptitude for hashing used in hardware-based network applications.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    13
    References
    27
    Citations
    NaN
    KQI
    []