初級ネット→ダウソ板→ここ
と誘導されてきたので、質問します。

デジカメで撮ったクラス写真などをネット上の友達に配るために、いろいろと
方法を考えています。数百メガ単位を頻繁に送ることになるので、メールは使えません。
IRCは操作が苦手なメンバーもいるために断念しました。
最初に考えた方法は、MSNメッセンジャーに皆を登録させて、
ファイル送信をする方法でしたが、どうやらプライベートIPしか振られていない団地在住の
友達のみファイルを送ることができませんでした。
次に危険ですが、WinMXを使ってメンバーにのみわかるファイル名で配信したところ、
皆がファイルを受け取ることができました。
これは良いのですが、やはり第三者が落とせる環境にアップしておくことは
避けたいのです。
そこで、質問なのですが、
1.MSNメッセンジャーを使ってファイルのやりとりをする場合、
  送り手(プライベートIP)→送り手(グローバルIP)のファイル送信は不可能なのに、
  送り手(グローバルIP)→受け手(プライベートIP)のファイル送信が可能だった理由を教えてください。
  ネット初級板ではどちらも不可能なはずと回答されたのが本当なのか、気になっております。

2.プライベートIPしか持っていない友人の場合、
  MSNメッセンジャーではファイル受信ができなかったのに、WinMXでポート0の設定にした場合は
  ファイルが受け取れた理由を教えてください。受信者のIPをサーバに教えなくても、
  受信クライアントを識別できるような独自の仕組みがあるのでしょうか。

3.プライベートIPしか持っていない友人の場合、その団地全体をまとめているルータの設定さえ変えることができれば、
  IPマスカレードなどの技術によって、送り手(グローバルIP)→受け手(プライベートIPのみ)のやりとりも可能となるのでしょうか。

ダウソ板では、そのあたりの内部の技術までは答えていただけませんでした。
1つずつの回答でも結構ですので、お助け願います。