但要如何讓 PeerB 知道 PeerA 連過來但失敗的 IP 與 Port,最一般的做法就是有一個會面伺服器 (Rendezvous Server),可能的流程如下:
1. PeerA 在伺服器上主動地找到 PeerB 的 IP 與 Port ,並嘗試連一次,但一定失敗。不過這次
PeerA的NAT上已經有個洞了。
2. 伺服器通知 PeerB:PeerA 要跟PeerB 連線,並且把 PeerA 連出的 IP 與 Port 帶給 PeerB。
3. PeerB 知道 PeerA 上NAT的洞之後,就能連到PeerA了。
1. PeerA 在伺服器上主動地找到 PeerB 的 IP 與 Port ,並嘗試連一次,但一定失敗。不過這次
PeerA的NAT上已經有個洞了。
2. 伺服器通知 PeerB:PeerA 要跟PeerB 連線,並且把 PeerA 連出的 IP 與 Port 帶給 PeerB。
3. PeerB 知道 PeerA 上NAT的洞之後,就能連到PeerA了。
使用 UDP 的原因就是 UDP 是不可靠連線,因此 NAT上面會保留這個紀錄一段時間,可能幾秒到幾小時都有可能。這是我目前的認知,在此做個紀錄,但如有錯誤還請不吝指教。