At least 40 migrants have died after reportedly getting trapped and suffocating in the water-logged hold of a fishing boat in the Mediterranean, the Italian navy says.

The victims are thought to have suffocated after inhaling fumes from fuel after the boat took on water in the hold, the captain of the navy ship leading the rescue said on Italian state television.

Commander Massimo Tozzi, speaking from the ship, said when his men boarded the migrant boat they found the dead in the hold "immersed in water, fuel and human excrement".

Migrants who have arrived in Italy say human traffickers based in lawless Libya charge them between $1,600 and $2,450 for a place on the deck of boats.

Those crammed in the hold pay about half as much as those above.

Admiral Pierpaolo Libuffo, head of Italy's rescue operations, told Italian television 312 survivors were taken on board, including 45 women and 3 children.

He said seven bodies of the dead were brought aboard the navy ship and some 30 others were still in the hold.

The boat was being towed to the Italian island of Lampedusa.

Video provided by the navy showed the blue migrant boat, which appeared to be about 20 metres long and made of wood, was still afloat when rescuers arrived.

"Either the international community does something to resolve the Libyan situation or this will not be the last tragedy," interior minister Angelino Alfano said.

It was the second such fatal incident in the Mediterranean this week, during which about 2,000 migrants were rescued.

Last Tuesday, up to 50 migrants went missing when a large rubber dinghy sank in the Mediterranean.

Around 200 migrants were presumed killed earlier this month off the coast of Libya when their boat capsized

The Mediterranean has become the world's most deadly crossing point for migrants.

More than 2,300 people fleeing war and poverty have died this year in attempts to reach Europe by boat, compared with 3,279 deaths during the whole of last year, the International Organisation for Migration said.

The Geneva-based organisation said the number of migrants who crossed the Mediterranean so far this year was approaching a quarter of a million, compared with 219,000 for all of last year.

More than 100,000 have arrived in Italy so far this year, Mr Alfano said.

Reuters