こんばんは。UDP Hole punching についてお教え下さい。

1.TCP でこの処理を行えないという点がよく分かりません。
「TCP は非対称だから」という事なのですが。接続の方向のことでしょうか?

2.UDPで UDP Hole punching を行った後は TCP で接続できるのでしょうか?


ちなみに、間違っているかも知れませんが 私は UDP Hole punching を以下のよう
に理解しています。

別々のNAT内に Ha, Hb がありルーターをそれぞれ Ra, Rb とする。
インターネット上に Hc がある。

1.Ha, Hb ともに Hc に接続 Hc は Ha, Hb のグローバルアドレスを記録する。
2.Ha は Hc から Hb のグローバルアドレスを取得し接続する。
  この時、Rb が conn NAT でなければ越えられないが、Ra には Hb との変換レ
  コードが記録される。
  この時点で、Hb から Ha に接続できる。
3.同様に Hb が Ha に接続( punching )する。