OK, this depends on the usage. I will explain my setup at work, maby it will help.
Lets focus on the 2 servers in question, Windows server and Openfiler (I have used FreeNAS, but I really like Openfiler, it is not the easiest to set up, but works very well).
The windows server has 2 x 1 GIG network cards, and the Openfiler has 4 X 1 GIG cards.
The 1 port on the win server is plugged directly into the network, and the 2nd port goes to one of the ports on the Openfiler box.
The openfiler is set up with 3 of the cards bonded and plugged into the switch and the 1 card (where the win server is plugged into) is used as a iSCSI target, mounted on the Windows server.
The 3 card bonding on the network is very nice and fast, but relies on the switch being able to do this, I have a ZyXEL GS-2024, it's link aggregation works nicely.
So in essence you have a 1 gig link between the server and the Openfiler box, that I use to backup the windows server iSCSI, and there is 3 GIG bandwidth available for all the network client into the Openfiler server.
With Openfiler you can join it to your domain. It will read all the users and create a share for each user automatically.
I have done this and mounted a home directory on the Openfiler server.
What makes it easy is that you don't have to create a new share for each user, the system will do it for you.
Openfiler is not as well documented as FreeNAS, but once you get the hang of it it works great.
Just a little note about link aggregation, if you plan on doing it try and use the same cards, as I have had some crashes when using diffrent manufacturers, and they must all run at the same speed.