網路通訊協議分析

2021-09-10 23:14:33 字數 3044 閱讀 9294

目標:

1.研究資料格式

2.研究協議的閱讀和制定、使用

疑問:1.傳輸層協議只有tcp和udp嗎

答案:推測,兩個協議的特性決定,只有可靠,不可靠的區分。(錯誤,看維基百科)

2.為什麼tcp要有三次

答案:建立可靠連線。

客戶端:我發資料呢

服務端:恩,你發吧

客戶端:好,那我發了。

服務端:(等待接收中)

客戶端:(資料傳送中)

3.即時通訊為什麼不直接用http,而用xmpp等即時通許協議的意義?

資料大小及便捷性,效能。

自上而下:應用層,傳輸層,網路層,鏈路層和物理層

各層功能:

物理層:使用物理手段(光纖等)連線主機,並傳送0,1電訊號

傳輸層:端到端的通訊(以埠來標識,避免了接收主機收到的資料報不知道是哪個程序的)

應用層:規定應用程式的資料格式,使得通訊雙方相互理解

網路分層協議(tcp/ip五層模型):

iso七層模型(略)

傳輸層協議:

tcp tcp協議提供了可靠的物件導向的資料流傳輸服務的規則和約定。

udp(user data protocol,使用者資料報協議)是與tcp相對應的協議。它是屬於tcp/ip協議族中的一種。

應用層協議:

(1)文字傳輸協議

1.http:超文字傳輸協議(http,hypertext transfer protocol)是網際網路上應用最為廣泛的一種網路協議。所有的www檔案都必須遵守這個標準。

http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程稱為「一次連線」。

1.0:需要使用keep-alive引數來告知伺服器端要建立乙個長連線

1.1:預設支援長連線,相比1.0,節約頻寬。

2.0:使用了多路復用的技術,使用hpack演算法對header的資料進行壓縮,這樣資料體積小了,在網路上傳輸就會更快。

說明:pc等其他介質

插播:socket實現原理和機制

socket通訊原理簡單理解

socket是"開啟—讀/寫—關閉"模式的實現

繫結ip,繫結埠,

在根據協議傳送不同的資料結構:如http就需要進行三次握手建立連線

(3)自定義協議

插播:資料報(報),幀數

1.1 半包

接受方沒有接受到乙個完整的包,只接受了部分;

原因:tcp為提高傳輸效率,將乙個包分配的足夠大,導致接受方並不能一次接受完。

影響:長連線和短連線中都會出現

1.2 粘包

傳送方傳送的多個包資料到接收方接收時粘成乙個包,從接收緩衝區看,後一包資料的頭緊接著前一包資料的尾。

分類:一種是粘在一起的包都是完整的資料報,另一種情況是粘在一起的包有不完整的包

資料幀(frame):是一種資訊單位,它的起始點和目的點都是資料鏈路層。

資料報(packet):也是一種資訊單位,它的起始和目的地是網路層

資料報(datagram):通常是指起始點和目的地都使用無連線網路服務的的網路層的資訊單元。()

資料段(segment):通常是指起始點和目的地都是傳輸層的資訊單元。

訊息(message):是指起始點和目的地都在網路層以上(經常在應用層)的資訊單元。

網路層協議:

ip協議:

是網路層中最重要的協議,是整個internet的協議基礎;負責分配ip位址,提供路由;

arp協議:

位址解析協議,在資料報向下乙個站點傳遞時,負責將ip位址轉換為實體地址;

rarp協議:

反向位址轉化協議,作用於arp相反,負責將物理層位址轉換為ip位址;

icmp協議:

(internet control message protocol)是internet控制訊息協議,用於在ip主機、路由器之間傳遞控制訊息。

igmp協議:

(internet group management protocol),網路組管理協議。主要用於建立和管理多播組,對ip分組廣播進行控制。

這裡羅列大部分是ipv4相關的,ipv6研究將放入下一期

協議閱讀:

搜尋**:

http協議:

工作組:

rfc7231:rfc7231.html

語義和內容

rfc7230:rfc7230.html#introduction

訊息語法和路由

obsoletes:淘汰/替換

updates: 更新/補充

xmpp協議:

官網:mqtt協議:

直觀比較,傳送內容相同內容,對比大小:

參考:xmpp產品:

抓取軟體參考:

網路通訊協議

網路協議是構成網路的基本元件之一,協議是若干規則和協定的組合,一般指機器1的第n 層與機器2的第 n層的對話,這種對話中所使用的若干規則和約束便稱為第 n層網路協議。tcp ip 網路體系結構模型就是遵循 tcp ip 協議進行通訊的一種分層體系,現今,internet 和intranet 所使用的...

網路通訊協議

通過計算機網路可以使多台計算機實現連線,位於同乙個網路中的計算機在進行連線和通訊時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算機網路中,這些連線和通訊的規則被稱為網路通訊協議,它對資料的傳輸格式 傳輸速率 傳輸步驟等做了統一規定,通訊雙方必須同時遵守才能完成資料交換。...

網路通訊協議

一 osi模型 名稱 層次 功能 物理層 1 實現計算機系統與網路間的物理連線 資料鏈路層 2 進行資料打包與解包,形成資訊幀 網路層 3 提供資料通過的路由 傳輸層 4 提供傳輸順序資訊與響應 會話層 5 建立和中止連線 表示層 6 資料轉換 確認資料格式 應用層 7 提供使用者程式介面 二 協議...