-time positions, velocity, and desired driving lane information among AVs within the same platoon, cooperative based safety driving patterns can be designed to help AVs to cross the intersection without traffic lights safely in \cite{li2006cooperative}. However, how to help AVs and manually driving vehicles to cross intersections safely remains to be unsolved. In such scenarios, manually driving vehicles have to be controlled by drivers, resulting in human factors, and therefore, challenging the cooperative driving.  Thus, designing an efficient and suitable communication scheme, i.e., scheduling which kind of information should be shared by which vehicle, to achieve efficient cooperative driving is desired for some scenarios such as intersections.


In HDVNETs, AVs and manually driving vehicles have different information requirements both in message types and QoS requirements, which result in complex message structure. In \cite{Liu2017-infrastructure}, a novel beacon scheduling algorithm has been proposed to guarantee the reliable and timely dissemination of two types of beacon messages in HDVNETs, i.e., event-driven safety messages for manually driving vehicles and periodic beacon messages for cooperative driving of AVs. However, in most HDVNETs scenarios, message types are more complex than the one that has been considered in \cite{Liu2017-infrastructure}. For example, when a special infotainment service (e.g, video) is required for vehicles in platoon-based HDVNETs, event-driven safety messages, periodic messages, and video information need to be shared to guarantee the string stability of platoon while ensuring the QoS requirement of this infotainment service. Hence, different efficient message dissemination schemes are required for different HDVNETs scenarios.


\subsection{Security Issue}
\label{subsec:SI}

In addition to the security issue discussed in Subsection \ref{subsec:HS} for MDVNETs \cite{lu2012dynamic}, there are more security related concerns need to be considered when cooperative driving is considered in ADVNETs and HDVNETs. Since the final driving decisions in cooperative driving are made based on the shared information, security attacks either on the communication channel or sensor tampering significantly impact the safety driving \cite{amoozadeh2015security}. Thus, how to protect communications from message falsification, message eavesdropping, radio jamming, and tampering attacks is important to cooperative driving. However, the algorithms used for current wireless communication security may not work well for ADVNETs and HDVNETs since lower latency is required by communications in cooperative driving. In order to reduce the end-to-end delay while guaranteeing the information security, group authenticated algorithms can be considered, especially for communications among vehicles within the same platoon or convoy, as well as for vertical handoff in heterogeneous ADVNETs and HDVNETs. Moreover, for cluster-based MDVNETs and platoon/convoy-based ADVNETs, performing efficient mutual authentication in the formation stage of cluster/platoon/convoy and when a new vehicle is applying to join them, can reduce the impacts of authentication on information sharing in each cluster/platoon/convoy.


\subsection{Other Issues}
\label{subsec:OIs}

There are some other issues that should be considered in MDVNETs, ADVNETs, and HDVNETs. Firstly, mmWave and VLC communication technologies have been considered to support vehicular networks \cite{choi2016millimeter, segata2016platooning, yoo2016demonstration}. However, how to address the potential issues caused by high mobility and harsh weather conditions still needs further investigation and test. Moreover, in heterogeneous vehicular networks with one of or both of mmWave and VLC communication technologies, designing criterion for network selection between mmWave/VLC and other wireless communication technologies is not an easy work. Secondly, to achieve efficient cooperative driving, communication information management and cooperative control should be considered globally in ADVNETs and HDVNETs, which results in complicated allocation issue among storage and computing resources of each vehicle.


\section{Conclusions}
\label{sec:Conclu}

In this paper, we have provided a comprehensive survey in vehicular communications from the network layer perspective, including communications in MDVNETs and ADVNETs. In addition to providing infotainment services to passengers, MDVNETs can be used to improve the traffic safety for manually driving vehicles. ADVNETs are expected to support cooperative driving to further improve driving safety. Advantages and disadvantages of different communication technologies that can be applied in these two types of vehicular networks have been analyzed. Due to the high mobility and complicated communication environments, challenges confronted with vehicular communications are different when used to support different applications. Recent research works addressing these challenges have been discussed, including routing protocols for exchanging different messages, efficient handoff strategies to benefit the users or networks, and suitable communication structures according to the applied traffic management strategies. We have further identified several main under-explored issues in MDVNETs, ADVNETs, and HDVNETs, and provided potential solutions that can be considered.

