本文已同時發(fā)布于我的“即時通訊技術(shù)圈”公眾號。
1、引言
哈羅,大家好,我是Jack Jiang。。。(一股濃濃的自媒體視頻旁白味道)。
對于經(jīng)常看我文章的即時通訊開發(fā)者來說,今天要討論的這個話題,貌似有點不著邊際。
是的,自從我整理完《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門》系列文章之后,對于網(wǎng)絡(luò)編程的理解,開始有點飄了。
言歸正傳。現(xiàn)在,5G技術(shù)離我們的生活越來越近了,號稱網(wǎng)絡(luò)延遲1ms、下行速度10Gb/s的5G,在這樣逆天的網(wǎng)絡(luò)性能指標(biāo)下,老驥伏櫪的TCP/IP是否仍能Hold的住?帶著這個思考,便有了本文的內(nèi)容。


▲ 5G網(wǎng)速有多快?看圖感受一下(圖自《零基礎(chǔ),史上最強5G技術(shù)掃盲》)
(本文已同步發(fā)布于:http://www.52im.net/thread-2976-1-1.html)
2、學(xué)好TCP/IP夠用嗎?
對于即時通訊技術(shù)的開發(fā)者,從技術(shù)棧來說,一條最普通的聊天消息的送達,肯定要涉及到網(wǎng)絡(luò)編程技術(shù),而網(wǎng)絡(luò)編程最核心的也就是TCP/IP協(xié)議(準(zhǔn)確的說是TCP/IP協(xié)議簇,見《TCP/IP詳解》),毫無疑問深入的學(xué)習(xí)TCP/IP協(xié)議肯定是非常有必要了。
基本上,對于普通的IM或消息推送系統(tǒng)開發(fā)來說,對TCP/IP相關(guān)的計算機網(wǎng)絡(luò)基礎(chǔ)比較熟悉的話,完全夠用了。


▲ 這本書很多人都讀過
3、移動網(wǎng)絡(luò)問題,只能賴我代碼爛?
親手寫過即時通訊的網(wǎng)絡(luò)通信層的同學(xué)都很清楚,在移動網(wǎng)絡(luò)中(我說的移動網(wǎng)絡(luò)具體指的是運營商的2g/3g/4g/5g這些),因為無線通信的介質(zhì)和技術(shù)實現(xiàn)特殊性,出現(xiàn)了很多傳統(tǒng)有線互聯(lián)網(wǎng)不曾有過的網(wǎng)絡(luò)通信問題。
就拿IM在移動弱網(wǎng)中出現(xiàn)的各種問題來說,多數(shù)開發(fā)者都不自信的認為這應(yīng)該是自已的網(wǎng)絡(luò)層代碼寫的不夠優(yōu)秀,是的,很多時候也確實是這樣。
我收集整理的下面這幾篇資料,就討論的是這些,有興趣可以讀一下:
《現(xiàn)代移動端網(wǎng)絡(luò)短連接的優(yōu)化手段總結(jié):請求速度、弱網(wǎng)適應(yīng)、安全保障》
《百度APP移動端網(wǎng)絡(luò)深度優(yōu)化實踐分享(三):移動端弱網(wǎng)優(yōu)化篇》
其實,很少有人會去思考,在TCP/IP協(xié)議被發(fā)明出來的50年后,對于現(xiàn)代的移動網(wǎng)絡(luò)來說,是否仍然能工作的好?以弱網(wǎng)問題為例,難道我寫的IM總是丟消息、掉線就僅僅是“我”的代碼太爛?

沒錯,這不僅僅是應(yīng)用層的代碼編寫問題,它或許涉及到TCP/IP的設(shè)計局限,甚至移動網(wǎng)絡(luò)的底層設(shè)計也并不是最完美的。
下面這兩篇文章,對于弱網(wǎng)問題思考,已經(jīng)深入到運營商的通信技術(shù)這一層,強烈建議讀一讀:
如果你的認知,已經(jīng)開始對底層的網(wǎng)絡(luò)通信技術(shù)有所困惑,下面這幾篇就是為你準(zhǔn)備的:
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(六):移動終端的接頭人——“基站”技術(shù)》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(七):移動終端的千里馬——“電磁波”》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(八):零基礎(chǔ),史上最強“天線”原理掃盲》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(九):無線通信網(wǎng)絡(luò)的中樞——“核心網(wǎng)”》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十):零基礎(chǔ),史上最強5G技術(shù)掃盲》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十一):為什么WiFi信號差?一文即懂!》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十二):上網(wǎng)卡頓?網(wǎng)絡(luò)掉線?一文即懂!》
4、簡單復(fù)習(xí)一下TCP/IP
從字面意義上講,有人可能會認為 TCP/IP 是指 TCP 和 IP 兩種協(xié)議。實際生活當(dāng)中有時也確實就是指這兩種協(xié)議。
然而在很多情況下,它只是利用 IP 進行通信時所必須用到的協(xié)議簇的統(tǒng)稱。
具體來說,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都屬于 TCP/IP 協(xié)議。他們與 TCP 或 IP 的關(guān)系緊密,是互聯(lián)網(wǎng)必不可少的組成部分。TCP/IP 一詞泛指這些協(xié)議,因此,有時也稱 TCP/IP 為網(wǎng)際協(xié)議簇。
互聯(lián)網(wǎng)進行通信時,需要相應(yīng)的網(wǎng)絡(luò)協(xié)議,TCP/IP 原本就是為使用互聯(lián)網(wǎng)而開發(fā)制定的協(xié)議簇。因此,互聯(lián)網(wǎng)的協(xié)議就是 TCP/IP,TCP/IP 就是互聯(lián)網(wǎng)的協(xié)議。

