1. 程式人生 > >TCP協議的是一種狀態集轉換、子網劃分過程

TCP協議的是一種狀態集轉換、子網劃分過程

type abc ces 客服 定位 normal listen 1.5 coo



作者Georgekai

歸檔:學習筆記

2018/1/17



網絡運維基礎(三)

1.1 TCP協議的十一種狀態集轉換

1.1.1 TCP三次握手狀態集的轉換

1.服務端:

1)服務端從closed狀態轉換為listen狀態(在服務端開啟相應服務),只有在listen才可以 接受客戶端建立連接的請求

2)從colsed轉變為listen,實際上就是創建了一個socket信息

netstat -an|grep -i es 可以看到socket條目信息

socker條目:tcpudp協議——目標地址,端口——源地址,端口——狀態

2.客戶端:

1)客戶端發送syn信息給服務端,然後客戶端從closed狀態變為

syn_send狀態(三次握手 的第一次握手)

3.服務端:

1)服務端在listen狀態接收到客戶端發送的syn請求,會響應synack信息,並且從listen 狀態裝換為syn_rcvd狀態(三次握手的第二次握手)

4.客戶端:

1)客戶端在syn_send狀態接收到服務端的synack字段信息,然後回復ack確認信息(三 次握手的第三次),發送完後,從syn_send轉換為established

技術分享圖片

註:/etc/sysctl.conf中設置net.ipv4.tcp_syncookies=1來防止SYN Flood攻擊

1.1.2 TCP的四次揮手狀態集的轉化

1.客戶端:

1)客戶端在

established狀態發送fin字段信息給服務端(四次揮手的第一次揮手)

客戶端狀態轉變為fin_wait1第一次等待:服務端的確認ack信息)狀態

2.服務端:

1)服務端在established接收到客戶端發送的fin字段信息,從established狀態轉換成close_wait 狀態

2)服務端在close_wait狀態發送ack確認字段(四次揮手的第二次揮手)

3.客戶端:

1)客戶端在fin_wait1狀態接收到服務端的ack信息,進入到fin_wait2等待狀態(第二次等 待:等待服務端的fin信息

4.服務端:

1)服務端在close_wait狀態發送fin斷開連接字段給客戶端(四次揮手的第三次揮手)

2)服務端從close_wait狀態變為last_ack狀態

5.客戶端:

1)客戶端在fin_wait2狀態接受服務端的fin信息,然後響應ack信息給服務端,並將自己的 fin_wait2狀態time_wait狀態

6.服務端:

1)服務端在last_ack狀態接受到客戶端發送的ack字段信息後,就會進入最終的closed狀態

7.客戶端:

1)在time_wait狀態會等待90秒鐘的時間,才會進入到closed狀態

技術分享圖片

註:傳輸層發送fin(請求斷開連接),是接收到了會話層的斷開連接請求(這樣一層層的轉發)

那麽問題來了1. 為什麽會有四次揮手過程,ack fin要分開發送

答:服務端接受到了客服端的FIN時會向應用層匯報,並回應ACK給客戶端,

然後會等數據傳輸完畢後,在發送FIN請求斷開連接。

技術分享圖片

2.客戶端為什麽要有time_wait狀態

答:為了確保服務端能收到ack,客戶端會在time_wait不斷給服務端發送ack


3.總結closing狀態的由來:

答:在第二次揮手的時候,客戶端沒收到服務端發送的ack,但收到了fin字段信 息,按理說收到fin後應該轉換為time_wait,所以加了colsing起一個緩存時 間(過程很快)


TCP的十一種狀態總結

技術分享圖片

1.2 UDP相關報文結構

技術分享圖片

1.3 IP地址分類與子網劃分基礎

1.3.1 什麽是IP地址(常見的IP的地址為ipv4ipv6

1. IPV4:有32位二進制組成,采用點分十進制分為4段,每段為8位二進制

2. IPV4IPV6的總數:用awk計算了一下,大約這麽多

技術分享圖片

註:seq -w 10 讓數字補齊

技術分享圖片

1.3.2 IP地址分類

技術分享圖片

1. IP的數值範圍劃分A B C D E 五類地址

常用地址為ABC三類地址:

A類地址==網絡位+主機位+主機位+主機位

B類地址==網絡位+網絡位+主機位+主機位

C類地址==網絡位+網絡位+網絡位+主機位

D類地址為組播地址:每一個地址都作為一個網段

E類地址為科學研究使用

2 IP地址的用途分類:公網地址,私網地址

私網地址:每個局域網都可以使用的地址信息,並局域網內唯一,跨越不同局域網可以重復 使用,因此私網地址有效緩解了地址枯竭問題

私網地址的範圍

A類:10.0.0.8 —— 10.0.0.255

B類:172.16.0.0 —— 172.31.255.255

C類:192.168.0.0 —— 192.168.2

技術分享圖片

公網地址:是互聯網上可以識別的地址信息,並且是全球唯一

1.3.3 ABC三類地址的可用主機數計算:

公式:2N次方-2

註:N為每類地址的主機位數(二進制),最後一個2:表示主機位

技術分享圖片

1.3.4 ABC三類地址的可用網段數計算:

公式:2N次方

註:N表示每類地址的網絡位數(二進制)

1.3.5 特殊地址

技術分享圖片

1.3.6 三種常見的網絡通訊類型

技術分享圖片

1.3.7 子網劃分

1. 為什麽要劃分子網?

1)會出現大量的局域網地址,向同一個網關請求,造成網關負載過高

2)會引起局域網內的大量廣播數據傳送,形成廣播風暴

3)浪費地址


2. 子網劃分的優點:

1)將一個大的廣播域劃分為幾個小的廣播域

2)減少網關設備鎖承載的負載量

3)有效避免ip地址的浪費,使一個大的地址空間更加靈活的分配

3. 掩碼作用:

1)利用掩碼快速得知是A類地址,還是B類,C類?

2)利用掩碼定位網絡位信息

4. 掩碼表現形式:

1)用十進制表示,分為四組,也是32為二進制數組成

2A類默認掩碼:255.0.0.0 /8

B類默認掩碼:255.255.0.0 /16

C類默認掩碼:255.255.255.0 /24


實例1-1 子網劃分計算過程:


技術分享圖片


關註微信公眾號:linux運維菜鳥之旅




TCP協議的是一種狀態集轉換、子網劃分過程