1. 程式人生 > >網絡協議學習筆記1

網絡協議學習筆記1

配置 互連 報文 dns 返回 系統 發出 不能 得到

編譯過程 源文件 -> 詞法分析 -> 語法分析 -> 語義分析 -> 代碼生成 -> 源文件 應用層協議:DNS HTTP HTTPS 傳輸層協議:UDP TCP UDP:無連接的協議 TCP:面向連接的協議(會確保這個包能夠到達目的地,如果不能到達,會重新發送,直至到達)(有兩個端口,一個瀏覽器監聽的端口,一個是服務器監聽的端口。操作系統往往通過端口來判斷,它得到的包應該進哪個進程) 一個網站的請求過程 1.輸入url 瀏覽器會打開地址簿協議DNS去查找 還可以使用另外一種更加精準的地址簿HTTPDNS去查找 獲取到IP地址 ,獲取到目標地址之後 ,瀏覽器開始打包請求,經過應用層的封裝 等到下面的包 技術分享圖片
2.瀏覽器打包好請求之後 會將應用層的包交給下一層(傳輸層),通過socket來實現。 技術分享圖片 3.傳輸層封裝完畢後,瀏覽器會將包交給操作系統的網絡層。網絡層的協議是IP協議。在IP協議力會有源IP地址,即瀏覽器所在機器的IP地址和目標IP地址。技術分享圖片 4.操作系統知道包要離開本地去遠方,把包交給網關.而操作系統啟動的時候,就會被DHCP協議配置IP地址,以及默認的網關的IP地址 192.168.1.1。 操作系統利用ARP協議大吼一聲,網關就會回復操作系統一個MAC地址。 技術分享圖片 於是操作系統將IP包交給了下一層MAC層。網卡再將包發出去。裏面包含了網關的MAC地址,從而到達網關。 5.網關收到包之後,根據自己的知識判斷下一步怎麽走。網關通常是一個路由器,到某個IP地址後怎麽走,這個叫路由表 6.每到達一個網關,就要拿出IP頭來,裏面寫著源IP地址,想經過目標IP地址。技術分享圖片
網關之間經常使用路由協議去溝通,常用的有OSPF和BGP. 網關與網關之間是一個局域網,當網絡包知道了下一步要去哪個網關,還是要使用局域網內部的MAC地址,通過下一個網關的MAC地址,然後再問下一步怎麽走,一直到走出最後的網關。 7.最後一個網關之後包要去的地方,對著局域網內部發送通知,尋找目標IP地址,目標服務器就會回復一個MAC地址。網絡包過關後,通過MAC地址就能找到目標服務器。 8.目標服務器發現MAC地址對上,就取下MAC頭部,發送給操作系統的網絡層。IP地址也對上了就取下IP頭。IP頭裏會寫上上一層封裝的是TCP協議,就會將其交給傳輸層,即TCP層。 9.在這一層裏,對於收到的每個包,都會有一個回復的包說明收到了。沿路返回。給發送包的源頭報平安。 10.當網絡包到達TCP層之後,TCP頭中有目標端口號,通過這個端口號,可找到網站的進程正在監聽這個端口號,假設一個tomcat,將這個包發給網站。技術分享圖片
11.網站的進程得到HTTP請求的內容,之後要做什麽。往往一個網站最初的接待請求的這個tomcat知識一個接待員,負責統籌處理這個請求。這個接待員通過RPC調用,來告訴相關的進程要幹什麽,接待員不用關心中間的網絡互連問題,會由RPC框架統一處理。RPC框架有很多中,有基於HTTP協議的報文裏面的,有直接封裝在TCP報文裏面的。 12.當接待員發現相應的部門都處理完了之後,就回復一個HTTP(HTTPS)的包,告知任務完成。這個包會像來的時候一樣,經歷多個網關,回到你的私人電腦,最終進入瀏覽器,現實任務完成。 技術分享圖片

網絡協議學習筆記1