UDP打洞(对于TCP)的优势
公司需要用到p2p,在打洞这个问题上,Leader倾向于使用可靠的udp。udp的优势在于效率,使用可靠的udp我觉得还不如使用tcp来得方便。Leader的解释是udp打洞的成功率要高一些。我找不出来udp成功率高的理由。
请问各位大大,udp打洞的成功率确实要高些吗。
[解决办法]
没具体了解过TCP打洞,帮顶。
个人感觉udp打洞的技术比TCP出现的早,不论在软件的技术实现上,还是硬件路由的协议支持上应该优于TCP打洞。
[解决办法]
UDP比TCP容易打洞啊。
UDP协议简单。无连接的,不用握手,就一个包一个包发。
TCP协议面向连接,发数据包之前要握手建立连接。
而且握手包需要操作系统的TCP协议层自己才能发,你使用TCP的应用程序自己没办法发。
而UDP包,应用程序可以任意发。
这样,普通的打洞,只要双方分别发一个UDP包给对方就打通了。
而TCP做不到。双方握手发SYN,都被对方的NAT丢掉,操作系统因为SYN被丢掉所以不会发SYN_ACK,而应用程序又没办法发SYN_ACK。导致没办法继续去打通。
[解决办法]
UDP高一些
不过,最初开源软件,如BT,使用的都是TCP,国内很多软件估计是抄来的,所以在文件下载这部分还是TCP用的多。
视频直播方面UDP用的多。不过,有时RTSP的内网问题,同时也支持TCP。