OpenUOM移动性改造-靠新的session iD而不是IP/Port识别客户端
写于2014/06/07 设备移动性的挑战 1.设备会经常由于小区或模式切换而更改IP地址。 这种地址更新是移动网络的正常行为,不应作为故障或事故看待,因此理应对应用程序透明,应用不应被此类事件打扰,更无责做善后处理。 2.移动设备存在多张3G/4G/2.75G网卡时,希望这些网卡同时收发数据。 由于这些网卡一般属于不同运营商网络,其网络架构又不同,一般要求数据包携带本运营商网卡的IP地址作为源(这一般是为了在该运营商核心网终点处做NAT),因此为了支持多运营商多网卡负载均衡,一个应用程序业务流数据包必然要支持不同的IP地址作为源,不幸的是,即便对于UDP而言,大多数应用也都是只支持单一源(它们会针对UDP socket调bind),以减少服务端的复杂性。 3.经常性的失联 电梯里,高铁上,山区景点盲区,公司的厕所...你会突然失联,然后突然出现!但是应用程序却不希望受到如此的折腾,对于OpenUOM而言,经过测试,一次重连大约要5秒时间,代价是高昂的,重新TLS握手,重新push,...实际上只要你的ping-restart时间足够小,对于信号缺失就会很迅速的被OpenUOM感知,解决方案就是将ping-restart放大,可是你也不知道自己失联多久。 4.RRC相关造成的额外延时 有时候,即便你处在信号很好的地方,也会发现打开一个网页非常慢,然后迅速就会变快