怎樣學好計算機網(wǎng)絡(luò)?
網(wǎng)友解答: 計算機網(wǎng)絡(luò)的數(shù)據(jù)傳輸,是由N個離散的數(shù)據(jù)單元(IP包)組成的,再去回憶關(guān)于TCP連接的概念,TCP的面向連接,而數(shù)據(jù)單元IP包卻是離散的,而TCP也是由IP包來承載的,那意味
計算機網(wǎng)絡(luò)的數(shù)據(jù)傳輸,是由N個離散的數(shù)據(jù)單元(IP包)組成的,再去回憶關(guān)于TCP連接的概念,TCP的面向連接,而數(shù)據(jù)單元IP包卻是離散的,而TCP也是由IP包來承載的,那意味著TCP報文也是離散的,既然是離散的,又談何連接呢?
TCP連接是一種邏輯概念
通信雙方通過離散的IP包交互,分享了彼此的序列號、緩存大小等參數(shù),彼此就可以認為和對方是連接的。
而在這個邏輯連接上傳輸數(shù)據(jù),自然需要對方確認,否則如何知道離散的IP包是否到達對方?
而如果遲遲收不到對方的確認,也不能傻傻地等不是嗎?需要將數(shù)據(jù)再重傳,可以重傳多次,一直到收到對方的確認,這樣即使網(wǎng)絡(luò)有短暫的故障,可以通過多次重傳予以克服。而如果重傳了多次還是沒有收到對方的確認,那只有放棄了,告訴用戶發(fā)生的一切。
這是我看完TCP/IP協(xié)議的一點總結(jié),這塊是計算機網(wǎng)絡(luò)的核心,比路由協(xié)議更重要,所以要花很多時間研究這些最核心的技術(shù)。
而在研究這些基礎(chǔ)內(nèi)容時,需要用抓包工具將網(wǎng)絡(luò)上離散的數(shù)據(jù)單元捕獲下來,研究數(shù)據(jù)單元的時序、數(shù)據(jù)單元的格式、研究數(shù)據(jù)單元是由誰觸發(fā)產(chǎn)生的,是TCP/IP系統(tǒng)進程、還是用戶進程,對這些細節(jié)的越深入,腦海里就會勾勒出一個分層的場景:
用戶進程(高層)、TCP/IP系統(tǒng)進程(中層)、硬件網(wǎng)卡(底層)。
有了分層的概念,就會自然地去想象,數(shù)據(jù)單元從高層-- 中層--底層 下沉的過程。
以及數(shù)據(jù)單元從底層 --- 中層 ---高層上浮的過程。
下沉、上浮的過程牽扯到很多細節(jié),這需要看TCP/IP協(xié)議。
說了一堆,核心思想是,想學好計算機網(wǎng)絡(luò),首先要有熱情,研究TCP/IP協(xié)議,做實驗,抓包解析,然后再去看書,再實驗,抓包分析…這個過程是一個周期性的迭代過程,需要時間的積累。
知乎上經(jīng)??吹绞蔷W(wǎng)工還是碼農(nóng)有錢途的爭論,其實沒有什么好爭的,在我眼中,無論是網(wǎng)工還是碼農(nóng)都是編程,碼農(nóng)編程好理解,網(wǎng)工怎么編程呢?網(wǎng)工需要將還沒有初始化的程序,賦值并使進程開始正常工作,所以也需要有編程的思維模式,這樣才能更好地讓進程工作;而碼農(nóng)如果不精通網(wǎng)絡(luò),不了解系統(tǒng)瓶頸的限制,程序也無法優(yōu)化到最佳,所以網(wǎng)工和碼農(nóng)需要互相學習,最終殊途同歸。
談?wù)勎覐能浖こ處煂W習到的一個知識點,記得是一個排錯的場合,一個 GRE tunnel with IPsec Protection 有些問題,隧道兩端假定為A、B,可以互相Ping通,我的看法是 ping 包是加密的,因為使用隧道兩端的A、B 的IP地址進行加密,我同事說No,ping 包不加密,只有通過隧道的流量才加密,而ping 包并沒有經(jīng)過隧道,所以不加密,我豁然開朗,然也…
很久以來想寫一篇如何學好計算機網(wǎng)絡(luò)的文章,今天準備先寫一點,計算機網(wǎng)絡(luò)包含很多知識點,而要學好則需要一點一滴的積累,慢慢地發(fā)現(xiàn)自己懂了許多,同時會發(fā)現(xiàn)自己不懂的東西更多,但不要灰心,堅持下去,有一天你融會貫通了,會發(fā)現(xiàn)不懂的東西越來越少。
同時在學習的過程中,知道網(wǎng)絡(luò)設(shè)備的配置是一種編程,給程序賦值使之工作,那么要給自己提幾個問題,某些賦值可以讓程序正常工作,那反之呢?如果不正常的賦值是不是意味著程序可能會死機、崩潰、異常、不工作? 換句話說,如果程序發(fā)生上述異常,是不是意味著有可能賦值不正確?這樣一旦發(fā)生網(wǎng)絡(luò)故障時,由于平時學習過程中已經(jīng)想到了這些異常,那么排錯的時間就會大大減少。
剛才在防火墻上看到這樣的缺省配置:
tcp-map tcpmap
no check-retransmission
no checksum-verification
exceed-mss allow
queue-limit 0 timeout 4
reserved-bits allow
syn-data allow
synack-data drop
invalid-ack drop
seq-past-window drop
tcp-options range 6 7 clear
tcp-options range 9 255
clear tcp-options
selective-ack allow
tcp-options timestamp allow
tcp-options window-scale allow
ttl-evasion-protection
urgent-flag clear
window-variation allow-connection !
我的問題是,如果一個BGP session 途徑這臺防火墻,而BGP Peer 建立session時需要認證對方,請問這個BGP session 可以建立起來嗎? (假定ACL為BGP開放)
很顯然不會,為何?
因為這條配置:
tcp-options range 9 255 clear
還記得BGP 認證使用TCP option 號是多少嗎?我以前的文章多次提到,19/29,所以會被防火墻清除option 19/29,這樣雙方無法認證對方,最終BGP session 無法建立。
當然這條配置還有一些限制TCP的特征,限于時間就不一一展開了,平時多養(yǎng)成一個習慣,看到配置可以聯(lián)想到很多相關(guān)的內(nèi)容,有一些思想準備,會提高排錯的效率。
共勉!
網(wǎng)友解答:謝謝邀請!
計算機網(wǎng)絡(luò)的相關(guān)知識還是比較多的,要想學好計算機網(wǎng)絡(luò)的相關(guān)知識要有一個系統(tǒng)的學習計劃,這個學習計劃包括兩個大的部分,一部分是基礎(chǔ)的計算機網(wǎng)絡(luò)知識,另一部分是實驗操作,具體內(nèi)容包括以下部分:
第一部分:計算機網(wǎng)絡(luò)體系結(jié)構(gòu)。計算機網(wǎng)絡(luò)體系結(jié)構(gòu)包括通信模型、協(xié)議和網(wǎng)絡(luò)設(shè)備,其中OSI參考模型是學習計算機網(wǎng)絡(luò)的第一步,通過網(wǎng)絡(luò)模型來了解計算機網(wǎng)絡(luò)通信的基本流程,建立一個基本的數(shù)據(jù)通信概念。
第二部分:計算機數(shù)據(jù)傳輸。這部分內(nèi)容是計算機網(wǎng)絡(luò)進行數(shù)據(jù)通信的基礎(chǔ)部分,包括傳輸媒體、信號編碼技術(shù)、數(shù)字通信技術(shù)、數(shù)據(jù)鏈路控制、復用以及擴頻技術(shù)等內(nèi)容。這部分內(nèi)容的學習會對計算機網(wǎng)絡(luò)的通信過程有一個系統(tǒng)的了解,這部分內(nèi)容要重點學習數(shù)字信號和模擬信號的轉(zhuǎn)換、異步傳輸和同步傳輸以及差錯檢測和糾正,另外還包括頻分復用、同步時分復用等內(nèi)容。這部分內(nèi)容還包括大名鼎鼎的擴頻技術(shù),擴頻技術(shù)的發(fā)明者是一名好萊塢女影星Hedy Lamarr在1940年發(fā)明的,當時她只有26歲,難能可貴的是她并沒有通過擴頻技術(shù)的專利而獲利。
第三部分:廣域網(wǎng)和局域網(wǎng)。這部分內(nèi)容包括電路交換和分組交換、異步傳輸方式、擁塞控制以及高速局域網(wǎng)和無線網(wǎng)。這部分內(nèi)容還是具有一定難度的,包括分組交換原理、ATM邏輯連接、最小代價法、擁塞控制以及三層交換機等內(nèi)容。
第四部分:網(wǎng)際協(xié)議和運輸協(xié)議。這部分內(nèi)容包括網(wǎng)際互聯(lián)的基本原理、路由選擇協(xié)議、TCP擁塞控制等內(nèi)容。
另外,計算機網(wǎng)絡(luò)還包括網(wǎng)絡(luò)安全以及各種網(wǎng)絡(luò)服務(wù)的內(nèi)容。計算機網(wǎng)絡(luò)看似簡單但是內(nèi)容卻比較有深度,在學習的過程中還需要結(jié)合大量的實驗才能理解不同協(xié)議的工作原理。
我從事網(wǎng)絡(luò)開發(fā)工作多年,也參與過交換機的研發(fā),我會陸續(xù)在酷米寫一些關(guān)于計算機網(wǎng)絡(luò)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有計算機網(wǎng)絡(luò)方面的內(nèi)容,也可以咨詢我。
謝謝!