TL;DR: In this article, a method for performing route distribution on network data based on a Hash algorithm is presented. But the method comprises a network data packet processing flow, which consists of the following steps that: an external application system transmits network data packets to an interface specified by a router; the router executes MurmurHash processing according to a specified data segment after acquiring the network data data packets in order to obtain a unique Hash result.
Abstract: The invention discloses a method for performing route distribution on network data based on a Hash algorithm. The method comprises a network data packet processing flow. The network data packet processing flow comprises the following steps that: an external application system transmits network data packets to an interface specified by a router; the router executes MurmurHash processing according to a specified data segment after acquiring the network data packets in order to obtain a unique Hash result; the router simulates ring processing according to the Hash result in order to obtain a server ring ID; and the router forwards the network data packets to corresponding servers according to the obtained server ID.
TL;DR: 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.
Abstract: 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.