• 全部
  • 问答

很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?

笑天居士 2005-03-02 10:12:21
很多人讨论过,QQ传文件是用TCP的,而TCP又是不能穿透NAT的,那么为何现版本的QQ可以互相传送文件呢(两人位于NAT后)?
...全文
704 点赞 收藏 26
写回复
26 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
BraveHeart2222 2005-03-31
ding
回复
stevens2009 2005-03-30
m
回复
chinaseen 2005-03-29
刚才又进行一次,在一个VLAN内两台电脑进行文件传输,发现用的是TCP直连,并非是UDP协议.我们初步推测这样做是为了稳定性考虑的,因为分组发生了丢失,则可以用TCP协议可以进行重传.有点类似FTP进行大量数据传送.如果用UDP进行传送,发生了数据报丢失,则会造成严重的不稳定性.
回复
h0 2005-03-29
本人拙见:
1、不管是TCP还是UDP,他们都是属于传输层。
2、TCP是面向连接的可靠传输,而UDP则是非连接的不可靠传输。
3、传输层协议在我们日常编程的过程中一般与Socket对应,许多高级语
言在此基础上还做了进一步封装。
4、在TCP/UDP编程中,必须指明对方的IP和端口号。
5、QQ中既用了TCP,也用了UDP!在处理NAT时,对于每一个内部IP,在请求时,都在会QQ服务器
中留下一个有效的外部IP+Port!这个外部IP就是那个内网的服务器IP,而端口号则映射子网中
的某一台机器。QQ服务器就通过那个IP来找到双方所在的服务器,再通过端口号来定位相应子
网的计算机,从而实现双方通信的。
回复
chinaseen 2005-03-29
我们今天用ethereal抓包工具对使用QQ的情况进行了监控.所处的网络是可与外网相连的校园局域网.如果是与属于局域网的QQ通信的话就不经过QQ服务器直接通信,否则就要经过QQ服务器转发数据.但发现QQ都涉及了TCP和UDP两种协议.
回复
RUDP
回复
qrlvls 2005-03-28
http://midcom-p2p.sourceforge.net/
回复
qrlvls 2005-03-28
http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
回复
qrlvls 2005-03-28
其实使用RawSocket也是可以实现的,只是比UDP稍复杂一点而已
回复
eradium 2005-03-28
使用udp传文件的时候,肯定是要在上层的应用层协议里面使用类似tcp的东西来保证数据的完整性的(可以直接使用tcp over udp,也可以用其他自定义的协议)。
qq传文件和视频都是tcp和udp都可以使用的。从qq的提示信息可以看到有tcp中转,udp中转,udp直连三种方式。tcp直连除非是能在nat上开固定的端口映射(或者使用uPnp之类的自动开指定的端口映射),否则靠双发同时发起连接是不可能的(这个概率可能比彗星撞地球的概率还少)。
回复
Juchiyufei 2005-03-28
学习ing
回复
starcbh 2005-03-07
tcp同步打开可以做,就是双方同时发出三方握手的seq----sqe-ack包……!!

其实和udp差不多
回复
fuju 2005-03-07
楼上的是不是开发 qq 的啊~~~
学习ing....
回复
Daydreamnet 2005-03-07
是tcp和udp同时使用的。当tcp可以连接时是用tcp,当位于不同的NAT后面时是通过应用层用udp仿照tcp的模式进行运作,所以相对速度会慢。当是会员时才会实现服务器中转(顺便利用这个来显示一下会员优势吧。)楼上说的tcp同步打开的方法成功率是很低的,虽然说是存在可能性。而在应用层实现udp的序列发送则是完全可能的,不过对网络协议的功力要求相当的深。
回复
barice 2005-03-07
在应用层用UDP来模拟TCP ??
可以提供參考文件嗎?謝謝..
回复
bys_home 2005-03-06
同意楼上的说法!
回复
thanksu 2005-03-03
QQ传文件是UDP的
不知道穿透NAT是什么意思
——————————————————————
私网穿越
回复
arrowcy 2005-03-03
如果双方都在NAT之后的话,要通过服务器中转的
回复
bbcharm 2005-03-03
TCP 应该是转发的吧
回复
zhengda1936 2005-03-03
在应用层用UDP来模拟TCP应该还是做得到的吧。
回复
相关推荐
发帖
通信技术
创建于2007-08-27

4038

社区成员

通信技术相关讨论
申请成为版主
帖子事件
创建了帖子
2005-03-02 10:12
社区公告
暂无公告