1) Não é normal, mas certamente não é muito incomum. Muitas redes não permitem que ninguém faça o ping da infra-estrutura, especialmente se eles atendem usuários finais não confiáveis de forma comparativa.
Um teste mais útil sobre se um host está realmente disponível é tentar executar o ping dele e, em seguida, examinar seu cache ARP para uma entrada. Para participar de uma conversa da camada 2 (que atua como seu gateway padrão em uma rede ethernet, definitivamente conta como), o host deve responder a solicitações ARP, ou você não pode falar com ele. Do seu host ubuntu, tente
arp -a -n|grep 22.254
Se você vir algo como
? (192.168.22.254) at 00:c0:f0:3b:4d:eb [ether] on eth0
está disponível e disponível, mesmo que esteja filtrando solicitações de eco ICMP (solicitações de ping). Se você chegar
? (192.168.22.253) at <incomplete> on eth0
então está realmente errado.
2) A bíblia absoluta é "TCP / IP Illustrated", de Stevens, mas não é leitura leve. No entanto, quando chegar ao final do último volume, você saberá muito! Outros podem ter recomendações para leitura mais leve.