▲ 上圖反映了TCP/IP協(xié)議族的關(guān)系(圖片引用自《計算機網(wǎng)絡(luò)通訊協(xié)議關(guān)系圖》)
5、TCP/IP或許太老了
對于現(xiàn)代移動網(wǎng)絡(luò)來說,TCP/IP或許太老了。我們簡單了解一下TCP/IP協(xié)議的產(chǎn)生過程。
1973年:卡恩與瑟夫開發(fā)出了TCP/IP協(xié)議中最核心的兩個協(xié)議:TCP協(xié)議和IP協(xié)議。
1974年:卡恩與瑟夫正式發(fā)表了TCP/IP協(xié)議并對其進行了詳細的說明。同時,為了驗證TCP/IP協(xié)議的可用性,使一個數(shù)據(jù)包由一端發(fā)出,在經(jīng)過近10萬km的旅程后到達服務(wù)端。在這次傳輸中,數(shù)據(jù)包沒有丟失一個字節(jié),這充分說明了TCP/IP協(xié)議的成功。
1983年:TCP/IP協(xié)議正式替代NCP,從此以后TCP/IP成為大部分因特網(wǎng)共同遵守的一種網(wǎng)絡(luò)規(guī)則。
1984年:TCP/IP協(xié)議得到美國國防部的肯定,成為多數(shù)計算機共同遵守的一個標(biāo)準(zhǔn)。
是的,你沒有看錯,TCP/IP協(xié)議設(shè)計于距今50年前!

