09/04/08 21:45:33
>>754
パケットが二つにコピーされてる時点で、それは「転送」ではないんだがw
TCPの通信っていうのは、相手を指定して行ってるわけだ。
今回の例でいけば、相手側はルータの8800ポートと通信してると思ってる
そこに、複数の端末(PC1とPC2)から応答がきたら、通信がおかしくなる
っていうのをまず理解してくれ。
で、ポートフォワードっていうのは、たとえばルータの8800ポートを指定してる通信を
宛先をPC1に書きかえてあたかも違う機械に向けたか通信のように見せかける
PC1はアドレスが自分あてにかきかえら絵れるので、当然通常の自分あての通信と同じように通信しようとする
だが、相手からみればルータの8800ポートと通信してるんだ
宛先アドレスを書きかえてるんであって、パケットをコピーしたり宛先を追加したりはしてない
だからポートフォワードで転送先が二つなんてありえない
現時点での技術では不可能なんじゃなくて、
原理的におかしくて、やると通信できなくなるからやらないだけ
ルータの本来の仕事は、あくまで、パケットを転送することなんだ
実際には、複数のマシンを一つのマシンに見せかける仕組みが存在する
それは、ルータよりもより上位の階層での動作を行うのが普通
一般にはロードバランサなどと呼ばれる
単にパケットのコピーを違う端末にも届けたいというなら、
そういう仕組みも存在する
それは、ルータよりも下位の階層で動作するのが普通
ポートミラーリングできるインテリジェントHUBとか言われるもの
(スイッチングじゃないただのHUBも全端末にパケット届くがw)
ただし、これはあくまでパケットが届くだけで、アドレス書きかえたりしない
受け取った機械は、自分宛じゃないパケットには応答したりしない