C:client 端html
B:browser 瀏覽器數據庫
S:server 端瀏覽器
C/S架構,基於客戶端與服務端之間的通訊緩存
B/S架構:基於瀏覽器與服務端之間的通訊服務器
物理層微信
數據鏈路層網絡
網絡層架構
IP協議:肯定局域網(子網)的位置學習
ARP協議:經過對方的ip地址獲取到對方的mac地址spa
源碼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地址,而後在通訊.
傳輸層
應用層
廣播(局域網內) + mac地址(計算機位置) + ip(局域網的位置) + 端口(軟件在計算機的位置)
有了以上四個參數:你就能夠肯定世界上任何一個計算機的軟件的位置
TCP(Transmission Control Protocol)可靠的、面向鏈接的協議(eg:打電話)、流式協議, 傳輸效率低全雙工通訊(發送緩存&接收緩存)、面向字節流。使用TCP的應用:Web瀏覽器;文件傳輸程序。
UDP(User Datagram Protocol)不可靠的、無鏈接的服務,傳輸效率高(發送前時延小),一對1、一對多、多對1、多對多、面向報文(數據包),盡最大努力服務,無擁塞控制。使用UDP的應用:域名系統 (DNS);視頻流;IP語音(VoIP)。
端口
65535端口
1~1023 操做系統專門使用的端口 -- 周知端口
1024-49151 分配給用戶進程或應用程序 -- 註冊端口
49152-65535 動態端口 動態分配,不固定分配某種服務 -- 動態端口
舉例:3306數據庫
四次揮手
syn洪水攻擊:製造大量的假的無效的IP請求服務器,導致正常的IP訪問不了服務器
原文出處:https://www.cnblogs.com/alex3174/p/11348190.html