TCP IP協議原理解析

2021-08-15 18:50:23 字數 1807 閱讀 6620

我算是半路出家的程式設計師吧,剛畢業的時候不知道做什麼,工作後慶幸遇到了一名好leader,給我指了前端這條路。所以,雖然可以完成工作,但是對一些基礎知識卻了解的不夠深入透徹,是時候該補補短了。

要實現web瀏覽器和伺服器之間的通訊,最基礎的就是http了。開始打算從被稱作聖經的《http權威指南》入手,拿到手後,厚度讓我有點怵頭,但還是下定決心,把它啃下去。這本書中的概念很多,一邊看一邊請教大神,啃到第二章的時候,遇到了【可移植的】這個概念,理解不了。查詢過程中,發現好多大神並不推薦初學者從這本書入手,遂轉而從幾位大神推薦的《**http》入手。

為了了解http,有必要先了解一下tcp/ip協議族。通常使用的網路,是在tcp/ip協議族的基礎上運作的。tcp/ip協議族裡最重要的就是分層,分為應用層、傳輸層、網路層和資料鏈路層。

應用層決定了向使用者提**用服務時通訊的活動,ftp(file transfer protocal)、dns(domain name system)、http處於該層。

傳輸層提供處於網路連線中兩台計算機之間的資料傳輸,tcp(transmission control protocal)處於該層。

網路層,又叫網路互聯層,規定了通過怎樣的路徑到達對方計算機,並吧資料報傳給對方。ip(internet protocal)處於該層。

鏈路層,又叫資料鏈路層,網路介面層,用來處理連線網路的硬體部分。

傳送端在層與層之間傳輸時,每到一層,就會打上乙個該層專屬的首部資訊;反之,接收端在層與層之間傳輸時,每經過一層,就會去掉首部資訊。

下面針對在tcp/ip協議族中,與http密不可分的三個協議進行說明。

負責傳輸的ip協議。

ip協議的作用是把各種資料報傳送給對方,其中兩個重要的條件是ip位址(節點被分配到的位址,可變換)和mac位址(網絡卡所屬的固定位址,基本上不會更改)。在網路上通訊時,通常需要多台計算機和網路中轉才能連線到對方。在進行中轉時,會利用下一站中轉裝置的mac位址來搜尋下乙個中轉目標,這時,會採用arp(address resolution protocal)協議,可以根據通訊方的ip位址反查出對應的mac位址。就像快遞公司的送貨過程。

確保可靠性的tcp協議

為了準確的將資料送達,tcp採取了三次握手(three-way handshaking)策略。握手過程中使用了tcp標誌——syn(synchronize)和ack(acknowledgement)。傳送端首先傳送乙個帶syn標誌的資料報給對方。接收端收到後,會回傳乙個帶syn/ack標誌的資料報,表示確認送達。最後,傳送端再回傳乙個帶ack標誌的資料報,表示「握手」結束。握手過程中,任何乙個階段中斷,tcp協議會再次以同樣的順序傳送相同的資料報。

負責網域名稱解析的dns服務

dns提供網域名稱到ip位址間的解析服務,可以通過網域名稱查著ip位址,或通過ip位址反查網域名稱。

基本的過程和概念就這些,再借用《**》中的圖,可以更加清晰的了解整個資料傳輸過程了。

HTTPS協議原理解析

對稱加密 加密和解密的秘鑰使用的是同乙個。非對稱加密 與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰 公開金鑰 publickey 和私有金鑰 privatekey 公開金鑰與私有金鑰是一對,如果用公開金鑰對資料進行加密,只有用對應的私有金鑰才能解密 如果用私有金鑰對資料進行加密,那麼只有用對應...

TCP IP協議原理

tcp協議原理 tcp每傳送乙個報文段,就啟動乙個定時器,如果在定時器超時之後還沒有收到ack確認,就重傳該報文。如圖所示,資料報由a的緩衝區發往b,b在收到資料報以後,回發乙個ack確認包給a,之後a將該資料報從緩衝區釋放。因此,該資料報會一直快取在a的緩衝區,直到乙個ack確認為止。在tcp i...

TCP IP協議原理

tcp每傳送乙個報文段,就啟動乙個定時器,如果在定時器超時之後還沒有收到ack確認,就重傳該報文。如圖所示,資料報由a的緩衝區發往b,b在收到資料報以後,回發乙個ack確認包給a,之後a將該資料報從緩衝區釋放。因此,該資料報會一直快取在a的緩衝區,直到乙個ack確認為止。在tcp ip協議中,tcp...