Ukrainian President Volodymyr Zelensky has urged Canada to "do more" to protect his country from Russia in an address to a joint session of Canada's parliament.

Mr Zelensky received a lengthy standing ovation from parliamentarians in Ottawa and cheers of "glory to Ukraine".

The president thanked Canada for its continued support but renewed a plea for a no-fly zone over his country.

His speech follows fresh Canadian sanctions on Russian officials.

Speaking virtually from Ukraine to a packed crowd in the House of Commons to members of parliament, senators and dignitaries on Tuesday, Mr Zelensky thanked Canada - a "steadfast supporter" - for ongoing military and humanitarian assistance being offered to Ukraine.

But he called on them to do more, asking again for a no-fly zone to be imposed over Ukraine.

Invoking Canadian cities and landmarks - Vancouver, Edmonton, the CN Tower in Toronto - Mr Zelensky asked the assembled to imagine bombs dropping in Canada.

"I would like you to understand and I would like you to feel this," he said. "How many more cruise missiles have to fall on our cities until you make this [no-fly zone] happen?"

Canada and its Nato counterparts have refused to enforce a no-fly zone, saying it could pull the military alliance into a direct war with Russia.

Just hours before Mr Zelensky's morning address, Canada announced new penalties on 15 of Russian President Vladimir Putin's allies, follow nearly 500 sanctions from the Canadian government targeting individuals and companies from Russia, Ukraine, and Belarus since the invasion into Ukraine began on 24 February.