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

  • 2019 年 10 月 3 日
  • 筆記

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訪問不了服務器