I understand the general sense of the ISO model but it's my understanding that the Data from the Application layer which is usually large would get split into many TCP packets. The same thing would happen on the Data Link Layer which would split the IP packets from Layer 3 into Frames. Look at this image.
My question is how do the Layer 3 Network and Layer 5 Data (TCP/IP) know when they have all the data from the lower layer.
If that's not clear what I mean is if I have an HTTP request; that would get split up into many TCP (layer 4) packets. somewhere some computer will receive these TCP packets but how do I know if these are enough packets for me to view the entire HTTP request. does Layer 4 just append packets continuously and it's up to Layer 5 to look at the data it has and determine if that is a complete HTTP request. does the HTTP request have information inside it that says that this is the end of the HTTP request.
This also applies the Layer 3. since the IP packets are split into frames; does the Network layer (3) have a way to determine after receiving some ethernet frames that it has a full TCP packet.
I'm trying to understand whether the layer 3's (lower layer) frames themselves have a way of saying this is the end of a full IP packet or if the ethernet frames just keep appending and It's up to Layer 3 (higher layer) to say that this is a complete IP packet, same for layer 4 & 5.