▲ 羅伯特·卡恩(左者)與文特·瑟夫(右者)(圖片引用自《技術(shù)往事:改變世界的TCP/IP協(xié)議》)
6、TCP/IP原本是為固定網(wǎng)絡(luò)設(shè)計的
雖然TCP/IP自上世紀(jì)70年代發(fā)明以來,連接了無數(shù)的計算機,推動了互聯(lián)網(wǎng)的蓬勃發(fā)展。
但不可回避的現(xiàn)實是,基于TCP/IP的互聯(lián)網(wǎng),它的初衷是為固定網(wǎng)絡(luò)和網(wǎng)絡(luò)互連而設(shè)計,而今天我們已經(jīng)發(fā)展到了移動互聯(lián)時代。
再往后看,未來5G將面臨AR/VR、超高清視頻、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等各種應(yīng)用、用例紛呈,加之網(wǎng)絡(luò)安全的緊迫性越發(fā)凸顯,TCP/IP或許難以適應(yīng)未來。
7、TCP/IP或許并不適合移動網(wǎng)絡(luò)
7.1 TCP/IP設(shè)計之初無法預(yù)見高速移動網(wǎng)時代
在TCP/IP剛被設(shè)計的年代,即傳統(tǒng)固定互聯(lián)網(wǎng)的公元元年,主機是固定的,用于編址的IP也是固定的,世界是平的。
可是隨著應(yīng)用程序以及芯片技術(shù)的活力涌現(xiàn),設(shè)備越來越小,App越來越豐富,當(dāng)你覺得渾身憋得慌的時候,移動互聯(lián)網(wǎng)時代來了。
但傳統(tǒng)的TCP/IP并不適合移動網(wǎng)絡(luò),以TCP/IP協(xié)議簇中我們最常用的TCP協(xié)議來說,傳統(tǒng)的TCP基于TCP/IP協(xié)議頭字段的五元組,而標(biāo)識設(shè)備的IP地址僅僅標(biāo)識了設(shè)備位置,并沒有標(biāo)識設(shè)備本身(實際上不管到了什么年代,IP地址都不應(yīng)該標(biāo)識設(shè)備本身,它就是標(biāo)識位置的!問題是,TCP不應(yīng)該用一個標(biāo)識位置的元素來標(biāo)識設(shè)備)。
而對于移動互聯(lián)網(wǎng)來說,一旦移動設(shè)備(比如智能手機)換了位置(通信基站切換了),其IP地址也會改變,進而既有的TCP連接將全部中斷。

▲ 運營商的基站是有覆蓋范圍的,而且覆蓋范圍并不大
對于底層的移動網(wǎng)絡(luò)通信技術(shù)有所了解的開發(fā)人員或許知道,手機的通信是由基站進行代理的,而基站是固定的。換句話說,當(dāng)你移動到下一個基站的位置時,手機就得自動切換到新的基站,進而重新進行一系列的跟運營商的無線體系進行連接建立的過程。
這在日常生活中使用并沒有什么問題,但在時速達到350公里每小時的復(fù)興號高鐵上用手機上網(wǎng)時,這就會導(dǎo)致嚴(yán)重的問題。因為基站的信號覆蓋范圍有限,在手機移動速度如此之快的情況下,基站的切換也將頻繁到讓網(wǎng)絡(luò)工程師們崩潰(有興趣可以讀一下《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十四):高鐵上無線上網(wǎng)有多難?一文即懂!》)。
TCP/IP和網(wǎng)絡(luò)的關(guān)系,可以作個有趣的類比。
假設(shè)互聯(lián)網(wǎng)是公路,那么TCP/IP這就是這條公路上的一套交通規(guī)則。這套規(guī)則在制定時,可能考慮到的只是普通的市場內(nèi)道路(最多是高速公路使用),而現(xiàn)在的5G時代,就好比時速350公里的高速鐵路,試想普通的市內(nèi)交通規(guī)則套用在高速鐵路上,那難道不算是災(zāi)難嗎。
必竟普通的市內(nèi)交通速度不會很快,各種規(guī)則的制定誤差和余量可以比較大,但高速鐵路上,速度飛快、交通信號控制精確無比的情況下,這套規(guī)則,對于開高鐵的司機來說,肯定是膽顫心驚。而TCP/IP對于5G來說,就好比這套老的交通規(guī)則,用它來駕馭這么快速的5G快車,是不是很瘋狂?

