An Overlay Architecture for Vehicular Networks