I know that classes aren't used now, but I have a question about the whole concept. Why would it be needed for classes that define a network and a host part to be created? The whole IP address could define a certain host (though not randomly). For example take the ip address 22.214.171.124 . In order to track that host down, you would be searching from the first octet down to the last, ruling out 255 octet numbers each time. For example it could be said that that particular host belongs to the network 145.90.218, which is part of the network 145.90 which is part of the 145 network. Networks could be defined according to geographical locations. For example networks 1 to 10 belong to the US, 11 to 21 are located in Europe and so on. That way there is no waste of the IP address range. Why is there a need to have fixed network or host parts of the IP address? Using the above method you could be tracking down a host by detecting an ever decreasing (in size) network that the host belongs to. And there was no network or host part used or classes.