如题,QQ 发送消息应该是 UDP 为主?那么 QQ 的服务器是不是:
还是
还是其他的解决方案?甚至可靠私密的网络就不应该用 UDP ?只有视频等流媒体方便用?
1
DevNet 2018-02-24 10:13:18 +08:00
QQ 是 udp8000 吧?我猜身份认证通过应用层实现,使用 udp 仅仅是因为它快,可靠保证也只需要从应用层实现,四层不需要关注
|
2
liudanking 2018-02-24 14:32:31 +08:00 via iPhone
同意一楼。qq 用 udp 实现了一个可靠传输的流协议,应用层是感知不到下层是 udp 还是 tcp 的。因此按照应用层的方案做认证设计即可。
|
3
msg7086 2018-02-24 15:26:13 +08:00
UDP 是网络层,应用在应用层,都不能放在一起谈的……
TCP 和 UDP 有多大区别……只要下层解决了组包问题,上层就都一样了。至于组包,TCP 也会丢包,也会有外来包,一个是 TCP 协议自己过滤,一个是自己写协议过滤,工作量一样,服务器端任务怎么会变重呢。 |
4
mejee OP @DevNet
@liudanking @msg7086 感谢回答,我疑惑的不是应用层来保证 UDP 的送达的可靠性,而是服务器需不需要判断收到的每个 UDP 包是由客户端发送的,而不是网络管理员或者局域网的人冒充真实的客户端发的?还是有什么类似 TLS 的加密技术? |
5
msg7086 2018-02-26 04:21:55 +08:00
@mejee 我对底层了解不多,直觉上 UDP 本身应该挺难判断的,需要上层去解决。但是工作量和下层用 TCP 解决是差不多的,编号,校验,等等这些,区别就是内核做还是程序做。
TLS 又是在这之上的技术了,一般是 TLS over TCP/UDP 这样。 |
6
HillW 2018-02-26 20:05:30 +08:00
楼主是不是上次在阿里休息区问我同样问题的那个人
|
7
HillW 2018-02-26 20:06:31 +08:00
是上次给你解释的没弄明白吗
|