Increasing numbers of physical IoT devices to the internet generates huge amount of data, further need to communicate to the preferred locality. Today, IoT has become an integral part of the people's regular routine. Process, store and communicate the sensory data to the distant cloud center causes to be network congestion, high latency and power consumption. It couldn't provide real time data analysis in critical scenarios like e-healthcare, military, smart traffic system etc. also. Using fog computing (FC) between cloud layer and end user devices is a way for empowering the IoT devices and provide real time feedback. It's not a substitute for cloud, just enables data processing tasks at the edge of network. An offloading mechanism is used in FC to improve the lifetime of power constraints IoT devices. In this paper, we first facilitate a brief explanation about FC, its common framework, characteristics and challenges. Then a comprehensive survey of existing offloading algorithms of FC is provided with their scope and benefits.