關於Tcp的一些淺見

2022-08-12 00:15:17 字數 826 閱讀 4149

從小我們就被教育tcp三次握手,四次揮手云云.

其實教科書把我們得思維限制死了,現實的狀況更加有趣.譬如伺服器端也會主動"say hi",客戶端和伺服器端會同時向對方發出syn.

博主總結出以下幾條機器對於tcp訊號的反應,對所謂的"客戶端"和"伺服器端"都適用.

建立連線的規則:

1.收到 syn 必定回覆 ack

2.在listen 狀態下收到 syn , 要額外恢復乙個syn , 即syn + ack, 並且轉化到 syn-rcvd 狀態

3.在 syn-sent 狀態下收到syn , 也要轉化到 syn-rcvd 狀態

4.在listen 狀態下發出 syn , 轉化到 syn-sent 狀態

5.在syn-sent 或 syn-rcvd 下收到ack, 轉化到 established

關閉連線的規則:

1.收到 fin 必定回覆 ack

2.在established 下傳送fin 後轉化fin-wait-1

3.在fin-wait-1 下收到ack 後轉化fin-wait-2

4.在fin-wait-2 下收到fin 後轉化time-wait

5.在established 收到fin 後轉化close-wait, 等待全部data 輸送完畢後傳送fin, 爾後轉化last-ack狀態

6.在fin-wait-1 下收到fin 後轉化closing

7.closing 下收到ack 後轉化為time-wait

8.time-wait下等待定時器過期(2msl)後進入closed

可以對照著這個圖一條一條驗證:

三次握手

四次揮手

關於深度學習的一些淺見

就是更深層次的學習,它是機器學習的乙個子領域,就我個人理解而言,它就是乙個深度神經網路。就是擁有很多隱藏層的神經網路,通常只要隱藏層超過2個,我們就可以把這個神經網路定義為深度神經網路,當然,隱藏層的啟用函式應該是非線性的,如果是線性的,即使10000層,它的學習能力也僅僅相當於帶有乙個隱藏層的神經...

ceph的一些淺見 關於日誌(1)

日誌是研究 的第一步。ceph的日誌預設輸入到 var log ceph目錄下,可以進入到該目錄下,查詢相應資訊。總共有20個等級的日誌輸出,從1 20。例如我要調整osd.0的日誌輸出等級為15 15,使用下面的命令設定輸出等級 ceph tell osd.0 injectargs debug o...

關於c 動態陣列的一些粗淺見解

指標基礎 首先引入乙個 塊 int value 1024 int p p value 這樣應該非常直觀了,宣告乙個變數value並將其初始化為1024,宣告乙個int型指標p,將value對應的位址值賦給p。在這個 塊中,p value p value 直接宣告 int valueb 1024 in...