7.2 TCP/IP與電信網(wǎng)的基因不同
基于TCP/IP的互聯(lián)網(wǎng)原本是為固定網(wǎng)絡(luò)和網(wǎng)絡(luò)互聯(lián)設(shè)計,而運營商的移動網(wǎng)絡(luò)是為移動性連接而生。互聯(lián)網(wǎng)的連接是分布式的,而移動通信網(wǎng)絡(luò)是集中控制的。
這兩者的技術(shù)基因確實有很大不同,在早期移動網(wǎng)絡(luò)網(wǎng)絡(luò)性能較慢的情況下,這兩者的結(jié)合,矛盾似乎并不突出。
實際上,在傳統(tǒng)電信網(wǎng)(就是大家最常用的電話、短信網(wǎng)絡(luò))與IT互聯(lián)網(wǎng)是兩撥人各自有玩耍(電信網(wǎng)為代表的就是3GPP標(biāo)準(zhǔn)化組織,互聯(lián)網(wǎng)為代表的就是IETF標(biāo)準(zhǔn)化組織)。
在那個移動網(wǎng)還不發(fā)達的年代,這兩撥人各自玩各自的,大家誰也不用鳥誰。
隨著人們對移動上網(wǎng)需求越來越旺盛,搞電信網(wǎng)的這撥人只能想辦法接入傳統(tǒng)的互聯(lián)網(wǎng),必竟在當(dāng)時傳統(tǒng)互聯(lián)網(wǎng)太強勢,而移動網(wǎng)的應(yīng)用場景還在摸索階段,為了能快速解決移動上網(wǎng)的問題,與是也不好麻煩IETF這撥人,所有痛苦默默承受——雖然TCP/IP在移動網(wǎng)上的實施并不合適,但只能想辦法縫縫補補,把移動網(wǎng)的標(biāo)準(zhǔn)制定,往它上面靠。
這就好比,TCP/IP這輛車已經(jīng)造好了,至于你搞移動網(wǎng)的人,是修一條普通馬路(2G)、還是一條高速公司路(3G)、或者是現(xiàn)在的高速鐵路(5G),反正你只能將就這輛車。原本應(yīng)該是什么路上跑什么車,而現(xiàn)在是不管你什么路,只能跑這輛車。反正車子跑不好,不怪車子,怪路。。。
好奇葩的邏輯,而這個邏輯就好比是現(xiàn)在的TCP/IP跟移動網(wǎng)的關(guān)系。
所以,在5G,甚至未來的6G、7G時代,這種“勉強”的結(jié)合,拋必帶來網(wǎng)絡(luò)低效、基礎(chǔ)設(shè)施成本高昂等問題。
8、移動運營商們已經(jīng)意識到問題
是的,大佬們已經(jīng)意識到了問題的嚴(yán)重性,正在著手解決。
2020年4月初,歐洲電信標(biāo)準(zhǔn)協(xié)會(ETSI)已成立了一個新的行業(yè)規(guī)范工作組“Non-IP Networking”(ISG NIN),以解決新服務(wù)、尤其是5G服務(wù)面臨的老式網(wǎng)絡(luò)協(xié)議所存在的問題。

