1、什麼是tcp/ip
我們的http協議就屬於tcp/ip協議家族中的一員,了解http協議再整個網路流程中的地位,也能更加充分的理解http協議。
tcp/ip協議是乙個協議集合。大家叫的時候方便說,所以統稱為tcp/ip。tcp/ip協議族中有乙個重要的概念是分層,tcp/ip協議按照層次分為以下四層。應用層、傳輸層、網路層、資料鏈路層。
tcp/ip分層和各層的協議
下面是從網路上找到的tcp/ip通訊資料流
2、http 關係密切的協議 : ip、tcp 和 dns
ip協議:ip(internet protocol),這裡的ip不是值得我們通常所說的192.168.1.1.這個ip指的是一種協議,而後面的數字值得是ip位址。ip協議的作用在於把各種資料報準確無誤的傳遞給對方,其中兩個重要的條件是ip位址,和mac位址(media access control address)。由於ip位址是稀有資源,不可能每個人都擁有乙個ip位址,所以我們通常的ip位址是路由器給我們生成的ip位址,路由器裡面會記錄我們的mac位址。而mac位址是全球唯一的,除去人為因素外不可能重複。舉乙個現實生活中的例子,ip位址就如同是我們居住小區的位址,而mac位址就是我們住的那棟樓那個房間那個人。
使用 arp 協議憑藉 mac 位址進行通訊
ip 間的通訊依賴 mac 位址。在網路上,通訊的雙方在同一區域網(lan)內的情況是很少的,通常是經過多台計算機和網路裝置中轉才能連線到對方。而在進行中轉時,會利用下一站中轉裝置的 mac 位址來搜尋下乙個中轉目標。這時,會採用 arp 協議(address resolution protocol)。arp 是一種用以解析位址的協議,根據通訊方的 ip 位址就可以反查出對應的 mac 位址
你向另外一台電腦傳送一條資訊,怎麼再茫茫人海中瞬間找到對方,以下是圖示:
tcp協議:如果說ip協議是找到對方的詳細位址。那麼tcp協議就是把安全的把東西帶給對方。各有分工,互不衝突。
按層次分,tcp屬於傳輸層,提供可靠的位元組流服務。什麼叫位元組流服務呢?這個名字聽起來讓人不知所以然,下面聽下我通俗的解釋。所謂的位元組流,其實就類似於資訊切割。比如你是乙個賣自行車的,你要去送貨。安裝好的自行車,太過龐大,又不穩定,容易損傷。不如直接把自行車拆開來,每個零件上都貼上收貨人的姓名。最後送到後按照把屬於同乙個人的自行車再組裝起來,這個拆解、運輸、拼裝的過程其實就是tcp位元組流的過程。
我們看下嚴謹的學術表達是怎樣的:
所謂的位元組流服務(byte stream service)是指,為了方便傳輸,將大塊資料分割成以報文段(segment)為單位的資料報進行管理。而可靠的傳輸服務是指,能夠把資料準確可靠地傳給對方。一言以蔽之,tcp 協議為了更容易傳送大資料才把資料分割,而且 tcp 協議能夠確認資料最終是否送達到對方。為了確保資訊能夠確保準確無誤的到達,tcp採用了著名的三次握手策略(three-way handshaking).下面我寫一段對話來模擬下這三次握手。
dns:dns(domain names system) 和http協議一樣是處於應用層的服務,提供網域名稱到ip位址之間的解析服務。
網際網路之間是通過ip位址通訊的,但是ip位址並不符合認得記憶習慣,人喜歡記憶有意義的字詞。所以dns服務就為了解決這個問題而生了。其實很好理解,形如我們電腦中host檔案。
192.168.1.11 roverliang.com
當我們訪問roverliang.com 的時候,電腦便不會去外網伺服器上查詢了,直接去訪問192.168.1.111。這是乙個簡單的網域名稱劫持,足以說明dns的涵義了。
下面是我們訪問乙個網頁,各種協議在裡面起的作用。
長連線和短連線:
長連線是指客戶端和服務端始終建立乙個鏈結,在沒有中斷之前,客戶端和伺服器之間可以隨時進行通訊(socket通訊)
短連線是指通訊雙方有資料互動時,就建立乙個鏈結,資料互動完後,則斷開連線(http)
通訊協議TCP IP協議棧
注 本文內容來自大神,作為學習筆記記錄在此。如有雷同,敬請諒解 首先普及一些基本概念 rfc tcp ip協議的標準文件。埠號 port tcp,udp上的邏輯號碼 而不是硬體埠。tcp ip協議棧主要分為四層 應用層 傳輸層 網路層 資料鏈路層 每層都有相應的協議 所謂的協議 就是雙方進行資料傳輸...
HTTP協議 簡單認識TCP IP協議
大學沒讀計算機專業,所以很多的專業知識都不知道。既然已經從事了it這個行業,就勢必要去了解下網路底層,雖然實際工作中這些東西用不到。高樓大廈,起於平川。不積跬步,無以至千里,不積小流,無以成江海。我現在的知識結構,就如同空中樓閣。稍微遇到高層次的問題,可能就理解不了了。一棵大樹如果不在剛開始的時候深...
HTTP協議 簡單認識TCP IP協議
1 什麼是tcp ip 如果要了解乙個人,可以從他歸屬的集體聊起來。我們的http協議就屬於tcp ip協議家族中的一員,了解http協議再整個網路流程中的地位,也能更加充分的理解http協議。tcp ip協議是乙個協議集合。大家叫的時候方便說,所以統稱為tcp ip。tcp ip協議族中有乙個重要...