For some scenarios you need to enable communication over two or more different voltage levels. For example, if you want to use an ATmega168/328 or Arduino running @ 16MHz/5V as an i2c-slave with a RaspberryPi running @ 3V3 you need to shift/translate/isolate intercommunication levels between both devices. (Remember that RaspberryPi only runs 3V3 logic levels and a higher voltage may destroy the board.)
A solution for this scenario is an i2c-level-shifter or i2c-bridge. Such parts are available as ready-to-use IC's, eg.: Philips AN97055 or Philips PCA9515. Sadly they aren't available as DIP/DIL for an easier protoyping-usage, but since they just consists of some MOSFETs you can realize the circut by yourself.
I've created and tested a simple circuit as shown below. You can also download it as a fritzing-prototype from my github-repository. For creating the circuit i've used 4x BS170 N-Channel MOSFETs and 4x 10kΩ pull-up resistors. You need just about 5 minutes and 1-2€ to finish the circuit.
(Note: Before you start using it ensure that your circuit is fine and check the voltages on SDA/SCL lines with a voltmeter!)