該工作組的目標(biāo)是為5G網(wǎng)絡(luò)研究開發(fā)新的網(wǎng)絡(luò)協(xié)議,以替代TCP/IP。
是的,這些移動運營商已經(jīng)發(fā)現(xiàn)在4G、甚至5G網(wǎng)絡(luò)中使用的基于TCP/IP的技術(shù)存在一些問題。
由于TCP/IP協(xié)議最初是為互聯(lián)網(wǎng)設(shè)計,而非為移動通信網(wǎng)絡(luò)而生,當(dāng)移動通信網(wǎng)絡(luò)引入TCP/IP后,增加了移動性、安全性、QoS等功能,這使得網(wǎng)絡(luò)更復(fù)雜,頻譜使用效率較低。為了解決這些問題,后續(xù)的修補和替代方案又導(dǎo)致了成本、時延和功耗增加。
大佬們終于承認,對于5G的某些高級服務(wù),TCP/IP確實被認為不是最佳的。
9、移動網(wǎng)絡(luò)未來會怎樣?
雖然TCP/IP可能越來越難以適應(yīng)移動網(wǎng)絡(luò)的發(fā)展,但不可否認,短期內(nèi)TCP/IP的不可替代性。
必竟,基于TCP/IP的傳統(tǒng)互聯(lián)網(wǎng)所構(gòu)建的軟件和硬件世界(尤其是硬件)并不是一朝一夕的事,而替換掉這些,無論是從成本還是各方利益來說,都是個需要反復(fù)權(quán)衡和博弈的事。
一個很好的例子是,IPv4和IPv6,雖然誰都知道IPv4的困境,但IPv6喊了這么多年目前想要普及,仍然還比較遙遠,要知道IPv6已經(jīng)喊了10年了。因為這小小的IP地址,牽涉的是互聯(lián)網(wǎng)從硬到軟幾乎所有環(huán)節(jié),影響之大,無出其右。
對于IM開發(fā)者來說,因為移動網(wǎng)絡(luò)的特殊性,而技術(shù)改朝換代也并不鮮見。
比如眾所周之的XMPP協(xié)議,設(shè)計之初也是野心勃勃——“要讓上IM就像打開網(wǎng)頁一樣簡單!”。確實,XMPP無論是肉眼可讀性,還是數(shù)據(jù)結(jié)構(gòu)的優(yōu)雅,都非常優(yōu)秀,但悲劇的是,設(shè)計者們從來沒有想過移動網(wǎng)會發(fā)展成今天這樣,或者說設(shè)計者們從未考慮過XMPP在移動網(wǎng)下的使用。于是,后面的故事,大家都很清楚——每個人都在抱怨XMPP臃腫、冗余(是的,這里我收集了一大堆這樣的文章),這算個是把優(yōu)點做成缺點的典型案例了。
或許,未來會有那么一天,移動網(wǎng)絡(luò)終有屬于為自已定制的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)。而對于搞網(wǎng)絡(luò)通信的程序員來說,如果這套新的標(biāo)準(zhǔn)讓能基于移動網(wǎng)絡(luò)的代碼編寫,變的愉快起來,那真是謝天謝地了!
10、參考資料
[1] TCP/IP 已完 ?New IP 之后,又來一個 Non-IP
[2] 5G:再見,TCP/IP
[3] 重新設(shè)計TCP/IP協(xié)議棧以支持設(shè)備移動性
[4] 5G要拋棄TCP/IP?
[5] ETSI LAUNCHES NEW GROUP ON NON-IP NETWORKING ADDRESSING 5G NEW SERVICES
附錄:更多網(wǎng)絡(luò)編程基礎(chǔ)資料
《TCP/IP詳解 - 第11章·UDP:用戶數(shù)據(jù)報協(xié)議》
《TCP/IP詳解 - 第17章·TCP:傳輸控制協(xié)議》
《技術(shù)往事:改變世界的TCP/IP協(xié)議(珍貴多圖、手機慎點)》
《通俗易懂-深入理解TCP協(xié)議(上):理論基礎(chǔ)》
《通俗易懂-深入理解TCP協(xié)議(下):RTT、滑動窗口、擁塞處理》
《理論經(jīng)典:TCP協(xié)議的3次握手與4次揮手過程詳解》
《理論聯(lián)系實際:Wireshark抓包分析TCP 3次握手、4次揮手過程》
《計算機網(wǎng)絡(luò)通訊協(xié)議關(guān)系圖(中文珍藏版)》
《P2P技術(shù)詳解(一):NAT詳解——詳細原理、P2P簡介》
《P2P技術(shù)詳解(二):P2P中的NAT穿越(打洞)方案詳解(基本原理篇)》
《P2P技術(shù)詳解(三):P2P中的NAT穿越(打洞)方案詳解(進階分析篇)》
《P2P技術(shù)詳解(四):P2P技術(shù)之STUN、TURN、ICE詳解》
《通俗易懂:快速理解P2P技術(shù)中的NAT穿透原理》
《高性能網(wǎng)絡(luò)編程(一):單臺服務(wù)器并發(fā)TCP連接數(shù)到底可以有多少》
《高性能網(wǎng)絡(luò)編程(二):上一個10年,著名的C10K并發(fā)連接問題》
《高性能網(wǎng)絡(luò)編程(三):下一個10年,是時候考慮C10M并發(fā)問題了》
《高性能網(wǎng)絡(luò)編程(四):從C10K到C10M高性能網(wǎng)絡(luò)應(yīng)用的理論探索》
《高性能網(wǎng)絡(luò)編程(五):一文讀懂高性能網(wǎng)絡(luò)編程中的I/O模型》
《高性能網(wǎng)絡(luò)編程(六):一文讀懂高性能網(wǎng)絡(luò)編程中的線程模型》
《Java的BIO和NIO很難懂?用代碼實踐給你看,再不懂我轉(zhuǎn)行!》
《不為人知的網(wǎng)絡(luò)編程(一):淺析TCP協(xié)議中的疑難雜癥(上篇)》
《不為人知的網(wǎng)絡(luò)編程(二):淺析TCP協(xié)議中的疑難雜癥(下篇)》
《不為人知的網(wǎng)絡(luò)編程(三):關(guān)閉TCP連接時為什么會TIME_WAIT、CLOSE_WAIT》
《不為人知的網(wǎng)絡(luò)編程(四):深入研究分析TCP的異常關(guān)閉》
《不為人知的網(wǎng)絡(luò)編程(五):UDP的連接性和負載均衡》
《不為人知的網(wǎng)絡(luò)編程(六):深入地理解UDP協(xié)議并用好它》
《不為人知的網(wǎng)絡(luò)編程(七):如何讓不可靠的UDP變的可靠?》
《不為人知的網(wǎng)絡(luò)編程(八):從數(shù)據(jù)傳輸層深度解密HTTP》
《不為人知的網(wǎng)絡(luò)編程(九):理論聯(lián)系實際,全方位深入理解DNS》
《網(wǎng)絡(luò)編程懶人入門(一):快速理解網(wǎng)絡(luò)通信協(xié)議(上篇)》
《網(wǎng)絡(luò)編程懶人入門(二):快速理解網(wǎng)絡(luò)通信協(xié)議(下篇)》
《網(wǎng)絡(luò)編程懶人入門(三):快速理解TCP協(xié)議一篇就夠》
《網(wǎng)絡(luò)編程懶人入門(四):快速理解TCP和UDP的差異》
《網(wǎng)絡(luò)編程懶人入門(五):快速理解為什么說UDP有時比TCP更有優(yōu)勢》
《網(wǎng)絡(luò)編程懶人入門(六):史上最通俗的集線器、交換機、路由器功能原理入門》
《網(wǎng)絡(luò)編程懶人入門(七):深入淺出,全面理解HTTP協(xié)議》
《網(wǎng)絡(luò)編程懶人入門(八):手把手教你寫基于TCP的Socket長連接》
《網(wǎng)絡(luò)編程懶人入門(九):通俗講解,有了IP地址,為何還要用MAC地址?》
《網(wǎng)絡(luò)編程懶人入門(十):一泡尿的時間,快速讀懂QUIC協(xié)議》
《技術(shù)掃盲:新一代基于UDP的低延時網(wǎng)絡(luò)傳輸層協(xié)議——QUIC詳解》
《讓互聯(lián)網(wǎng)更快:新一代QUIC協(xié)議在騰訊的技術(shù)實踐分享》
《現(xiàn)代移動端網(wǎng)絡(luò)短連接的優(yōu)化手段總結(jié):請求速度、弱網(wǎng)適應(yīng)、安全保障》
《聊聊iOS中網(wǎng)絡(luò)編程長連接的那些事》
《移動端IM開發(fā)者必讀(一):通俗易懂,理解移動網(wǎng)絡(luò)的“弱”和“慢”》
《移動端IM開發(fā)者必讀(二):史上最全移動弱網(wǎng)絡(luò)優(yōu)化方法總結(jié)》
《IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實踐(上篇)》
《IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實踐(下篇)》
《從HTTP/0.9到HTTP/2:一文讀懂HTTP協(xié)議的歷史演變和設(shè)計思路》
《腦殘式網(wǎng)絡(luò)編程入門(一):跟著動畫來學(xué)TCP三次握手和四次揮手》
《腦殘式網(wǎng)絡(luò)編程入門(二):我們在讀寫Socket時,究竟在讀寫什么?》
《腦殘式網(wǎng)絡(luò)編程入門(三):HTTP協(xié)議必知必會的一些知識》
《腦殘式網(wǎng)絡(luò)編程入門(四):快速理解HTTP/2的服務(wù)器推送(Server Push)》
《腦殘式網(wǎng)絡(luò)編程入門(五):每天都在用的Ping命令,它到底是什么?》
《腦殘式網(wǎng)絡(luò)編程入門(六):什么是公網(wǎng)IP和內(nèi)網(wǎng)IP?NAT轉(zhuǎn)換又是什么鬼?》
《腦殘式網(wǎng)絡(luò)編程入門(七):面視必備,史上最通俗計算機網(wǎng)絡(luò)分層詳解》
《腦殘式網(wǎng)絡(luò)編程入門(八):你真的了解127.0.0.1和0.0.0.0的區(qū)別?》
《以網(wǎng)游服務(wù)端的網(wǎng)絡(luò)接入層設(shè)計為例,理解實時通信的技術(shù)挑戰(zhàn)》
《邁向高階:優(yōu)秀Android程序員必知必會的網(wǎng)絡(luò)基礎(chǔ)》
《全面了解移動端DNS域名劫持等雜癥:技術(shù)原理、問題根源、解決方案等》
《美圖App的移動端DNS優(yōu)化實踐:HTTPS請求耗時減小近半》
《Android程序員必知必會的網(wǎng)絡(luò)通信傳輸層協(xié)議——UDP和TCP》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(一):通信交換技術(shù)的百年發(fā)展史(上)》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(二):通信交換技術(shù)的百年發(fā)展史(下)》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(三):國人通信方式的百年變遷》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(四):手機的演進,史上最全移動終端發(fā)展史》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(五):1G到5G,30年移動通信技術(shù)演進史》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(六):移動終端的接頭人——“基站”技術(shù)》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(七):移動終端的千里馬——“電磁波”》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(八):零基礎(chǔ),史上最強“天線”原理掃盲》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(九):無線通信網(wǎng)絡(luò)的中樞——“核心網(wǎng)”》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十):零基礎(chǔ),史上最強5G技術(shù)掃盲》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十一):為什么WiFi信號差?一文即懂!》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十二):上網(wǎng)卡頓?網(wǎng)絡(luò)掉線?一文即懂!》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十三):為什么手機信號差?一文即懂!》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十四):高鐵上無線上網(wǎng)有多難?一文即懂!》
《IM開發(fā)者的零基礎(chǔ)通信技術(shù)入門(十五):理解定位技術(shù),一篇就夠》
《百度APP移動端網(wǎng)絡(luò)深度優(yōu)化實踐分享(一):DNS優(yōu)化篇》
《百度APP移動端網(wǎng)絡(luò)深度優(yōu)化實踐分享(二):網(wǎng)絡(luò)連接優(yōu)化篇》
《百度APP移動端網(wǎng)絡(luò)深度優(yōu)化實踐分享(三):移動端弱網(wǎng)優(yōu)化篇》
《技術(shù)大牛陳碩的分享:由淺入深,網(wǎng)絡(luò)編程學(xué)習(xí)經(jīng)驗干貨總結(jié)》
《可能會搞砸你的面試:你知道一個TCP連接上能發(fā)起多少個HTTP請求嗎?》
《知乎技術(shù)分享:知乎千萬級并發(fā)的高性能長連接網(wǎng)關(guān)技術(shù)實踐》
《5G時代已經(jīng)到來,TCP/IP老矣,尚能飯否?》
>> 更多同類文章 ……
歡迎關(guān)注我的“即時通訊技術(shù)圈”公眾號:

(本文已同步發(fā)布于:http://www.52im.net/thread-2976-1-1.html)
作者:Jack Jiang (點擊作者姓名進入Github)
出處:http://www.52im.net/space-uid-1.html
交流:歡迎加入即時通訊開發(fā)交流群 215891622
討論:http://www.52im.net/
Jack Jiang同時是【原創(chuàng)Java
Swing外觀工程BeautyEye】和【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
本博文
歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處(也可前往 我的52im.net 找到我)。