弱網優化、網絡抖動、網絡延時,這些問題,怎麼處理?

最近公司項目要求,在做網絡優化,包括弱網方面,視頻畫面卡頓,這塊是很多開發中,經常需要去做處理,比如你網絡正常,什麼都沒有問題,一旦網絡不好時,就什麼問題就出來了,這個問題很頭痛,甚至在一些延時上非常高,網絡抖動時。需要深入rtmpprotocol.c和http.c,還有tcp.c文件中。一看是看網絡耗時,一個是它如何進行網絡交互,不清楚流程,就一直在加日誌分析。

網絡協議是每個程序員入門的必修課,但是徹底掌握並應用網絡協議知識卻並非易事,比如常見的 TCP/IP、HTTP。作爲一個有上進心的程序員,我一直想體系學習下這塊兒內容,但是學過的人都知道,這事兒真的不簡單。首先,網絡協議的書都很厚,讀起來並不是那麼容易。裏面概念太多了,基本都是今天看完,明天就忘。其次,協議知識瑣碎又枯燥,一看書就頭大,等細節瞭解的差不多了,又卡在了實際操作中,學過的東西不會用。而後,扔掉書本,回到工作中,又發現,網絡協議真是繞不過去的坎兒啊。需要了解不同協議的優缺點。

最近看了極客時間的《趣談網絡協議》專欄,感覺寫的有點意思。首先,它裏面用了很多這種比喻的方式,來講概念,把概念都講的很活潑、很有意思。其次,它把最常見的、到最基礎的、以及最重要的網絡協議,都一一拆解,用故事的方式講出來,配上作者自己的聲音講出來,每天通勤路上聽兩篇,就像聽連載小說一樣過癮。最後,它還用一個“下單”的過程,把過程涉及的這些網絡協議都串講了一遍。從概念到應用,一個都不少,講的真的太透徹了!

學完這個專欄,能夠系統理解網絡協議之間的關係了,根本用不着死記硬背,再去啃那些大部頭都覺得輕鬆了很多。比如,理解計算機網絡中的概念時,劉超是這麼說的:

想象網絡包就是一段Buffer,或者一塊內存,是有格式的。同時,想象自己是一個處理網絡包的程序,而且這個程序可以跑在電腦上,可以跑在服務器上,可以跑在交換機上,也可以跑在路由器上。你想象自己有很多的網口,從某個口拿進一個網絡包來,用自己的程序處理一下,再從另一個網口發送出去。你可以把自己想象這個程序,那你的工作過程就是下面這樣,是不是很好理解了?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章