\bibliographystyle{IEEEtran}

\section{Introduction}
\label{sec:Intro}

In the last decade, vehicular communications have attracted tremendous interest from both academia and industry. We have provided a comprehensive survey on vehicular communications from the perspective of the physical layer in \cite{liang2017vehicular}. Via enabling vehicles to exchange information with other vehicles (i.e., vehicle-to-vehicle, V2V), pedestrians (i.e., vehicle-to-pedestrian, V2P), and infrastructures (i.e., vehicle-to-infrastructure,
V2I), vehicular communications are expected to support a variety of applications, including intelligent transportation and safety applications \cite{sichitiu2008inter, ma2012design}. However, due to the high mobility and complicated communications environments, it is very challenging to provide efficient vehicular communications to satisfy the different requirements, especially, higher reliability and lower latency for sharing safety-related information.

Manually driving vehicular networks (MDVNETs), referring to communications among vehicles with only manually driving patterns, are one of the main applications of vehicular communications and have been widely considered in the existing works \cite{azees2016comprehensive}. MDVNETs can help manually driving vehicles to improve the traffic safety and provide infotainment services to drivers and passengers \cite{ma2012design}.

Owing to the advances in sensor technologies, wireless communications, computational power, and intelligent control, a new driving pattern, named automated driving, is gradually applied in vehicles, and then autonomous vehicles (AVs) are generated and begin to be test-driven on the roads. According to a report from the National Highway Safety Administration (NHTSA) \cite{national2013preliminary}, passenger vehicles can be classified into five distinct levels of autonomy, as shown in Table \ref{table:levels}. Manually driving vehicles mentioned in this paper refer to the vehicles with level 0 autonomy while AVs refer to vehicles with level 4 autonomy. It is expected that no human actions or interventions are required for an AV that can automatically navigate a variety of environments, other than setting the destination and starting the system. That is, people can be relieved from the stress of driving \cite{koopman2017autonomous, blyth2016expanding}. Moreover, AVs have been indicated as a good solution to many traffic related issues, such as traffic accidents, traffic congestion, exhaust pollution, and fossil fuels overusing. Current vision of AVs promises a future where increased safety, velocity, convenience, and comfort are offered while energy consumption is reduced \cite{blyth2016expanding}.

\begin{table}[htbp]
\begin{center}
\setlength{\belowcaptionskip}{5pt}
\caption{\label{table:levels} Five distinct autonomy levels of passenger vehicles}
\centering
\renewcommand\arraystretch{1.8}
\begin{tabu} to 1 \textwidth{X[0.2,l]||X[0.8,l]}
   \toprule
    Autonomy levels & Description \\
    \midrule
    0 - No automation & The primary vehicle controls, such as throttling, braking, and steering, are completely handled by the driver at all times. \\
    1 - Function specific automation & The primary vehicle controls are mainly handed by the driver while one or more specific control functions, such as electronic stability control, are involved to help control the vehicle.\\
    2 - Combined function automation & Two or more primary control functions are involved to help control the vehicle to relieve the driver of controlling of those functions. Adaptive cruise control in combination with lane centering is one of examples of combined functions. \\
    3 - Limited self-driving automation & All safety-critical functions are automated under certain traffic environments while the vehicle should monitor the environment to transit back to driver control. \\
    4 - Full self-driving automation & All safety-critical driving functions and monitor roadway conditions for an entire trip are performed by the vehicle and drivers only need to provide destination or navigation input. \\
    \bottomrule
\end{tabu}
\end{center}
\end{table}

Despite the above attractive advantages of AVs, how to ensure the autonomous driving system to be safe enough to leave humans' actions and interventions completely presents significant challenges. Being ``safe" means at least the AVs can correctly execute vehicle-level behaviors, such as obeying traffic regulations and dealing with road and roadside hazards \cite{hobert2015