IPv4/IPv6中有Unicast, multicast, anycast甚至broadcast技术。现在,随着云计算和数据中心的发展,又来了一个叫incast的技术。
Incast(又称TCP incast,因为是TCP协议的事情)是many-to-one的通信模式,因为云计算应用导致这种技术主要是TCP协议方式的。Incast技术主要发生在云计算数据中心,尤其是那些以scale out方式实现的分布式存储和计算应用,包括hadoop, Mapreduce, HDFS等。
这种情况发生在,当一个父服务器向一组节点(服务器集群或存储集群)发起一个请求时,集群中的节点都会同时收到该请求,并且几乎同时做出响应,很多节点同时向一台机器(父服务器)发送TCP数据流,从而产生了一个“微突发流”。
TCP incast也用于incast通信模式导致网络拥塞带来的负面影响,比如导致父服务器出端口缓冲区溢出。
有研究将解决思路大致划分为三类:1)增加交换机的缓冲区,但据称每端口上的1MB缓冲大约5000$;2)以太网交换机做流量控制,但容易引起交换机间中继的头阻塞;3)减少TCP的最小RTO,让有很多节点时可以维持高吞吐量。
目前已经提出了Data center TCP(DCTCP)的技术方案。