IP、TCP和DNS與HTTP的密切關係

看了上一篇博文的發表時間,是7月22日,如今是10月22日,已經有三個月沒寫博客了。這三個月裏各類忙各類瞎折騰,發生了不少事情,也思考了不少問題。如今這段時間開始閒下來了,同時該思考的事情也思考清楚了,因此打算繼續寫博客,分享個人工做上的經驗總結和本身所接觸的技術,讓想多瞭解點技術的博友們能夠互相交流和學習。服務器

好了,廢話很少說,直接進入主題,本次打算分享HTTP協議系列的相關文章,適合初學者學習,高手或者大神能夠繞道,固然也能夠一塊兒交流交流。網絡

此次先講講IP、TCP和DNS與HTTP的密切關係。學習

知識點

•IP協議的概念與做用
•TCP協議的概念與做用
•TCP協議的三次握手過程
•DNS的概念與做用
•HTTP與TCP、IP和DNS的關係
  

1、IP協議的概念與做用

IP的概念:大數據

英文爲Internet Protocol,翻譯成網際協議,位於網絡層。網站

這個網際協議這個名字聽起來有點誇張,但事實就是這樣,由於幾乎全部使用網絡的系統都會用到IP協議。TCP/IP協議族中的IP指的是網際協議,它在協議名稱中佔據了一半的位置,從這能夠知道IP協議是多麼的重要。這裏咱們須要注意兩個概念,IP和IP地址,可能有人會把它搞混。IP實際上是一種協議的名稱,而IP地址是一個地址。spa

 

IP的做用:翻譯

  把各類數據包傳送給對方。若是要保證肯定傳送到對方那裏,則須要知足各種條件,其中最重要的兩個條件是IP地址和MAC地址。blog

 (1)IP地址:指明瞭節點被分配到的地址事務

 (2)MAC地址:是指網卡所屬的固定地址博客

 (3)區別:IP地址可變換,但MAC地址基本上不會更改。

 

若是你想要保證數據包傳送到對方去,那就必須知足各類條件,其中最重要的兩個條件是IP地址和MAC地址。

什麼是IP地址呢?IP地址指明瞭節點被分配到的地址。而什麼又是MAC地址呢? MAC地址的網卡所屬的固定地址。形象一點來講,MAC地址就像咱們的身份證號,每個MAC地址是惟一的,而且基本不會改變。這裏我爲何說基本不會改變呢?由於目前咱們能夠經過軟件修改,也就是用軟件來修改MAC地址。IP地址是能夠和MAC地址進行配對的。

 

咱們來了解一下使用ARP協議憑藉MAC地址進行通訊

什麼是ARP協議呢?ARP協議它是一種用以解析地址的協議,咱們只要知道通訊方的IP地址,就能夠反查出對應的MAC地址。也就是說IP間的通訊依賴於MAC地址。

咱們來看一下這個圖:

在網絡上,通訊的雙方一般都是要通過多臺計算機或者網絡設備中轉才能鏈接到對方。而在進行中轉時,會利用下一站中轉設備的MAC地址來搜索下一個中轉目標,這時咱們就是靠ARP協議來進行處理。

 

 

2、TCP協議的概念與做用

(1)TCP的概念:TCP英文爲Transmission Control Protocol ,翻譯成傳輸控制協議,位於傳輸層。

(2)TCP有什麼做用呢?它是提供可靠的 字節流服務。

(3)什麼是字節流服務?所謂的字節流服務指的是,爲了方便傳輸,將大塊數據分割成  以報文段爲單位的數據包  進行管理

(4)爲什麼強調可靠呢?由於它可以把數據準確可靠地傳送給對方。總而言之,TCP協議就是爲了 更容易傳送大數據 才把數據分割,並且TCP協議可以確認數據  最終是否送達對方。

(5)TCP協議如何才能保證提供可靠的服務?它採用了三次握手策略。 也就是用TCP協議 把數據包送出去後,它不會對傳送後的狀況置之不理,它必定會想對方確認  是否成功送達。

 

 3、TCP協議的三次握手過程

咱們來看一下這個圖:

握手過程當中使用了TCP的標誌-SYN和ACK。發送端首先發送一個S帶SYN標誌的數據包給對方。接收端接到後,就會回傳一個帶有SYN/ACK標誌的數據包  以表示傳達確認信息。最後,發送端再回傳一個帶ACK標誌的數據包 給接收端, 此時表明「握手」結束。除了三次握手來保證通訊的可靠性,TCP協議還有其餘各類手段來保證通訊的可靠性,這裏我就不過多講解了,你們能夠本身翻閱相關資料去了解下。

 

4、DNS的概念與做用

(1)DNS的概念:英文爲Domain Name System ,翻譯成域名系統,位於應用層。

(2)DNS有什麼做用呢?  它是提供域名到IP地址之間的解析服務。

咱們平時訪問一個網站,一般都是使用主機名或域名來訪問,而不是直接經過IP地址來訪問。爲何咱們不用IP地址去訪問呢?由於IP地址是一組純數字,比較難記。好比說,咱們極客學院的IP地址爲121.42.104.52,而域名爲www.itcen.cn。    若是咱們用IP地址去訪問網站,那是很難記得住的。而用域名就比較容易記住了。可是呢,計算機和人不同,你要計算機去理解名稱,相對來講就比較困難了。計算機比較擅長處理一長串數字。爲了解決這個問題,就有了DNS服務。DNS協議它是提供  經過域名 來查找IP地址,或者逆向 從IP地址反查域名 的服務。

 

5、HTTP與TCP、IP和DNS的關係

最後咱們經過一張圖來了解一下HTTP與TCP、IP和DNS的關係,看看它們在通訊的過程當中各類發揮了什麼做用。

我來拿個人博客來舉個例子:

首先是,我想訪問網站,將域名發送給DNS去解析,DNS解析後將網站的IP地址返回給客戶端,而後經過IP地址發起HTTP請求。HTTP此時的做用是 生成針對目標WEB服務器(咱們這裏指的是網站的服務器)的HTTP請求報文,而後將請求報文傳送給傳輸層,此時爲了方便通訊,TCP會將HTTP請求報文  分割成報文段,這些報文段會有一個序號,這裏的報文段哪個先發送哪個先到達,它們是按序傳送的。只要創建起TCP鏈接,客戶端與服務器之間的報文交換就不會丟失,不會被破壞,也不會在接收時出現錯序。接着到了網絡層,此時IP協議的職責是,搜索對方的地址,一邊中轉一邊傳送。而後找到了服務器的位置,此時服務器的傳輸層中 TCP的職責是  接收到對方傳送過來的報文段後,對其進行重組,這裏的重組是按序號進行重組的。而後到了服務器的應用層,HTTP會對客戶端請求的內容進行處理。處理完後,服務器一樣會利用TCP/IP通訊協議向客戶端進行回傳響應。最後客戶端收到響應後,將內容輸出頁面顯示。即完成了一次HTTP事務。

 

  若是此博文中有哪裏講得讓人難以理解,歡迎留言交流,如有講解錯的地方歡迎指出。

  

 

  若是您以爲您能在此博文學到了新知識,請爲我頂一個,如文章中有解釋錯的地方,歡迎指出。

  互相學習,共同進步!

相關文章
相關標籤/搜索