There's been alot of questions about ports/routers, dcc send/get's all this. I'll put in my two cents, I have extensive experience in this and below is what you *need* to have if you want a solid mirc/dcc machine. Other ways to do things falls inbetween this outline and for those that know how to handle it they do. For the rest of the world out there, if you don't do things this way, you'll be inbetween and lucky when it works and unlucky when it doesn't. If you can't get through this outline, you need to learn more, but once you do, it's easy to setup, take down, rebuild all this.
1. You must be able to set your router and machine up on a private network addressing scheme on the lan side of your router.
2. You must have a static ip on your machine and know how to have one so it works w/the local network you defined at your router.
3. You must turn off DHCP on your router and forward ports to the specific ip of your machine.
4. When you port forward, choose ports on your firewall ABOVE 5000. Give yourself a range of 10 say. -One per connection, open each to tcp/udp.
5. Match these ports specified on the router in mirc for dcc ports.
6. Do not use internet connection sharing if you have a router, you shouldn't have been using this once you got your router, if you do, it will only cause trouble.
7. Once your machine has a defined ip and you've handled the requirements there, the port forwarding on your router will pass both dcc sends and gets.
8. If your router won't let you do something- send or get, but only one, and you can't work it out, get a different router like a linksys.
9. By end once you get things setup this way it will work forever because it makes technical sense, and is the way it's 'supposed' to be setup.
For worries about speed- speed is only based on how fast the host is and one's limit on incoming data speed. Seeing one 'thing' faster than other when properly setup right, has nothing to do with mirc, dcc, or anything else. Even if it's 'looked' like this, in the end it's host speed- network congestion- physical distance from that host, etc.
For 'virus's'. Once you open ports and you do this ABOVE 1024-5000, general port scans won't find you, but any that do, this can happen with any other open port, you can't avoid this, and it's life in open ports. People that stay away from opening any ports are not helping themselves like they think. They might not punch an open hole in the firewall for this fear, but nor are they dcc'ing like they'd like to. Plus, these open ports pointing to mirc, it's only mirc responding to the port calls, so for advanced networking and hacking- somebody must have a reason to hit you, otherwise they're working on getting into a bank instead. Any virus one gets from irc, you could get the same unless you shut down completely dcc, but that's not what this thread is about. To stay away from open ports in trying to protect yourself doesn't make a whole lot of sense in the way things actually work.
DMZ- Do NOT put your machine in a DMZ simply to dcc. DMZ is to open a machine COMPLETELY to the internet connection. If you do, u just told your router to let that one specified machine work WITHOUT the routers firewall. Now you have to run a software firewall on your machine. If you can't get to getting your machine with a static ip, port forwarding and use DMZ instead, you're worse off than you started.
For the rest, this basic list of 'how' to do things is 'how' to do things. Tweaks to individual steps and criticism is already covered and answered in a static ip/router port forwarding scenario. In the end, if 'your' situation 'works' for both sends and gets, then you've accounted for everything presented here, or other. If forever you want to dcc dead-on, this is what you do. If someone can't handle all this, you need to learn more than you do, or get away with things in a haphazard way- whichever. Where others have other config's that 'work,' if done this way, it's the way things are 'supposed' to be. One site out there helps with a bunch of different router port forwarding help- www.portforward.com
For networking knowledge, you need to know about private addressing, acceptable subnet settings, specifying dns and what those addresses are at your machine (and or router), and your good to go.