Linq / Lambda OrderBy delegado para a lista <string> de endereços IP

DadoList<string> ips = new List<string>();

Preciso classificar a lista de endereços IP em uma ordem lógica (ou seja, "192.168.0.2" vem antes de "192.168.0.100").

Atualmente (e corretamente, em ordem alfabética) se a lista contiver:

192.168.0.1
192.168.0.2
192.168.0.10
192.168.0.200

ips.OrderBy(p => p) retorna:

192.168.0.1
192.168.0.10
192.168.0.2
192.168.0.200

questionAnswers(6)

yourAnswerToTheQuestion