Qual é a diferença entre OSPF e RIP?

Qual é a diferença entre OSPF e RIP? Alguém poderia explicar as vantagens e desvantagens? Também quando devo usar um ou