TCP協議的是一種狀態集轉換、子網劃分過程
作者: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條目:tcp或udp協議——目標地址,端口——源地址,端口——狀態
2.客戶端:
1)客戶端發送syn信息給服務端,然後客戶端從closed狀態變為
3.服務端:
1)服務端在listen狀態接收到客戶端發送的syn請求,會響應syn和ack信息,並且從listen 狀態裝換為syn_rcvd狀態(三次握手的第二次握手)
4.客戶端:
1)客戶端在syn_send狀態接收到服務端的syn和ack字段信息,然後回復ack確認信息(三 次握手的第三次),發送完後,從syn_send轉換為established
註:在/etc/sysctl.conf中設置net.ipv4.tcp_syncookies=1來防止SYN Flood攻擊
1.1.2 TCP的四次揮手狀態集的轉化
1.客戶端:
1)客戶端在
客戶端狀態轉變為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的地址為ipv4和ipv6)
1. IPV4:有32位二進制組成,采用點分十進制分為4段,每段為8位二進制
2. IPV4和IPV6的總數:用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三類地址的可用主機數計算:
公式:2的N次方-2
註:N為每類地址的主機位數(二進制),最後一個2:表示主機位
1.3.4 ABC三類地址的可用網段數計算:
公式:2的N次方
註: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為二進制數組成
2)A類默認掩碼:255.0.0.0 或/8
B類默認掩碼:255.255.0.0 或/16
C類默認掩碼:255.255.255.0 或/24
實例1-1 子網劃分計算過程:
關註微信公眾號:linux運維菜鳥之旅
TCP協議的是一種狀態集轉換、子網劃分過程