Có thể bạn chưa biết: Trong tháng 5 này 300 thành viên đầu tiên hoàn thành 4 bài viết hợp lệ sẽ nhận được bộ phần quà bao gồm: 1 Áo phông, 1 Túi, Stickers. Đăng ký ngay tại đây.
Holding smartphone devices, surfing web or checking the latest Facebook status of your friend are becoming a indisputable part of our life. When choosing network connection, of course, Wifi always be the most preferable option due the enconomic reason, however, we rarely know that 3G/LTE network can bring a better user experiences. In this post, I'll open more facts that just few people know about network connections of mobile devices and we can improve the User Experiences when design a new application/system.
1. Mobile network's so weird
The first thing we should to notice that mobile network was borned to provide voice service to users and Internet connections was just a extra feature that mobile carrier deployed during the boom of Internet. That's why the structure of mobile network is so complicated, comparing with other types of networks
Mobile network architecture
The picture above portraits the fundamental elements of various mobile network (GSM, UMTS and LTE). In the many people's approaching, the mobile network's just like a bigger Wifi network, however, it's far more complicated than that because the resources of mobile network're limited. For example:
- SGSN – Serving GPRS support node: delivery packet to User end point and mobility management
- GGSN: Gateway GPRS support node: route data to internet
- PCRF - Policy control & charging rule function
- HSS – Home subscriber server
- S-GW: Serving Gateway
- P-GW: Packet data Gateway
Basically, to gain Internet access from Mobile carrier, our smartphones have to get the approvals from many functaional blocks and the data need to traverse a long long way before entering Internet though S-GW in LTE or SGSN of GSM/UMTS/3G. That's why the deplayed time of mobile network always accounts for significantly high number.
Another notable point of mobile network is that all data traffic will be concentrated in Gateways (S-GW, SGSN) before joining traditional IP network. It'll lead to bottleneck issue in mobile network, especially when using Voice/video applications like Skype, Viber.
Although the mobile carriers're trying to overcome these problems by upgrading infrastructure as well as service method, we can improve our applications performance by using distributed system such as CDN, caching the static content...
2. Is Wifi connection the best?
We've already known that Wifi can provide the great bandwidth to end devices (up to 300Mbps with N-Standard) and more interestingly, the price of wifi always be cheaper than cellular. However, sometimes we still have to use wifi with the speed's slower than molases and there're some reason
Wifi or IEEE 802.11 protocol actually's upgrading version of LAN - Local Area Network for wireless network. However, the collision management in wireless environment's much more complicated than wired network and it directly reduce the avaibility of Wifi network. That's why we're never reaching 300Mbps which's labeled in every advertisement.
Besisdes, Wifi network doesn't have any special mechanisms to manage the User Equipment(UE) and all the UEs have to share the common bandwidth of Wifi network area. In this point, the Mobile Network does better when functional blocks like SGSN, PCRF, HSS hold data about the UE and its connections then giving instructions to Radio Access Network to guarantee minimum Quality of Serice for customer. That's why the packet loss ratio in Cellular network's always lower than Wifi network.
Handover or handoff is the process of transfer data session between different channel of wireless network. For more detail, when UE moves from one service point (Base Station or Access Point) to another one, handover will keep the seamless of data session without droping connections. This peculiar feature's available only in cellular network because each Point of Service in Cellular network contain many radio channel for mobile device to choose. When UE travels from one Acess Point (AP) to another, it'll establish the connection to newer AP before terminating the connection with the old one. During the handover process, the data packet will be stored in SGSN/P-GW before the connections backs to stable.
What's about Wifi? There're so many large scale wifi systems built recently for metropolis area as well as enterprise system but in fundamental, the wifi doesn't have any special mechanisms to keep seamless of connection. So, unluckly, we lost wifi connection, every transfering data has gone and we have to redo it again.
3. Multipath TCP
So, Cellular network provide broader signal coverage and more reliable con- nectivity under mobility while WiFi networks provide shorter packet round trip times (RTTs) but higher loss rates. How can we exploit the advantages of both two types of network? The answer is Multipath TCP(MPTCP).
Basically, once an MPTCP connection is initiated and the first flow is established, each end host knows one of its peer’s IP addresses. When the client has an additional interface, for example, a 3G/4G interface, it will first notify the server its additional IP address with an Add Address option over the established subflow and send another SYN packet with a JOIN option to the server’s known IP address. With this MPTCP-JOIN option, this subflow will be associated with a previously established MPTCP connection. This increases avaibility as well as continousness of application, improving the User Experiences.
From the first version was deployed on Linux Kernel, MultipathTCP nowdays has appeared in various OS, epsecially on Android and iOS. It opened a new window for mobile programers to develop new application which can operate with higher efficiency.