计算机网络体系小知识
網(wǎng)絡架構通常分為兩種:OSI七層與TCP/IP五層網(wǎng)絡架構
OSI七層模型:
TCP/IP五層網(wǎng)絡架構:
?
下面是對TCP/IP五層網(wǎng)絡架構的通俗解釋:
應用層: 應用層協(xié)議中的內(nèi)容,是整個網(wǎng)絡傳輸?shù)暮诵?#xff0c;網(wǎng)絡五層體系服務的最終目標就是它。
? 它類似于一名乘客,需要從百度服務器乘車到你的電腦中。
? 應用層協(xié)議的內(nèi)容,就是我們程序直接面對的,要使用的數(shù)據(jù)。
常見的應用層協(xié)議(乘客)有:
DNS 協(xié)議
DNS 協(xié)議,Domain Name System,用來把域名轉化為 IP。
DNS 這個協(xié)議幫我們完成這個記憶,有了個域名,想知道對應的 IP,
DNS 從本地查。如果本地沒有記錄,又會去本地的域名服務器查...直到根域名服務器,
是一個分布式的過程。如果服務器遷移,IP 地址修改,域名服務商是會幫忙刷新 DNS 服務器的緩存的。
為什么有這么一個協(xié)議存在?我知道目標主機的 IP,直接填不就好了?這個當然沒問題,但是全世界這么多網(wǎng)址,IP 數(shù)量龐大,
要真的使用數(shù)字記憶的話,那是很困難的。如果又發(fā)生了更換了服務器,那 IP 也要跟著換,客戶端沒有即使更換又會造成大量問題。
還有有的時候用 CDN 加速,如果直接填 IP,就直接繞開了 CDN 去源服務器取數(shù)據(jù)了。
HTTP 協(xié)議
在格式各樣的計算機網(wǎng)絡中,有一個圣地那就是萬維網(wǎng) WWW。
在這個網(wǎng)絡中行走的乘客就是 HTTP 協(xié)議,帶著文本,圖像、視頻等數(shù)據(jù),往來于不同的站點。
所以也可以把它們看成攜帶著大量貨物的商隊,來往于各個城市站點。
-----------------------
運輸層: 運輸層是體系結構的調度者,管理著數(shù)據(jù)的傳輸?shù)囊恍┎呗浴?br />? 什么時候可以傳?要傳多少?要不要接收?什么時候結束?
? 運輸層有兩個調度者,兩種不同的風格,分別為 TCP 和 UDP。
TCP 很嚴格,一個包都不能有失,完美主義的處女座,因為紀律嚴明且要求嚴格的 TCP 工作效率并不高,
每次發(fā)完一陣子都要確認一下是否順序正確,不正確的話再發(fā)個包。UDP 就比較不拘小節(jié),丟包了亂序了都不管,
所以在網(wǎng)絡環(huán)境好的情況下,UDP 可以做到快速而且正確率高。
TCP 調度者的工作內(nèi)容主要三大塊,分別為可靠傳輸、流量控制和擁塞避免。簡單理解,可靠傳輸就是希望傳輸過程中有丟包或者錯誤包的現(xiàn)象,
讓發(fā)送端重傳;流量控制就是建了個緩沖池,讓接收方和發(fā)送方用合適的速率傳輸,不會因為傳輸太快導致數(shù)據(jù)丟失。
比如我們有一個倉庫大小就那么大,東西都還沒用完,又不停地往里面存東西,那么直接結果是倉庫爆了后后面送過來的貨物還要重新送,
還不如直接告訴發(fā)送端,倉庫滿了,等等吧。這就是后面會提到的 TCP 首部的窗口大小;擁塞避免就是在網(wǎng)絡環(huán)境差的情況下,
有好的機制減低發(fā)包節(jié)奏,緩解網(wǎng)絡環(huán)境。比如在某個城市開車,出行的人突然增加,那么等個時間再出來。
UDP 調度者因為不需要嚴格的建立連接,又不需要各種確認機制保證包不亂,所以整個協(xié)議非常輕量。
如果想要保證數(shù)據(jù)的完整且接收的順序無誤,那么得應用層協(xié)議自己來。
-----------------------
網(wǎng)絡層:網(wǎng)絡層的是體系結構的向導,負責找到要到達接收方的路徑。
經(jīng)過了傳輸層,包大小確定了,傳輸時間也決定了。然后,手里只有 IP 和 端口號,就像現(xiàn)在廈門,并且知道了目標地點是北京,可是該怎么走呢?
需不需要中轉?中轉的地方又在哪里?
這時候要看 IP 協(xié)議族了。這個大家族都吃這碗飯,提供指路服務。
運輸層的包,比如 TCP 或者 UDP,向導會填入目的信息。所以,在這個過程中它做的就是找到下一站,然后到達之后再尋找下一站直到終點
網(wǎng)絡層向導會去問路,如何能夠找到最短路徑,或者能最快到達的路徑呢?比如從中國到美國,是從太平洋走,還是先去歐洲再走大西洋呢?那條路能夠更快到達目的地。
于是問路就有了兩種不同的策略,有用 RIP 協(xié)議去問路,又或者是 OSPF 協(xié)議去問路。
但是到達數(shù)據(jù)到達數(shù)據(jù)鏈路層的包只認物理地址怎么辦?所以這里還有個 ARP 協(xié)議,用來找到 IP 對應地址的硬件地址,方式還是用廣播。
像我們平時使用 Wireshark 抓包看到的,經(jīng)常會有一些向導往整個局域網(wǎng)里問,“who has xxxxx? Tell xxxxx”。目標會給向導答復,
到時候把硬件地址記錄下來即可。
-----------------------
數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層里的協(xié)議就是要使用的交通工具了。
不同網(wǎng)絡的差異性主要就體現(xiàn)在這一層。對于數(shù)據(jù),并不需要我們路上經(jīng)過了什么,怎么走。但交通工具要明白。不同的網(wǎng)絡,交通情況是不一樣,所以有不同的策略來走。
比如去往 ISP 使用 PPP 協(xié)議。
在普通局域網(wǎng)內(nèi)部使用 CSMA/CD 協(xié)議。
數(shù)據(jù)鏈路層的協(xié)議,無論選擇什么樣的行走策略,無論是在天上飛的,地上跑的,海里游的,都會面臨三個基本問題:封裝成幀、透明傳輸和差錯檢測。
解決了這三個問題,那么這個交通工具就可以上路了。
-----------------------
物理層:什么時候出發(fā),去什么地方,用什么方式走都已經(jīng)確定好了,轉化為二進制信號后,由物理層真實地發(fā)送到目標地址去。
那這條路物理層傳輸?shù)膸捲鯓?#xff0c;就像我們的道路是四車道還是六車道,是大道還是羊腸小路。傳輸?shù)乃俾试鯓?#xff0c;就像這條路的路況如何,是坑坑洼洼的還是一馬平川。
物理層的特性決定的路況。不同地方的貧富差距不一樣,或者環(huán)境的限制,修的路也不一樣。有的用雙絞線,有的用同軸電纜,再不錯的就用光纖了。所以,在相同的時間里,
在不同的物理層設備環(huán)境中,可能你還在廈門島內(nèi)堵車,我已經(jīng)搭動車飛馳 200 公里到另一座城市。
-----------------------
小結:
當我們要發(fā)送一個數(shù)據(jù),經(jīng)過這五層協(xié)議,為了完成每一層協(xié)議的功能,比如可靠傳輸、確定路由等,這些協(xié)議都會添加一些必要的首部來完成功能。
這里我們使用 TCP 協(xié)議作為傳輸層協(xié)議,所以到達物理層前要發(fā)送出去的包在每層協(xié)議添加首部后會有這樣的結構:
?
參考文章:三分鐘快速理解計算機網(wǎng)絡體系結構 http://www.jianshu.com/p/e5aa40925429
轉載于:https://www.cnblogs.com/zhou--fei/p/7651793.html
總結
以上是生活随笔為你收集整理的计算机网络体系小知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请问小仙炖燕窝怎样,有营养吗?
- 下一篇: AOSCP4.1.2 红米Note 4X