1) Let's start with street.
The word comes from the Latin 'strata' and it means a public way that is paved with slabs of stone (strata/stratum).
(Latin strata via = paved way)
So it would mean a public road in a city, town or village, probably with houses or other buildings on either side. Possibly with a pavement for pedestrians, but not necessarily.
2) A road is a path or way that has a specially prepared surface and is used primarily by vehicles, although pedestrians can also walk on a road.
3) A lane is a narrow, often rural, way. It may be just a path, perhaps even a rough 'unmade' way between fields, or trees, beaten flat by frequent public usage. Or it can be a narrow street or a narrow road.
These are the Old English meanings of lane, street and road, and, in many cases, these words are still used in this way today to describe and demarcate between different types of public ways.
However, the distinction between them has become somewhat blurred with the passage of time and the growth of towns and cities.