MTU-TCP/IP协议栈-linux kernel-TCP丢包重传-UDP高性能-AI-

Posted rsapaper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MTU-TCP/IP协议栈-linux kernel-TCP丢包重传-UDP高性能-AI-相关的知识,希望对你有一定的参考价值。

http://view.inews.qq.com/a/20161025A0766200
窄带时代的QQ

QQ是窄带时代极具代表性的产品,在那个网络传输效率比较低的年代,大家还记得Google的首页吗?Google的那个简洁页面,为什么如此简洁?

Google诞生于1998年,也是身处窄带时代,你会发现它的首页字节大小是小于1024的,为什么要小于1024字节,因为以太网的MTU(也就是最大传输单元)是1024,Google为了让用户在一个网络包中传输完成,所以它把页面大小降到了1024以下。这是一种极致传输的表现。

QQ的背后也同样蕴藏着诸多类似的极致追求,早期的QQ客户端安装包是几十k大小,这是为了让用户更快下载,更方便使用。

QQ的传输通信是修改了底层TCP/IP协议栈的,这个技术非常难,因为需要改linux kernel,之所以这样是因为QQ希望传输协议既具备TCP的丢包重传能力,又要具备UDP的高性能,这样QQ可以在保证传输信息的同时又可以维护更多的用户网络连接,在那个年代QQ的单位后台处理能力可能是其他同类产品的10倍以上。

什么是AI?

AI是研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术。AI包括:计算机视觉、语音识别、自然语音处理等类似人类的感知、认知智能。

当下很多人认为AI就是机器学习,或者说是深度学习。这是很狭义的。

机器学习是AI的核心算法。确切的讲AI和机器学习的关系是这样的:AI = A->f(x)->B,机器学习是人类智能行为的一种拟合函数。

目前的AI总体来讲还是一个非常初级的阶段,虽然我们在某些“感知”智能上有些突破。

比如我们在计算机视觉上的人脸识别能力,语音识别上的速记能力等垂直领域已经接近或者超过人的平均智能水平。但是这些相对于一个人的综合智能来讲还非常狭窄,本质上我觉得还是算法本身还需要更高维的突破,而不是简单的演进。

比如我们针对视觉的AlexNet到VGG再到现在的ResNet,每次算法的演进还只是停留在更深的神经网络,更复杂的神经网络连接的设计上,通过这样复杂的神经网络学习更多的样本特征来更好的拟合人脑的“感知”。

再比如“认知”智能的自然语言处理,但是面对这种语言序列问题,尽管我们的神经网络从早期的RNN演进到LSTM,再到现在的Attention Model,但至今为止机器还无法完全胜任这种复杂计算。


























以上是关于MTU-TCP/IP协议栈-linux kernel-TCP丢包重传-UDP高性能-AI-的主要内容,如果未能解决你的问题,请参考以下文章

理解 Linux 网络栈 (Linux networking stack):Linux 网络协议栈简单总结

为什么我们使用Linux内核的(网络)协议栈?

Linux Kernel TCP/IP Stack — Overview

Linux Kernel TCP/IP Stack — Overview

用户态协议栈 三部曲 uio,数据帧,协议栈|linux服务器开发

Linux操作系统原理—内核网络协议栈