The Internet of thing (IoT) is a growing concept for smart cities, and it is compulsory to communicate data between different networks and devices. In the IoT, communication should be rapid with less delay and overhead. For this purpose, flooding is used for reliable data communication in a smart cities concept but at the cost of higher overhead, energy consumption and packet drop etc. This paper aims to increase the efficiency in term of overhead and reliability in term of delay by using multicasting and unicasting instead of flooding during packet forwarding in a smart city using the IoT concept. In this paper, multicasting and unicasting is used for IoT in smart cities within a receiver-initiated mesh-based topology to disseminate the data to the cluster head. Smart cities networks are divided into cluster head, and each cluster head or core node will be responsible for transferring data to the desired receiver. This protocol is a novel approach according to the best of our knowledge, and it proves to be very useful due to its efficiency and reliability in smart cities concept because IoT is a collection of devices and having a similar interest for transmission of data. The results are implemented in Network simulator 2 (NS-2). The result shows that the proposed protocol shows performance in overhead, throughput, packet drop, delay and energy consumption as compared to benchmark schemes.