1. 程式人生 > 其它 >計算機網路 網際網路中的協議棧

計算機網路 網際網路中的協議棧

協議棧

  協議棧:各層的所有協議成為協議棧。

網際網路中的協議棧

  五層協議:自上而下依次是:應用層(http/https,ftp,smtp...)

各層協議簡述

  •  應用層: 應用層是網路應用程式以及他們的應用層協議留存的地方。計算機應用層中包括許多協議: HTTP,SMTP,FTP
       應用層的資訊分組成為報文(message)。
       資訊分組:一個端系統中的應用程式使用協議與另一個端系統中的應用程式交換資訊分組
  •  運輸層: 運輸層在應用程式端點(每個終端上的應用層和運輸層之間的互動)之間傳送應用報文(segment)。(TCP,UDP)
    運輸層分組成為報文段。
  •  網路層: 負責將資料報的網路層分組從一臺主機移動到另一臺主機。(運輸層(tcp,udp向網路層遞交報文段和目的(接收方端系統)地址))
       是的資料報根據路由從源傳輸到目的地(IP協議在該層)
  • 鏈路層: 為了將分層從一個節點(主機或路由器)移動到下一個路由節點(wifi,乙太網,docsis(電纜接入網)),鏈路層的分組成為幀(frame)
  • 物理層: 這層中的協議仍然是與鏈路相關的:鏈路層的任務是將整個幀從一個網路元素移動到下一個網路元素,而物理層的任務是將該幀中的
    一個一個位元,從一個結點移動到下一個結點(雙絞銅線,同軸電纜,光纖)

TCP,UDP

  http是基於tcp協議的,先簡單介紹下tcp,udp協議

  •   TCP:當應用程式呼叫TCP作為其傳輸協議時,該應用程式就獲得來自TCP服務的面向連線服務,和可靠資料傳輸服務(類似程式語言中的繼承)
       面向連線的服務:應用層資料報文開始流動之前,TCP讓客戶和伺服器互相交換傳輸層控制資訊。稱為握手過程,使他們為大量分組的到來做好準備。
    在我手階段,一個TCP連線,就在兩個程序(客戶端上的程序,伺服器上的程序)套接字之間建立了。
    這條連線是雙工的(可同時進行收和發);當應用程式結束報文傳送時,必須拆除連線。
    可靠的資料傳輸:通訊程序能夠依靠TCP,無差錯,按順序交付所有傳送的資料,再另一端能夠以TCP將相同的位元組流交付給接接收方的套接字,而沒有位元組的丟失和冗餘。
  • UDP: UDP是無裡無連線的,不可靠的資料傳輸服務。即:在通訊前不需要進行連線確認,資料發出後,不保證接受房的資料是有序的,不丟失的。

HTTP

  http:超文字傳輸協議(HyperText Transfer Protocol)它是Web的核心。

  •   http協議是無狀態的協議:伺服器向客戶端發被本次被請求的為物件,而不儲存任何關於該客戶狀態的資訊。
    例如:某一個特定的客戶在短短的幾秒內兩次請求同一個物件,服務請並不會應為剛剛為該客戶提供了該物件就不再做出反應,而是重新發送該物件,
    就像伺服器完全忘記剛剛做過的事情一樣。因為http不儲存任何關於客戶的任何資訊。所以說http是一種無狀態的協議。
    深入理解: 1 、 協議對於事務的處理沒有記憶能力
    2、 對於同一個url請求沒有上下文關係
    3、 每次請求都是獨立的 ,它的執行情況和結果跟前面的請求和之後的請求沒有直接關係,不受前面請求的應答和後面請求的應答而影響。
    4、 服務其中沒有儲存客戶端的狀態,客戶端必須每次帶上自己的狀態去請求伺服器。
  • http是無連線的(非持續連線): 每個TCP連線在伺服器傳送該連線請求的物件後,關閉該連線,改連線並不為其他的請求物件而持續下來。每個連線只傳輸一個請求報文和一個響應報文
       深入理解:無連線:限制每次連線只處理一個請求,伺服器處理完客戶的請求並收到客戶的應答後就斷開連線。
    ---指的是非持續的連線(因為http是基於tcp及其下層協議的,tcp是面向連線的,所以http就不可能是無連線的,通常這樣講其實表述的意思是(非持續連線的))


    《計算機網路自定向下》: KUROSE,ROSS:機械工業出版社