IPv4 has the DSCP (formerly ToS) field, and IPv6 has the Traffic Class field. Those are just fields in the IP headers. IP itself does not have any QoS. QoS is implemented by network devices, often based on those fields in the IP headers. The fields are to facilitate QoS, but QoS in not part of IP.
For example, a VoIP phone could mark its packets as EF
(Expedited Forwarding). The network routers could then be configured with QoS and priority queues for traffic marked EF
, but the routers may not have such a configuration, so even though the IP packets are marked, there is no QoS.
You define the QoS on your network to have the policies that you want. You could even place EF
packets in a low-priority queue if you want. Everyone has a different view of how QoS should be implemented, and that is why QoS doesn't work over the public Internet.