I’m confused by 3D model structure ,

In opengl , one vertex is mapped to one normal , however , in 3d model , the polygon is constructed by index buffer ,

then the question is , if we use index buffer , some vertices will be indexed more than once obviously ;

is it correctly the normal will be indexed more than once or the normals are different in different polygons even they share the same vertices ?

if the normals are different , how could i design my buffer structure in openGL