咱們經常使用的網絡協議有哪些?
你先在瀏覽器裏面輸入 https://www.kaola.com ,這是一個URL。瀏覽器只知道名字是「www.kaola.com」,可是不知道具體的地點,因此不知道應該如何訪問。因而,它打開地址簿去查找。可使用通常的地址簿協議DNS去查找,還可使用另外一種更加精準的地址簿查找協議HTTPDNS。不管用哪種方法查找,最終都會獲得這個地址:106.114.138.24。這個是IP地址,是互聯網世界的「門牌號」。知道了目標地址,瀏覽器就開始打包它的請求。對於普通的瀏覽請求,每每會使用HTTP協議;可是對於購物的請求,每每須要進行加密傳輸,於是會使用HTTPS協議。不管是什麼協議,裏面都會寫明「你要買什麼和買多少」。 編程
DNS、HTTP、HTTPS 所在的層咱們稱爲應用層。通過應用層封裝後,瀏覽器會將應用層的包交給下一層去完成,經過 socket 編程來實現。下一層是傳輸層。傳輸層有兩種協議,一種是無鏈接的協議UDP,一種是面向鏈接的協議TCP。對於支付來說,每每使用 TCP 協議。所謂的面向鏈接就是,TCP 會保證這個包可以到達目的地。若是不能到達,就會從新發送,直至到達。TCP 協議裏面會有兩個端口,一個是瀏覽器監聽的端口,一個是電商的服務器監聽的端口。操做系統每每經過端口來判斷,它獲得的包應該給哪一個進程。瀏覽器
傳輸層封裝完畢後,瀏覽器會將包交給操做系統的網絡層。網絡層的協議是 IP 協議。在 IP 協議裏面會有源 IP 地址,即瀏覽器所在機器的 IP 地址和目標 IP 地址,也即電商網站所在服務器的 IP 地址。服務器
操做系統既然知道了目標 IP 地址,就開始想如何根據這個門牌號找到目標機器。操做系統每每會判斷,這個目標 IP 地址是本地人,仍是外地人。若是是本地人,從門牌號就能看出來,可是顯然電商網站不在本地,而在遙遠的地方。操做系統知道要離開本地去遠方。雖然不知道遠方在何處,可是能夠這樣類比一下:若是去國外要去海關,去外地就要去網關。而操做系統啓動的時候,就會被 DHCP 協議配置 IP 地址,以及默認的網關的IP 地址 192.168.1.1。操做系統如何將 IP 地址發給網關呢?在本地通訊基本靠吼,因而操做系統大吼一聲,誰是 192.168.1.1啊?網關會回答它,我就是,個人本地地址在村東頭。這個本地地址就是MAC地址,而大吼的那一聲是ARP協議。
接下來咱們將學習各層次網絡協議。網絡