Cristiano Ronaldo was sent off as Troy Parrott fired the Republic of Ireland to a 2-0 victory over Portugal which set up a World Cup qualifier showdown with Hungary.