The US is sending about 1,000 more troops to the Middle East amid tensions over a series of attacks on oil tankers and with the country's nuclear agreement on the brink of collapse.

Patrick Shanahan, Acting US Defence Secretary, announced the deployment on Monday, explaining the move was for "defensive purposes," citing concerns about a threat from Iran.

The US has accused Iran of attacking six oil ships in the Gulf of Oman over the last month. Iran denies responsibility.

"The recent Iranian attacks validate the reliable, credible intelligence we have received on hostile behaviour by Iranian forces and their proxy groups that threaten United States personnel and interests across the region," Mr Shanahan said in a statement.

The series of mysterious attacks on oil tankers have been blamed by the US on Iranian-laid limpet mines. The Pentagon on Monday released new photos intended to bolster its case that Iran was responsible for the attacks.