http-----從url到頁面的加載過程,tcp/ip的三次握手和四次揮手

從url到頁面加載的過程:

  1. 輸入地址   => 先到歷史記錄和書籤等地方查找;
  2. 瀏覽器查找域名ip地址  =>  DNS查找,瀏覽器的緩存,操作系統的緩存,路由緩存,isp緩存,dns緩存  =>  遞歸搜索
  3.   瀏覽器向web服務器發送一個http請求;
  4. 服務器永久重定向響應;
  5. 瀏覽器跟蹤永久重定向地址;
  6. 服務器處理請求;
  7. 服務器返回一個響應;
  8. 瀏覽器顯示html;
  9. 瀏覽器發送請求獲取嵌入在html中的資源;
  10. 瀏覽器發送異步請求;
  11. 頁面構建完成。

 tcp/ip的三次握手和四次揮手:

三次握手:

  1. 建立連接時,客戶端發送SYN包(SYN=i)到服務器,並且進入SYN-SENT(同步已發送狀態)狀態;
  2. 服務器接收到SYN包必須確認客戶的SYN同時自己也發送一個SYN包即:SYN+ACK;此時服務器進入到SYN-RCVD(同步收到)狀態;
  3. 客戶端接收到服務器的SYN+ACK包,向服務器發送確認報文ACK,此包發送完畢後,客戶端進入ESTABLISHED(已建立連接)狀態,完成三次握手。

四次揮手:

  1. 客戶端發送一個FIN,用來關閉客戶端到服務器端的數據傳遞;
  2. 服務器端就收一個FIN,它發回一個ACK,確認序列號爲收到的序列號+1;
  3. 服務器端關閉與客戶端的連接,發送一個FIN給客戶端;
  4. 客戶端發回ACK報文確認,並將序列號設置爲收到的序列號+1,此包發送完畢,完成四次揮手。

注意:(SYN攻擊)在三次握手過程中,Server發送SYN-ACK之後,收到Client的ACK之前的TCP連接稱爲半連接(half-open connect),此時Server處於SYN_RCVD狀態,當收到ACK後,Server轉入ESTABLISHED狀態。SYN攻擊就是Client在短時間內僞造大量不存在的IP地址,並向Server不斷地發送SYN包,Server回覆確認包,並等待Client的確認,由於源地址是不存在的,因此,Server需要不斷重發直至超時,這些僞造的SYN包將產時間佔用未連接隊列,導致正常的SYN請求因爲隊列滿而被丟棄,從而引起網絡堵塞甚至系統癱瘓。

檢測: 
SYN攻擊時一種典型的DDOS攻擊,檢測SYN攻擊的方式非常簡單,即當Server上有大量半連接狀態且源IP地址是隨機的,則可以斷定遭到SYN攻擊了。windows下打開cmd,輸入命令:”netstat -n -p TCP“,查看是否有大量的”SYN_RECEIVED“狀態。

防範:第一種是通過防火牆等過濾網關防護,另一種是通過加固TCP/IP協議棧進行防範(詳情見http://netsecurity.51cto.com/art/201009/225615.htm)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章