From Strategypage:
Since the Islamic Revolution of the 1980s, Iran has had two navies. One is the actual Navy and the other is the naval wing of the Revolutionary Guard. The Navy has three submarines, about 20 frigates and large patrol boats, plus some amphibious warfare and mine warfare vessels, and a lot of small, fast attack craft. The Revolutionary Guard, on the other hand, has hundreds (some estimates suggest thousands) of small fast attack craft, all under 20-meters and lightly armed.
Apparently the purpose of the Navy is to conduct conventional operations against local navies in the Persian Gulf-Gulf of Oman area. In the event of a clash with the U.S., the Navy would rapidly become irrelevant under American air attack. But the smaller vessels of the Revolutionary Guard, dispersed on the country's long coastline and among the many islands offshore, would attempt to conduct "guerrilla" operations against American warships, using hit and run and swarm attacks. The attackers would certainly take very heavy casualties. But any damage to American warships, and particularly a carrier or large amphib, would have a tremendous propaganda effect, which is probably what the Iranian leadership is really looking for.
With so many enemy assets, it will simply take time to kill all of them and until we do they can get lucky and do some damage. If we go after Iran, it would be prudent to go back to our pre-Desert Storm assumption that high value aircraft carriers should not operate in the Gulf.
I wonder if fuel-air explosives work at sea against massed small boats trying to swarm a target?