We studied that the beauty of internet protocol suite layers is that each layer is responsible for a piece of the communication process. These layers provide services to adjacent layers and operate independently (theoretically), so upper layers are not (should not be) affected by lower layers details.
However, when it comes to MTU/MSS I'm a bit confused.
The theoretical maximum size of an IP packet is 65535 bytes, however in order to avoid fragmentation, packets are sent with size less than MTU. In this case a L3 field (IP packet size) is dependent on L1/L2 field (MTU).
The same applies to MSS (a L4 field) which is actually derived from the MTU.
The fact that some characteristics of upper layers strongly depend on lower layers details, does this violate the protocol layers indenpendence in some way?