I. Introduction
Internet of Vehicles (IoV) is one of the emerging technologies of recent times which comprises of a large number of connected vehicles. Such vehicles, equipped with computing and transmitting capabilities, are capable of intelligent processing and control of various smart applications to provide a better quality of experience [1]. However, the data generated by these vehicles moving in a smart city has escalated to a higher level. Such an increase in the data traffic associated with the IoV-based applications has elevated the challenges of underlying network architecture. Although, the evolution of Internet has led to the creation of a digital society, where almost everything is connected and is accessible from anywhere. But, despite of the widespread adoption, traditional IP networks are complex and difficult to manage in IoV environment. In traditional networks, there are hardware devices (such as routers, switches, etc.) are vertically integrated where the control plane (that decides how to handle network traffic) and the data plane (that forwards traffic according to the decisions made by the control plane) are bundled together, thus reducing flexibility [2], [3]. Therefore, in IoV environment, it is difficult to configure each network device separately, and then reconfigure it to respond to faults, and load variations. Moreover, the rate of change in configuration has created a huge amount of complexity in administering these network devices. A network administrator has to connect to each device to change the configuration, which generates a lot of overhead.