1. 程式人生 > >淺談osi模型 三次握手 四次揮手 ddos攻擊原理

淺談osi模型 三次握手 四次揮手 ddos攻擊原理

C/S B/S 架構

C:client 端

B:browser 瀏覽器

S:server 端

C/S架構,基於客戶端與服務端之間的通訊

  • 例如:QQ,抖音,快手,微信,支付寶等等
  • 優點:個性化設定,響應速度快
  • 缺點:開發維護成本高,佔用空間,使用者固定

B/S架構:基於瀏覽器與服務端之間的通訊

  • 谷歌瀏覽器,火狐瀏覽器
  • 優點:開發維護成本低,佔用空間相對低,使用者不固定
  • 缺點:功能單一,沒有個性化設定,響應速度相對慢一些

網路通訊原理

  • 兩臺計算機要有一堆物理連線介質連線
  • 找到對方計算機軟體位置
  • 遵循一攬子網際網路通訊協議

osi七層協議

  • 物理層

    • 物理層指的就是網線,光纖,雙膠線等等物理連線介質
    • 物理層傳送的是位元流,只發送位元流會有什麼問題?
    • 不知道多長為一組,多長為一個位元組,頭是哪個?尾在哪兒?
    • 引出資料應該有規律分組的問題,分組是資料鏈路層做的事情
  • 資料鏈路層

    • 資料鏈路層對位元流進行分組
    • 剛開始從事網際網路企業的就是美國的幾家公司,各家有各家自定的分組標準。後來統一了標準,對資料分組的標準
    • 乙太網協議:對位元流進行合理的分組。
    • 一組資料01010010叫做一幀,資料報。
      • head|data("aaa")
      • head 是固定的長度:18個位元組
        • 源地址:6個位元組
        • 目標地址:6個位元組
        • 資料型別:6個位元組
      • data:最少46個位元組,最大1500位元組。
      • 一幀資料:最少64個位元組,最大1518個位元組
    • MAC地址:每臺電腦獨一無二的地址,前6個是廠商編號,後6個是流水線號
    • 計算機的通訊方式:
      • 同一個區域網內,通過廣播的形式通訊。
      • 交換機的mac地址學習功能
        • 第一次通過廣播找到目標mac地址,然後將其對應
        • 第二次直接單播
        • 前提是必須知道對方的mac地址,你才可以以廣播的形式發訊息。實際上,網路通訊中,你只要知道對方的IP與自己打的IP即可
      • 訊息一經廣播發出,該區域網下所有的計算機都能接收到訊息,分析訊息,是否是找自己的,不是就丟棄
    • 計算機只能在區域網內進行廣播:範圍大了會造成廣播風暴,效率極低
  • 網路層

    • IP協議:確定區域網(子網)的位置

    • ARP協議:通過對方的ip地址獲取到對方的mac地址

    • 原始碼mac 目標mac 源IP 目標IP 資料

      1C-1B-0D-A4-E6-44 FF:FF:FF:FF:FF:FF 172.16.10.13 172.16.10.156 資料

      第一次發訊息: 傳送到交換機 ---> 路由器 廣播的形式發出去

      目標計算機收到訊息:就要回訊息:

      原始碼mac 目標mac 源IP 目標IP 資料

      1B-1B-0D-A4-E6-54 1C-1B-0D-A4-E6-44 172.16.10.156 172.16.10.13 資料

    • 總結:前提:知道目標mac

      計算機A傳送一個訊息給計算機B

      原始碼mac 目標mac 源IP 目標IP 資料

      單播的形式傳送到交換機,交換機會檢測自己的對照表有沒有目標mac,如果有,單播傳,如果沒有,交由上一層:路由器

      路由器收到訊息:對訊息進行分析:

      要確定目標計算機與本計算機是否在同一個網段,如果在同一個網段,直接傳送給對應的交換機,交換機再單播發給目標mac

      如果不是在同一網段: ?

      前提:不知道目標mac:

      計算機A 傳送一個訊息給 計算機B

      原始碼mac 目標mac不知道 源IP 目標IP 資料

      單播的形式傳送到交換機,交換機交由上一層路由器:路由器收到訊息: 對訊息進行分析:

      要確定目標計算機與本計算機是否在同一網段,

      ​ 如果在同一網段通過 IP以及ARP協議獲取到對方的mac地址,然後在通訊.

  • 傳輸層

    • TCP/UDP 確定軟體在計算機的位置
  • 應用層

    • 自己定義的協議
  • 廣播(區域網內) + mac地址(計算機位置) + ip(區域網的位置) + 埠(軟體在計算機的位置)

  • 有了以上四個引數:你就可以確定世界上任何一個計算機的軟體的位置

UDP協議 TCP協議

  • TCP(Transmission Control Protocol)可靠的、面向連線的協議(eg:打電話)、流式協議, 傳輸效率低全雙工通訊(傳送快取&接收快取)、面向位元組流。使用TCP的應用:Web瀏覽器;檔案傳輸程式。
  • UDP(User Datagram Protocol)不可靠的、無連線的服務,傳輸效率高(傳送前時延小),一對一、一對多、多對一、多對多、面向報文(資料包),盡最大努力服務,無擁塞控制。使用UDP的應用:域名系統 (DNS);視訊流;IP語音(VoIP)。
  • 65535埠
  • 1~1023 作業系統專門使用的埠 -- 周知埠
  • 1024-49151 分配給使用者程序或應用程式 -- 註冊埠
  • 49152-65535 動態埠 動態分配,不固定分配某種服務 -- 動態埠
  • 舉例:3306資料庫

TCP協議的三次握手和四次揮手

四次揮手

syn洪水攻擊:製造大量的假的無效的IP請求伺服器,致使正常的IP訪問不了服務