In the process of Internet evolution, the transition from IPv4 to IPv6 has become inevitable and fairly urgent. Internet Assigned Numbers Authority has finally exhausted the global IPv4 address space, which leaves the community no choice but pushes forward the IPv6 transition process. IPv4 and IPv6 networks both will exist during the transition period, while the two are not compatible in nature. Therefore it is indispensable to maintain the availability, as well as to provide the inter-communication ability of IPv4 and IPv6. Years ago a series of transition techniques were actually proposed. However, because of their technical immatureness, they failed to cover the solution space well. Some of these techniques were even obsoleted by IETF due to their flaws. This paper reconsiders the basic problems and key difficulties in IPv4-IPv6 transition, and introduces the principles of tunneling and translation techniques. Then the paper surveys the mainstream tunneling and translation mechanisms raises since 1998.