計算機網路學習筆記

2022-07-08 03:36:11 字數 3606 閱讀 6684

網路分層的意義:分層是解決複雜問題的有效辦法。利用分層的思想,可以對複雜問題進行合理的抽象,然後更好的解決問題。

ip位址和mac位址

ip位址具有定位功能,mac位址無定位功能,像身份證一樣,唯一標識一張網絡卡。

ip位址分共有ip和私有ip。

使用arp協議請求查詢mac位址.

網路協議五層模型

綜合osi標準七層模型和tcp/ip四層網路模型的五層網路模型

資料鏈路層有很多具體的協議,比如arp、ieee802.3等等。資料鏈路層,也可稱為介質訪問控制層(media access control layer,簡稱mac層)。

mac層要解決三個問題:

物理通訊鏈路資源有限,如何合理傳送資料:通道劃分、輪流傳送、隨機接入。

資料錯誤怎麼解決:crc迴圈冗餘校驗演算法。

多個區域網主機共用乙個公網的問題

乙個區域網中可以有很多臺主機,當這些主機要訪問一台公網伺服器的時候,請求資料報中的源ip位址會被nat閘道器轉化為公網ip,因為區域網的ip位址是無法與公網伺服器直接通訊的。這種情況有乙個問題:多台區域網的主機使用同乙個公網ip,那響應資料報回到nat閘道器的時候,應該**給哪個區域網主機呢?

為了解決這個問題,napt技術被提出。不同於nat技術,napt在進行位址轉換(位址對映)的時候,帶了埠資訊。比如,區域網主機訪問一台公網主機時ip+port=192.168.0.3:6021,當這個資料報到達napt閘道器的時候,把位址+埠的組合改變成43.100.87.1:8989,這樣192.168.0.3:6021 -> 43.100.87.1:8989的對映關係就建立起來了,當響應資料報到達napt閘道器的時候,再把43.100.87.1:8989對映為192.168.0.3:6021,就知道這個資料報是發給區域網中哪台主機的。區域網中別的主機訪問公網伺服器的時候,napt閘道器再將其ip+port對映為另乙個ip+port,比如43.100.87.1:8990,這樣就達到了復用公網ip的目的。

udp:無連線的協議。傳送之前不建立連線。適合對資料傳輸實時性要求高的場景,比如流**、實時遊戲、物聯網傳輸協議。協議格式如下圖

tcp:面向連線的協議。所謂面向連線,是指通訊雙方在核心中使用複雜的資料結構和演算法來維護一組狀態,通過網路包的互動來改變狀態。

tcp的特性

tcp三次握手:

為什麼是三次而不是兩次或者四次?

如果只是兩次,無法證明a-b之間是互通的。四次、五次也可以,但是沒有必要,因為網路環境是不確定的,n次握手也無法百分之百確定對方的狀態。因此,三次握手是相對合理的,對於客戶端來說,它發出的訊息一去一回,對於伺服器來說,它發出去的訊息也是一去一回,這就可以說明兩台機器之間網路是互通的,可以進行資料傳輸了。

tcp四次揮手

流量控制機制:接收方在ack包中傳送自己的接收視窗(rwnd)大小,傳送端根據這個視窗大小降低傳送速率。

擁塞控制機制:使用擁塞視窗(cwnd)控制自己傳送的速率,防止造成網路擁擠。cwnd有乙個增長曲線。總結為:慢啟動階段(cwnd指數級增長)、線性增長階段、快重傳(接收端收到了後發的包,先發的包沒收到,此時就會發三個上乙個已經確認過的包的ack訊息,傳送端收到這三個包之後快速進行重傳,不會把cwnd直接降為1)。

傳送端實際的傳送視窗=min

io多路復用機制:使用乙個程序或者乙個執行緒,處理多個io描述符。這個機制本身不會直接解決併發問題,但是能夠更有效的利用cpu。

http request協議的組成分為三個部分:請求行、首部、請求體

http response協議的組成也分為三個部分:狀態行、首部、響應體

協議中,首部欄位均是key-value的鍵值對,sp代表空格。

http 2.0 通過頭壓縮、分幀、二進位制編碼、多路復用等技術提公升效能,除了http之外,谷歌的quic協議也可以用來執行web請求,其底層是基於udp的。

https 使用了非對稱加密和堆成加密結合的方式保證了通訊的私密性。非對稱加密用於雙方溝通隨機數,並用隨機數產生對稱秘鑰。在隨後的資料傳輸中均使用堆成加密的方式保證訊息的私密性。實際上,https的主要思想就是使用非對稱加密演算法傳輸公鑰。

dns網域名稱系統,是乙個將網域名稱和ip位址做對映的分布式資料庫。dns除了可以將網域名稱解析為ip位址之外,還可以做全域性負載均衡,原理是可以通過乙個網域名稱得到多個ip位址,這些ip位址的主機提供同樣的服務。

dns解析網域名稱的流程:(假設要訪問的網域名稱沒有在本地dns快取中)本地dns伺服器會向根dns伺服器發起查詢請求,根dns伺服器會返回頂級域dns伺服器的位址,然後本地dns伺服器向頂級域dns伺服器發起查詢請求,頂級域dns伺服器返回權威dns伺服器的位址,最後本地dns伺服器再向權威dns伺服器發起請求,得到網域名稱對應的ip位址。發起查詢的主機會把查詢結果快取下來,下次訪問這個網域名稱的時候先查詢本地快取,若有則直接返回對應的ip位址。

httpdns也是一種dns服務,提供網域名稱和ip位址的轉換服務,主要應用於移動端。httpdsn相比於傳統的dns,具有解析速度快、可控的快取更新等優點。

cdncdn(內容分發網路):由全域性負載均衡器和多級邊緣節點組成的網路。機制是,全域性負載均衡器對發起請求的機器ip進行分析計算,返回距離請求機器距離更近的伺服器。cdn主要用於靜態資源的快取,同時也支援流**協議。對於動態資料,也可以使用邊緣計算或者優化的cdn鏈路訪問源主機。

虛擬機器的網路

虛擬機器的網路要與宿主機所在的網路互通,有兩種方式。

橋接網路:這種模式下,虛擬機器和宿主機直接就是在乙個子網。

nat模式:這種模式下,虛擬機器和宿主機各自在各自的區域網中,它們之間通過虛擬交換機連通。

不管哪種方式,都是共用宿主機的物理網絡卡傳輸訊息。

計算機網路筆記 計算機網路學習筆記 九

81 什麼是組播路由?組播路由是一種有針對性的廣播形式,將訊息傳送到所選擇的使用者組,而不是將其傳送到子網上的所有使用者。82 加密在網路上的重要性是什麼?加密是將資訊轉換成使用者不可讀的 的過程。然後使用秘密金鑰或密碼將其翻譯或解密回其正常可讀格式。加密有助於確保中途截獲的資訊仍然不可讀,因為使用...

計算機網路筆記 計算機網路學習筆記 六

51 當您希望在不同平台 如 unix 系統和 windows 伺服器之間 傳輸檔案時,可以應用什麼協議?使用 ftp 檔案傳輸協議 在這些不同的伺服器之間進行檔案傳輸。這是可能的,因為 ftp 是平台無關的。52 預設閘道器的使用是什麼?預設閘道器提供了本地網路連線到外部網路的方法。用於連線外部網...

計算機網路學習 計算機網路效能

出自 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...