Category Archives: Network Programming

Network Programming

TCP/IP For Dummies

This is basically a bump of a post from 10 years ago that came in handy again today. It’s worth remembering:

The TCP/IP Guide is a free (donations welcome) online text covering TCP/IP in depth. A thorough, easy-to-read reference to the TCP/IP protocol suite and miscellaneous internetworking topics. For those who’ve always wanted (or sometimes need) to know the details of TCP adaptive retransmission, or how BGP actually works.

Network Applications of Bloom Filters

“A Bloom filter is a simple space-efficient randomized data-structure for representing a set in order to support membership queries.” The survey paper Network Applications of Bloom Filters is a great technical overview of what they are and what you might want to use them for. Examples include distributed caching, distributed hash tables (DHTs), resource routing, more efficient multicast, and traffic measurement. For a quickstart, see this helpful tutorial on using Bloom filters in place of lookup hashes in Perl. The author also describes how Bloom filters may be applied in social software systems to allow people to share information about their networks without revealing who their friends are to the world or to a central authority.