協議三要素
語法,就是一段內容要符合一定的規則和格式,例如,括號要成對,結束要使用分號等,
語意,就是一段內容要代表某種意義,例如數字減去數字是有意義的,數字減去文本一般來說就沒有意義,
順序,就是先干什么,后干什么,例如,可以先加上某個數值,再減去某個數值
學會了計算機語言,就能夠交給一臺計算機完成你的作業,但是,只交給一臺機器做什么是不夠的,還需要學會交給一大片機器做什么,這就需要網路協議,只有通過網路協議,才能使一大片機器相互協作,共同完成一件事,
互聯網世界的運行程序中都使用了哪些協議呢?
在瀏覽器中輸入一個網址,這個網址是一個URL,瀏覽器只知道名字,但是不知道具體的地點,所以不知道該如何訪問,于是它打開地址簿去查找,可以使用一般的地址簿協議DNS去查找,還可以使用另一種更加精準的地址簿協議HTTPDNS,無論使用那種方法查找都會得到一個IP地址,這個IP地址是互聯網世界的“門牌號”,
知道了目標地址,瀏覽器就開始打包它的請求,對于普通的瀏覽器請求,往往會使用HTTP協議,但是對于購物的請求,往往需要進行加密傳輸,因而會使用HTTPS協議,
DNS、HTTP、HTTPS所在的層我們稱為應用層,經過應用層封裝之后,瀏覽器會將應用層的包交給下一層去完成,通過Socket編程來實作,下一層是傳輸層,傳輸層有兩種協議,一種是無連接的UDP協議,一種是面向連接的TCP協議,對于支付來說,往往會使用TCP協議,所謂的面向連接就是,TCP會保證一個包能夠到達目的地,如果不能到達,就會重新發送,直至到達,
TCP協議里會有兩個埠,一個是瀏覽器監聽的埠,一個是電商的服務器監聽的埠,作業系統往往通過埠來判斷,它得到的包應該給哪個行程,
傳輸成封裝完畢之后,瀏覽器會將包交給作業系統的網路層,網路層的協議是IP協議,在IP協議里有源IP地址,即瀏覽器所在機器的IP地址和目標IP地址, 作業系統知道了目標地址,就開始想如何根據這個門牌號找到目標機器,作業系統往往會判斷這個目標IP地址是本地人還是外地人,如果是本地人,通過門牌號就能看出來,如果不是本地,作業系統就需要將IP地址發給網關,作業系統在啟動的時候會被DHCP協議配置IP地址,以及默認的網關IP地址192.168.1.1,作業系統是如何將IP地址發給網關的呢?本地通信基本靠吼,于是作業系統大吼一聲,誰是192.168.1.1?網關會回答它,這個本地地址就是MAC地址,而大吼的那一聲就是ARP協議,
于是作業系統將IP包交給了下一層,也就是MAC層,網卡再將包發出去,由于這個包里面有MAC地址,因而它能夠到達網關,
網關收到包之后,會根據自己的知識判斷下一步該怎么走,網關往往是一個路由器,到某個地址應該怎么走,這個叫作路由表,使用的協議稱為路由協議,常用的有OSPF和BGP,
到達目標服務器后,取下MAC頭,發送給作業系統的網路層,IP地址對應上之后,取下IP頭,IP頭里會寫上一層封裝的是TCP協議,然后將其交給傳輸層,即TCP層,
在這一層里,對于收到的每個包,都會有一個回復的包說明收到了,這個回復的包不是請求的結果,而僅僅是TCP層的一個說明,即收到之后的回復,當然這個回復,會沿著剛才來的方向走回去,報個平安,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297441.html
標籤:其他
上一篇:nginx的使用
