1. 程式人生 > >三次握手,四次揮手 之網路管理基礎命令

三次握手,四次揮手 之網路管理基礎命令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三次握手

三次握手

 客戶端未發起請求之前處於CLOSED狀態,伺服器未接收到請求也處於CLOSED狀態

  第一次,客戶端向伺服器端發起連線請求報文,這時請求報文的首部SYN=1,同時選擇一個初始序列號seq=1,此時客戶端程序進入FYN-SENT狀態,TCP規定SYN報文段不能攜帶資料,但需要消耗一個序列號

  第二次,伺服器收到請求報文後,如果同意連線,則發出確認報文。確認報文中應該ACK=1,SYN=1,確認號是ack=x+1,同時也為自己初始化一個序列號seq=y,此時伺服器進入SYN-RCVD狀態,這個報文也不能攜帶資料,但同樣消耗一個序列號。

  第三次,客戶端收到確認報文後,還要想伺服器端確認,確認報文有ACK=1,ack=y+1,自己的序列號是seq=x+1,此時,TCP連線建立,客戶端進入ESTABLISHED,TCP規定,ACK報文段可以攜帶資料,如果不攜帶資料則不消耗序列號

    當伺服器收到客戶端的確認後也進入ESTABLISHED狀態,此後雙方就可以通訊了

 

四次揮手

  

 

  第一次 客戶端發出斷開連線請求報文,此時報文首部為FIN=1,序列號為最後一次接收到的資料的最後一個位元組的序號+1,此時客戶端進入FIN-WAIT-1狀態,TCP報文規定,FIN報文即使不攜帶資料也需要消耗一個序列號

  第二次 伺服器端收到斷開連線請求報文後,發出確認斷開報文,ACK=1,ack=u+1,並且帶上自己的序列號seq=u,此時伺服器就進入了CLOSE-WAIT狀態,TCP通知高層的應用程序,客戶端已經沒有資料要傳送了,但伺服器端想客戶端傳送資料,客戶端還可以接受

    客戶端收到伺服器的確認請求後,此時客戶端進入FIN-WAIT-2狀態,等待伺服器傳送斷開連線報文

  第三次 伺服器端將最後的資料傳送完畢後,就向客戶端傳送斷開請求FIN=1 ack=u+1,此時伺服器進入LSTE-ACK(最後確認)狀態,等待客戶端確認

  第四次 客戶端收到伺服器發來的斷開報文後,必須確認,ACK=1,ack=w+1,而自己的序列號是seq=u+1,此時客戶端進入了TIME-WAIT狀態。注意此時TCP連線還沒有斷開,還要等待一段時間,當客戶端撤銷相應的TCP後,才進入CLOSED狀態

    伺服器只要收到了客戶端的確認報文後,立即進入CLOSED狀態

 

子網劃分

  網路地址分為A,B,C,E類

    A類  0-127             

    B類  128-191

    C類  192-223

    D類  224-239

    E類  240-254

  主機數=2^主機ID -2

  網路數=2^可變的網路ID位

ifconfig

  語法格式

    ifconfig  網路裝置  引數

  常用選項

    up  啟用指定網路裝置、網絡卡

    down   關閉指定網路裝置,網絡卡

ip 

  語法格式

    ip [ OPTIONS ] OBJECT { COMMAND | help }

  示例

    顯示網路裝置資訊

    

    關閉一個網路裝置

     ip link set dev eth0 down

    為網路新增地址

     

    刪除一個網路地址

     

  

nmcli

    檢視網絡卡資訊

     

    顯示具體的網路介面資訊

    

    顯示所有裝置狀態

    

    刪除一個網絡卡連線

    

    新增一個網絡卡連線

    

    網路介面停用

    

    網路介面啟用

    

 

route

    

netstat

  列出所有埠

    

  列出所有處於監聽狀態的socket

    

  顯示每個協議的統計資訊

    

  顯示PID和程序名

    

&n