關於通訊協議知識點的總結

2022-10-10 11:33:14 字數 1798 閱讀 9817

關於通訊協議知識點的總結

tcp三次握手建立連線

首先,我讓信使運輸乙份信件給對方,對方收到了,那麼他就知道了我的發件能力和他的收件能力是可以的。

於是他給我回信,我若收到了,我便知我的發件能力和他的收件能力是可以的,並且他的發件能力和我的收件能力是可以。

然而此時他還不知道他的發件能力和我的收件能力到底可不可以,於是我最後回饋一次,他若收到了,他便清楚了他的發件能力和我的收件能力是可以的。

1.客戶端將syn=1(建立連線標誌)和自己生成的序列號seq傳送給服務端;2

2.服務端將ack=1(確認連線標誌)和syn=1和ack(確認序列號)和自己生成的序列號seq傳送給客戶端;4

3.客戶端將ack=1(確認連線標誌)和ack(確認序列號)和自己生成的序列號seq+1傳送給服務端,連線建立。3

四次揮手斷開連線

1.客戶端將fin=1(釋放連線標誌)和自己生產的序列號seq傳送給服務端;2

2.服務端將ack=1(確認釋放標誌)和ack(確認序列號)和自己的序列號seq傳送給客戶端;3

3.服務端將fin=1(釋放連線標誌)和ack=1(確認釋放標誌)和ack(確認序列號)和自己生產的序列號seq傳送給客戶端;4

4.客戶端將ack=1(確認釋放標誌)和ack(確認序列號)和自己生產的序列號seq傳送給服務端,連線中斷。3

tcp客戶端真正斷開連線的時間

客戶端真正斷開連線是傳送了ack訊號之後,並等待2msl(兩個報文最大等待時間,msl可為30s,1min,2min,因此2msl是1min-4min),等待的原因是為了確保服務端收到了ack訊號,服務端未收到ack訊號下會超時重傳fin訊號給客戶端,客戶端重新傳送ack給服務端。

socket

1.可理解為客戶端和服務端之間進行通訊的api,在new socket的時候,可選擇使用的通訊的協議,一般是傳輸層協議,例如tcp;

2.new socket裡邊包括三部分內容:輸入緩衝區、輸出緩衝區、等待佇列,其中等待佇列裡邊包含的是工作執行緒;

3.基本流程:new socket -> bind服務埠 -> listen監聽埠->accept建立連線->recv從記憶體載入到socket緩衝區->接著將等待佇列裡邊的執行緒轉為執行狀態;

io多路復用

1.方式有select、poll、epoll,本質上是存在乙個socket列表,當其中的乙個socket接收到資料之後,使用共同的工作執行緒去執行接下來的業務邏輯,復用指的就是同乙個工作執行緒;

bio(同步阻塞):客戶端在請求資料的過程中,保持乙個連線,不能做其他事情。

nio(同步非阻塞):客戶端在請求資料的過程中,不用保持乙個連線,不能做其他事情。(不用保持乙個連線,而是用許多個小連線,也就是輪詢)

aio(非同步非阻塞):客戶端在請求資料的過程中,不用保持乙個連線,可以做其他事情。(客戶端做其他事情,資料來了等服務端來通知。)

同步的意思是:客戶端與服務端 相同步調。就是說 服務端 沒有把資料給 客戶端 之前,客戶端什麼都不能做。它們做同樣一件事情,就是說它們有相同步調,即同步。

阻塞的意思是:客戶端與服務端之間是否始終有個東西佔據著它們中間的通道。就是說 客戶端與服務端中間,始終有乙個連線。導致其他客戶端不能繼續建立新通道連線伺服器。

nio有3個實體:buffer(緩衝區),channel(通道),selector(多路復用器)。

websocket

1.長連線、全雙工通訊方式,屬於應用層協議,基於tcp三次握手和http建立客戶端和服務端的連線;

rpc1.可以理解為一種技術思想,包含客戶端和服務端通訊的基本工具,例如序列化和反序列化方式等。rpc框架一般包含客戶端、客戶端sub、服務端、服務端sub、網路傳輸模組;

SPI通訊協議總結

資料 於網上,不足之處歡迎指正,技術無邊,多多交流 1 什麼是spi?spi是序列外設介面 serial peripheral inte ce 的縮寫。是 motorola 公司推出的一種同步序列接 術,是一種高速的,全雙工,同步的通訊匯流排。2 spi優點 支援全雙工通訊 通訊簡單 資料傳輸速率塊...

CAN通訊協議總結

一 應用範圍 廣泛應用於汽車電子行業,其優點在於傳輸距離遠,抗電磁干擾能力強,有錯誤檢測,錯誤通知以及自動重傳等功能。物理層 序列非同步通訊,半雙工。can通訊節點由can控制器和can收發器組成,只有兩根訊號線,can h和can l,用於產生差分訊號來表示顯性電平和隱性電平。顯性電平 記產生差分...

關於SPI通訊協議的NSS

spi庫函式配置中,結構體成員有spi nss這個東西,這個東西是什麼意思,當時看著是不知所云。經過不斷查詢資料得出以下答案 軟體模式 spi initstructure.spi nss spi nss soft 硬體模式 spi initstructure.spi nss spi nss hard...