Use --max-rate to keep your NAT router in check.
Lets say you want to scan 10.0.0.0/8 but you don't want your NAT router to die because of how fast nmap sends out packets. [1]
One way to deal with this is with -T [0-5] or -T paranoid, sneaky, polite, normal, aggressive, and insane.
Contrary to the nmap docs [2], that is waaay too confusing because I don't really know what nmap is doing when I specify -T. Unless, of course, I look at nmap's source, which I don't have the time or skillset for.
Using --max-rate limits the number of packets your computer sends out, which stops my NAT router from sending more than n packets. Here's an example:
nmap --max-rate 50 -p 80 10.0.0.0/8
This will check all IPs in 10.0.0.0/8 for an open TCP port 80, making sure to send no more than 50 packets a second.
[0] This is not going to become a regular thing.
[1] My NAT router has limited memory (8MB) and I'm going to replace it with a shitbox, 2 NICs, and a switch soon.
[2] "While the fine-grained timing controls... section are powerful and effective, some people find them confusing... Nmap offers a simpler approach, with six timing templates. You can specify them with the -T option and their number (0–5) or their name."