從零開始學網路:小白也能看懂的計算機網路入門指南

計算機網路初識

計算機網路定義
  • 計算機網路基本組成
    • 硬體部分
    • 軟體部分
    • 功能
    • 分類
  • 計算機網路之OSI模型
  • TCP和UDP協議
    • TCP協議
    • UDP協議
    • TCP協議和UDP協議區別
  • DNS協議
    • DNS作用
    • DNS解析流程
    • 檢視DNS解析的命令
    • DNS相關故障
  • 使用者訪問網站簡單過程

計算機網路定義

計算機網路是指將地理位置不同且具有獨立功能的多臺計算機及其外部裝置,透過通訊線路連線起來,在網路作業系統、網路管理軟體及網路通訊協議的管理和協調下,實現資源共享和資訊傳遞的計算機系統。

計算機網路基本組成

硬體部分

  • • 計算機:包括伺服器和客戶機。伺服器是網路的核心裝置,它為網路使用者提供共享資源和服務,如檔案伺服器、列印伺服器、資料庫伺服器等。客戶機是網路使用者直接使用的計算機,它透過網路訪問伺服器上的資源。
  • • 網路介面卡:每臺計算機要接入網路,都需要有相應的網路介面卡(網絡卡)。網絡卡是計算機與通訊介質之間的介面,它負責將計算機上的資料轉換為適合在通訊介質上傳輸的訊號,同時也將通訊介質上傳輸過來的訊號轉換為計算機可以識別的資料。
  • • 通訊介質:用於計算機之間傳輸資料的物理通道。常見的通訊介質有雙絞線、同軸電纜、光纖和無線通訊介質(如無線電波、微波、衛星通訊等)。雙絞線成本低、安裝方便,適用於短距離傳輸;光纖傳輸速率高、抗干擾能力強,適用於長距離高速傳輸;無線通訊介質則讓計算機可以在一定範圍內自由移動,實現無線網路連線。
  • • 網路互聯裝置:用於連線不同網路或網路段的裝置。常見的有中繼器、網橋、路由器和閘道器。中繼器用於延長通訊線路的長度,它對傳輸訊號進行放大和整形,以克服訊號在傳輸過程中的衰減;網橋用於連線兩個相似的網路,它根據資料幀的地址資訊進行轉發,實現不同網路段之間的通訊;路由器用於連線多個不同型別的網路,它根據資料包的目的地址選擇合適的路徑進行轉發,是網路層的互聯裝置;閘道器用於連線不同體系結構的網路,它在不同網路協議、資料格式或通訊環境之間進行轉換,是應用層的互聯裝置。

軟體部分

  • • 網路作業系統:是計算機網路的核心軟體,它為網路使用者提供統一的網路資源管理和通訊服務。常見的網路作業系統有Windows Server系列、Linux、Unix等。網路作業系統負責管理網路中的各種資源,如檔案、印表機、通訊線路等,同時提供使用者介面,讓使用者能夠方便地訪問網路資源和進行網路通訊。
  • • 網路通訊協議:是網路中計算機之間進行通訊的規則和約定。它規定了資料的格式、傳輸順序、傳輸速率、錯誤檢測和糾正等。網路通訊協議分為多個層次,如物理層協議、資料鏈路層協議、網路層協議、傳輸層協議和應用層協議等。例如,TCP/IP協議是目前網際網路上最常用的通訊協議,它包括傳輸控制協議(TCP)和網際協議(IP)等,用於實現計算機之間的可靠通訊和資料傳輸。
  • • 網路管理軟體:用於對網路進行管理和維護。它可以幫助網路管理員監控網路的執行狀態,配置網路裝置,管理網路使用者,維護網路安全等。例如,網路監控軟體可以即時監測網路流量、裝置狀態等資訊,及時發現網路故障並進行報警;網路配置管理軟體可以方便地對網路裝置進行配置和升級;網路安全管理軟體可以防止網路攻擊、保護網路資料的安全等。

功能

  • • 資源共享:計算機網路能夠將網路中的各種資源,如硬體資源(計算機、印表機、掃描器等)、軟體資源(應用程式、資料庫等)和資料資源(檔案、文件等)進行共享。例如,一個公司內部的多臺計算機可以透過網路共享一臺印表機,而無需每臺計算機都配備一臺印表機,這樣可以節省成本,提高資源的利用率。
  • • 資料通訊:計算機網路可以實現計算機之間的資料通訊,包括文字、影像、音訊、影片等各種型別的資料傳輸。例如,透過電子郵件、即時通訊工具等可以在不同地理位置的使用者之間快速地傳遞資訊;企業內部的各個部門可以透過網路進行資料的上傳和下載,實現資訊的共享和協同工作。
  • • 分散式處理:計算機網路可以將複雜的任務分解為多個子任務,分配給網路中的多臺計算機同時進行處理,從而提高任務的處理速度和效率。例如,在分散式計算系統中,一個大型的科學計算任務可以被分解為多個小任務,分別在不同的計算機上進行計算,最後將計算結果彙總起來得到最終結果。這種方式可以充分利用網路中的計算資源,解決單臺計算機難以完成的複雜任務。
  • • 提高可靠性:計算機網路可以透過冗餘設計和備份機制提高系統的可靠性。例如,網路中的資料可以儲存在多個伺服器上,當其中一臺伺服器出現故障時,其他伺服器可以繼續提供資料服務,從而保證網路系統的正常執行。同時,網路中的裝置和通訊線路也可以採用冗餘配置,當出現故障時可以自動切換到備用裝置或線路,減少網路中斷的時間。

分類

按地理範圍劃分

  • • 區域網(LAN):覆蓋範圍較小,通常在幾公里以內,如一個辦公室、一個學校或一個企業內部。區域網的傳輸速率較高,一般在10Mbps到1000Mbps之間,甚至更高。它的主要特點是連線距離短、延遲小、資料傳輸速率高、誤位元速率低。例如,一個企業的內部辦公網路就是一個典型的區域網,員工可以透過這個網路共享檔案、印表機等資源,進行日常工作。
  • • 都會網路(MAN):覆蓋範圍比區域網大,通常是一個城市或一個地區的範圍。都會網路的傳輸速率介於區域網和廣域網之間,它主要用於連線城市內的多個區域網,實現城市範圍內的資源共享和通訊。例如,一個城市的多個企業、學校和政府部門可以透過都會網路進行資料交換和資源共享。
  • • 廣域網(WAN):覆蓋範圍最廣,可以跨越一個國家、一個洲甚至全球。廣域網的傳輸速率相對較低,但覆蓋範圍廣,它主要用於連線不同地區的區域網或都會網路。例如,網際網路就是一個典型的廣域網,它將全球範圍內的計算機連線在一起,使人們可以訪問世界各地的資訊資源。

按拓撲結構劃分

  • • 匯流排型拓撲:所有計算機都連線到一條共享的通訊總線上,匯流排是網路的通訊介質。匯流排型拓撲結構簡單,易於安裝和維護,成本較低。但是,當網路中的計算機數量較多時,總線上的衝突會增加,導致網路效能下降。例如,在早期的一些小型區域網中,可能會採用匯流排型拓撲結構。
  • • 星型拓撲:所有計算機都透過單獨的通訊線路連線到一箇中心節點(如交換機或集線器)上。星型拓撲結構的優點是易於管理和維護,當某個節點出現故障時,不會影響其他節點的通訊。但是,中心節點的負擔較重,如果中心節點出現故障,整個網路將癱瘓。例如,許多企業內部的辦公網路採用星型拓撲結構,透過交換機將各個辦公室的計算機連線在一起。
  • • 環型拓撲:網路中的計算機透過通訊線路首尾相連,形成一個閉合的環。環型拓撲結構的優點是資料傳輸延遲固定,適用於即時性要求較高的應用。但是,環型拓撲結構的可靠性較低,當環上的某個節點或通訊線路出現故障時,整個環將中斷。例如,一些工業控制系統可能會採用環型拓撲結構,以保證資料的即時傳輸。
  • • 樹型拓撲:是一種分層的拓撲結構,它由多個層次的節點組成,每個節點可以有多個分支。樹型拓撲結構的優點是易於擴充套件和管理,適用於大型網路。例如,一個大型企業的網路可能會採用樹型拓撲結構,將各個部門的網路連線在一起,形成一個層次化的網路結構。
  • • 網狀拓撲:網路中的計算機之間透過多條通訊線路相互連線,形成一個複雜的網路結構。網狀拓撲結構的優點是可靠性高,當某個節點或通訊線路出現故障時,資料可以透過其他路徑進行傳輸。但是,網狀拓撲結構的複雜度較高,成本也較高。例如,網際網路的骨幹網路採用網狀拓撲結構,以保證網路的高可靠性。

計算機網路之OSI模型

OSI模型是一個網路通訊的概念模型,用於描述計算機網路中各個不同層次之間的通訊和功能。它將網路通訊分為七個不同的層次,每個層次負責不同的任務,使得網路通訊的設計、開發和管理更加模組化和可維護。以下是OSI模型的七個層次以及它們的主要功能:
  • 物理層(Physical Layer)

功能:處理物理傳輸介質上的原始位元流,確保資料在傳輸媒體上能夠以適當的方式傳輸。大白話就是將資料轉換為二進位制,方便透過線纜進行傳輸。
  • 資料鏈路層(Data Link Layer)

功能:
  • • 把上層資料進行轉換為幀(對資料進行處理加工)
  • • 這一層加工資料時,還增加了MAC地址
  • 網路層(Network Layer)

功能:
  • • 負責將資料從源地址傳輸到目的地址(IP)
  • • 主要作用就是路由(指路)和定址(根據ip地址找人)
  • • 用於指定源ip和目標ip
  • 傳輸層(Transport Layer)

功能:提供端到端的資料傳輸服務,並且控制了資料傳輸方式是否可靠,且指定了埠號
  • • 可靠的傳輸:TCP
  • • 不可靠的傳輸:UDP
  • 會話層(Session Layer)

功能:管理會話的建立、維護和結束
  • 表示層(Presentation Layer)

功能:負責資料格式的轉換、加密、解密等工作
  • 應用層(Application Layer):

功能:為使用者提供網路應用服務,包括檔案傳輸、電子郵件、網頁瀏覽等服務。大部分軟體、服務都執行在應用層中,暴漏很多介面,提供給其它服務軟體使用,主要就是提供應用程式可以接入網路的介面,並根據程式不同提供對應不同的介面,這一層提供了http、https、ssh、ftp、dns等協議。

image

TCP和UDP協議

上文提到了TCP協議和UDP協議,這裡重點講述一下。

TCP協議

傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,由IETF的RFC 793定義。TCP旨在適應支援多網路應用的分層協議層次結構。連線到不同但互連的計算機通訊網路的主計算機中的成對程序之間依靠TCP提供可靠的通訊服務。

TCP資料包結構圖

image
  1. 1. 序號:Seq(Sequence Number)序號佔32位,用來標識從計算機A傳送到計算機B的資料包的序號,計算機發送資料時對此進行標記
  2. 2. 確認號:Ack(Acknowledge Number)確認號佔32位,客戶端和服務端都可以傳送,Ack = Seq + 1。
  3. 3. 標誌位:每個指標佔用一個Bit,共有6個,分別為URG、ACK、PSH、RST、SYN、FIN,具體含義如下
    • • URG:緊急指標(ungent pointer)有效
    • • ACK:確認序號有效(Acknowledge,確認)。
    • • PSH:接收方應該儘快將這個報文交給應用層。
    • • RST:重置連線。
    • • SYN:建立一個新連線(建立一個新的同步連線)。
    • • FIN:斷開一個連線 (Finish,表示完成)

TCP協議特點

  • 面向連線

TCP協議在資料傳輸之前需要建立一個可靠的連線。建立連線的過程稱為“三次握手”,而關閉連線的過程稱為“四次揮手”。這種面向連線的特性使得TCP協議能夠提供可靠的傳輸服務。例如,在檔案傳輸過程中,TCP協議透過建立連線確保資料能夠可靠地傳輸,而不會出現資料丟失或損壞的情況。
  • 建立連線-三次握手
透過抓包工具可以捕捉到TCP建立連線的過程

image
流程大概就是:
  1. 1. 客戶端發起建立連線請求,SYN(標記建立連線請求),發出seq的隨機數,從圖中可以看到seq為0
  2. 2. 服務端收到客戶端請求,並向客戶端發出SYN、ACK(確認標記),以及seq(圖中是0)、ack=seq+1(圖中為1)
  3. 3. 客戶端收到服務端請求,並向服務端發出ACK標記以及seq(這裡的seq是第二步的ack)和ack(這裡的ack是第二步的seq+1)
  4. 4. 到此為止,客戶端與服務端建立連線,開始傳輸相關資料

    image
記憶口訣:一問一答一確認
  • 斷開連線-四次揮手

image
流程大概是:
  1. 1. 客戶端向服務端發起斷開請求,攜帶FIN、ACK標記,以及seq和ack
  2. 2. 服務端收到請求,向客戶端發出ACK確認請求
  3. 3. 這裡服務端會向客戶端傳輸未傳輸完成的資料,當資料傳輸完成之後,服務端向客戶端發起斷開連線請求,攜帶FIN、PSH、ACK標記,並攜帶seq和ack
  4. 4. 客戶端收到服務端請求,並向服務端發出ACK確認請求,到此連線斷開

    image
記憶口訣:兩問兩答
  • 可靠傳輸

TCP協議透過一系列機制(如確認應答、超時重傳、滑動視窗等)確保資料的可靠傳輸。TCP協議會對接收方收到的資料進行確認,如果傳送方沒有收到確認應答,會自動重傳資料。此外,TCP協議還會對資料進行排序,確保資料按照發送順序到達接收方。例如,在網頁瀏覽過程中,TCP協議能夠確保網頁資料完整地傳輸到瀏覽器,不會出現部分內容丟失或損壞的情況。
  • 基於位元組流

TCP協議將資料視為一個連續的位元組流,而不是像UDP協議那樣以資料報的形式傳輸資料。TCP協議會自動對資料進行拆分和重組,確保資料的完整性。例如,在檔案傳輸過程中,TCP協議會將檔案資料拆分成多個TCP段進行傳輸,接收方收到後會按照順序重新組裝成完整的檔案。

UDP協議

UDP(User Datagram Protocol,使用者資料報協議)是一種無連線的、簡單的、不可靠傳輸層協議,廣泛應用於計算機網路中

UDP協議資料包結構圖

image

UDP協議特點

  • 無連線

UDP在資料傳輸之前不需要建立連線。傳送方可以隨時傳送資料報,而接收方也可以隨時接收資料報。這種方式的優點是簡單高效,減少了建立和維護連線的開銷,但缺點是沒有連線的可靠性保證。例如,在一些對即時性要求較高但對資料完整性要求不高的應用場景(如線上影片直播),UDP的無連線特性可以快速地傳送資料,即使偶爾丟失一些資料也不會對整體效果產生太大影響。
  • 不可靠傳輸

UDP不保證資料報的可靠傳輸。它不會對傳送的資料報進行排序、確認或重傳。如果資料報在傳輸過程中丟失或損壞,UDP不會進行自動修復或重新發送。這種不可靠性使得UDP的傳輸速度相對較快,但同時也要求應用層程式自行處理資料的可靠性問題。例如,在一些簡單的查詢服務中(如DNS查詢),UDP的不可靠性是可以接受的,因為即使查詢請求丟失,客戶端可以重新發送請求。
  • 面向資料報

UDP以資料報的形式傳輸資料。每個UDP資料報都有一個獨立的報頭,包含源埠、目的埠、資料報長度和校驗和等資訊。UDP不對資料報進行拆分或合併,而是將應用層提交的資料作為一個完整的資料報傳送出去。這種方式使得UDP能夠快速地傳輸資料,但也要求應用層程式自行處理資料報的大小和邊界問題。例如,如果應用層提交的資料報過大,可能會導致IP層的分片和重組,從而增加傳輸延遲。
  • 支援多播和廣播

UDP不僅支援一對一的單播通訊,還支援一對多的多播和廣播通訊。多播是指將資料傳送到多個特定的接收者,而廣播是指將資料傳送到網路中的所有裝置。這種特性使得UDP在多媒體會議、網路影片直播等應用場景中非常有用。例如,在一個多媒體會議中,主持人可以透過UDP多播將影片資料同時傳送給多個參會者,而無需分別建立多個連線。

TCP協議和UDP協議區別

特性
UDP協議
TCP協議
連線型別
無連線
面向連線
可靠性
不可靠
可靠
傳輸速度
相對較慢
資料傳輸單位
資料報
位元組流
支援通訊型別
單播、多播、廣播
單播
應用場景
即時性要求高、簡單查詢服務、多播和廣播應用
檔案傳輸、網頁瀏覽、郵件傳輸等

DNS協議

DNS(Domain Name System,域名系統)是網際網路中用於將域名和IP地址相互對映的一個分散式資料庫系統。它為使用者提供了一種易於記憶和使用的域名,而計算機網路則透過IP地址進行通訊。DNS在網際網路中扮演著至關重要的角色,使得使用者可以透過域名訪問網站和服務,而無需記住複雜的IP地址。例如www.baidu.com就是一個域名。

DNS作用

  • 域名解析

DNS最主要也是最重要的功能就是將域名解析為對應的IP地址,例如將www.example.com解析為193.184.216.34,以便於計算機可以透過IP地址訪問目標伺服器
  • 負載均衡

透過DNS可以實現對多個伺服器的負載均衡,例如一個域名可以對映多個IP地址,DNS可以根據配置策略(如輪詢、地理位置)將使用者的請求分配到不通的伺服器上,從而提供服務的可用性和效能
  • 故障轉移

當某個伺服器出現故障時,DNS可以自動將流量重定向到備用伺服器,從而實現故障轉移,提高系統的可靠性

DNS解析流程

DNS的解析流程也就是透過域名找到IP地址的過程

image

詳解

  • • 查詢本地DNS快取,是否存在該域名對應的IP地址
  • • 查詢系統的hosts檔案,是否配置該域名對應的IP地址
  • • 訪問本地的DNS伺服器,詢問是否知曉該域名對應的IP地址
  • • 本地DNS伺服器訪問根DNS伺服器,但是根DNS只有頂級域名的記錄,根DNS伺服器告訴我們.cn或者.com的頂級域的DNS地址
  • • 本地DNS伺服器訪問頂級域DNS是否知曉域名對應的IP地址,頂級DNS伺服器返回nameserver(二級)DNS伺服器地址
  • • 本地DNS伺服器訪問nameServer DNS伺服器發起請求,nameServer DNS伺服器返回域名對應的IP地址,IP返回給本地的DNS伺服器
  • • 本地DNS把域名和IP的對應關係交給瀏覽器/命令列

補充:域名結構圖

下圖是相關的域名結構圖,域名主要分為根域名、頂級域名(.com、.cn都是屬於頂級域名)、二級域名、三級域名、四級域名…等,一般我們都是採用三級或者四級域名,例如www.jd.com就是一個三級域名

image

檢視DNS解析的命令

  • • windows系統顯示dnsipconfig /displaydns清空dnsipconfig /flushdns
|     |     || --- | --- ||     | C:\Users\Admin>ipconfig /displaydns ||     |     ||     | Windows IP 配置 ||     |     ||     | h2tcbox.baidu.com ||     | ---------------------------------------- ||     | 記錄名稱. . . . . . . : h2tcbox.baidu.com ||     | 記錄型別. . . . . . . : 5 ||     | 生存時間. . . . . . . : 84 ||     | 資料長度. . . . . . . : 8 ||     | 部分. . . . . . . . . : 答案 ||     | CNAME 記錄  . . . . . : h2tcbox.n.shifen.com ||     |     ||     |     ||     | 記錄名稱. . . . . . . : h2tcbox.n.shifen.com ||     | 記錄型別. . . . . . . : 1 ||     | 生存時間. . . . . . . : 84 ||     | 資料長度. . . . . . . : 4 ||     | 部分. . . . . . . . . : 答案 ||     | A (主機)記錄  . . . . : 39.156.69.140 ||     |     ||     |     ||     | www.yanzitea.cn ||     | ---------------------------------------- ||     | 記錄名稱. . . . . . . : www.yanzitea.cn ||     | 記錄型別. . . . . . . : 28 ||     | 生存時間. . . . . . . : 158 ||     | 資料長度. . . . . . . : 16 ||     | 部分. . . . . . . . . : 答案 ||     | AAAA 記錄 . . . . . . : 2606:4700:3036::ac43:9233 ||     |     ||     |     ||     | 記錄名稱. . . . . . . : www.yanzitea.cn ||     | 記錄型別. . . . . . . : 28 ||     | 生存時間. . . . . . . : 158 ||     | 資料長度. . . . . . . : 16 ||     | 部分. . . . . . . . . : 答案 ||     | AAAA 記錄 . . . . . . : 2606:4700:3033::6815:1c83 ||     |     |
  • • linux命令dig 域名打印出詳細dns解析流程dig +trace 域名
|     |     || --- | --- ||     | root@master-01:~# dig www.baidu.com ||     |     ||     | ; <<>> DiG 9.11.5-P4-5.1+deb10u11-Debian <<>> www.baidu.com ||     | ;; global options: +cmd ||     | ;; Got answer: ||     | ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57800 ||     | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ||     |     ||     | ;; OPT PSEUDOSECTION: ||     | ; EDNS: version: 0, flags:; udp: 4096 ||     | ; COOKIE: 2eeaafbc6d178be2 (echoed) ||     | ;; QUESTION SECTION: ||     | ;www.baidu.com.                 IN      A ||     |     ||     | ;; ANSWER SECTION: ||     | www.baidu.com.          43      IN      CNAME   www.a.shifen.com. ||     | www.a.shifen.com.       43      IN      A       110.242.70.57 ||     | www.a.shifen.com.       43      IN      A       110.242.69.21 ||     |     ||     | ;; Query time: 0 msec ||     | ;; SERVER: 100.96.0.2#53(100.96.0.2) ||     | ;; WHEN: Wed Apr 0217:25:33 CST 2025 ||     | ;; MSG SIZE  rcvd: 161 ||     |     ||     | root@master-01:~# dig +trace www.baidu.com ||     |     ||     | ; <<>> DiG 9.11.5-P4-5.1+deb10u11-Debian <<>> +trace www.baidu.com ||     | ;; global options: +cmd ||     | .                       277     IN      NS      l.root-servers.net. ||     | .                       277     IN      NS      b.root-servers.net. ||     | .                       277     IN      NS      f.root-servers.net. ||     | .                       277     IN      NS      j.root-servers.net. ||     | .                       277     IN      NS      k.root-servers.net. ||     | .                       277     IN      NS      m.root-servers.net. ||     | .                       277     IN      NS      c.root-servers.net. ||     | .                       277     IN      NS      a.root-servers.net. ||     | .                       277     IN      NS      h.root-servers.net. ||     | .                       277     IN      NS      d.root-servers.net. ||     | .                       277     IN      NS      g.root-servers.net. ||     | .                       277     IN      NS      i.root-servers.net. ||     | .                       277     IN      NS      e.root-servers.net. ||     | ;; Received 443 bytes from 100.96.0.2#53(100.96.0.2) in 1 ms ||     |     ||     | com.                    172800  IN      NS      a.gtld-servers.net. ||     | com.                    172800  IN      NS      b.gtld-servers.net. ||     | com.                    172800  IN      NS      c.gtld-servers.net. ||     | com.                    172800  IN      NS      d.gtld-servers.net. ||     | com.                    172800  IN      NS      e.gtld-servers.net. ||     | com.                    172800  IN      NS      f.gtld-servers.net. ||     | com.                    172800  IN      NS      g.gtld-servers.net. ||     | com.                    172800  IN      NS      h.gtld-servers.net. ||     | com.                    172800  IN      NS      i.gtld-servers.net. ||     | com.                    172800  IN      NS      j.gtld-servers.net. ||     | com.                    172800  IN      NS      k.gtld-servers.net. ||     | com.                    172800  IN      NS      l.gtld-servers.net. ||     | com.                    172800  IN      NS      m.gtld-servers.net. ||     | com.                    86400   IN      DS      197181328ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A ||     | com.                    86400   IN      RRSIG   DS 8186400202504150500002025040204000053148 . DxprH1l56f9jNeGnD4uk9HplSESkKIfS6pFFgVf6D4UzFACgLhs7nZGj 7EE1OmZUate4kWph8KXk/R5Dtf7DmDD3kS0aw1M7mDo9uW4y2x607rN7 s/cvmHo5wiMym+UYpXsBRWZrVYXwxjKzK07bvfFzkzOTmECuuGekjyZK /QaFMpfij20p7QHlXaiXw15gCePPn8pQTcWBegMNacywarRoWsFNNow/ SZ4Csjtck2UUaOW1OzBrBKNuZltXG9YbgeNfXSkeHNLWp/50HSPhV9m+ rigDoLtlipxevTjoit0dWfXzRrg1Vu3c+KWCSTQDE5/atYVkWsbgEdlL Wxq0yg== ||     | ;; Received 1173 bytes from 198.97.190.53#53(h.root-servers.net) in 109 ms ||     |     ||     | baidu.com.              172800  IN      NS      ns2.baidu.com. ||     | baidu.com.              172800  IN      NS      ns3.baidu.com. ||     | baidu.com.              172800  IN      NS      ns4.baidu.com. ||     | baidu.com.              172800  IN      NS      ns1.baidu.com. ||     | baidu.com.              172800  IN      NS      ns7.baidu.com. ||     | CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN NSEC3 110 - CK0Q3UDG8CEKKAE7RUKPGCT1DVSSH8LL NS SOA RRSIG DNSKEY NSEC3PARAM ||     | CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN RRSIG NSEC3 132900202504090026362025040123163623202 com. Dbaltv0z92QJvY2nAtOd55b8q5sSwao3YVweFQuonJsZ2ilokw7lkNuh b6Pk/kdRYB5qrnrOFp5dWDGqQMofdw== ||     | HPVV1UNKTCF9TD77I2AUR73709T975GH.com. 900 IN NSEC3 110 - HPVV6R16UOVJ2R5VFOVRGPCVJ6O2KMD9 NS DS RRSIG ||     | HPVV1UNKTCF9TD77I2AUR73709T975GH.com. 900 IN RRSIG NSEC3 132900202504080049012025033123390123202 com. Ye5/FNXHY3c2+pk4RL2MZpd+4od4WMMTTU+sFpthScHwi9j7Uvx7fn2m MXzRpATrcCtxFzMbLIebgHUhvw8bfQ== ||     | ;; Received 713 bytes from 192.31.80.30#53(d.gtld-servers.net) in 167 ms ||     |     ||     | www.baidu.com.          1200    IN      CNAME   www.a.shifen.com. ||     | ;; Received 100 bytes from 111.45.3.226#53(ns4.baidu.com) in 44 ms ||     |     |

DNS相關故障

  • • Linux無法上網
  • • 透過域名訪問:ping域名、dig解析域名時報錯
  • • ping 公網IP可以訪問

使用者訪問網站簡單過程

有了上面內容的鋪墊,我們這裡可以簡單說一下使用者訪問網站的過程,但是實際上過程比這個更為複雜,在這裡就當瞭解一下

image

流程詳解:

  • • 客戶端發出請求
  • • DNS解析域名,獲取實際IP地址
    • • 訪問本地DNS快取和hosts配置檔案
    • • 訪問本地DNS伺服器
    • • 本地DNS伺服器訪問根DNS伺服器,獲取到頂級域
    • • 本地DNS伺服器訪問頂級DNS伺服器,獲取到二級域
    • • 本地DNS伺服器訪問二級域名,獲取到IP地址
    • • 返回本地DNS快取,再給到使用者
  • • TCP三次握手,透過IP+埠建立連線
    • • 客戶端向服務端發起SYN請求,攜帶seq隨機數
    • • 服務端向客戶端發起ACK、SYN建立連線,攜帶seq隨機數和ack(seq+1)
    • • 客戶端向服務端發起ACK確認標記
    • • 建立連線
  • • 伺服器處理使用者的請求
  • • 伺服器發出http響應,返回給客戶端
  • • TCP四次揮手,埠連線
    • • 服務端–>客戶端:發出斷開連線請求FIN,ack,seq
    • • 客戶端–>服務端:發出ACK確認,ack,seq
    • • 客戶端–>服務端:發出FIN斷開連線請求,ack,seq
    • • 服務端–>客戶端,發出ACK確認,ack,seq
    • • 連線斷開
連結:https://www.cnblogs.com/huangSir-devops/p/18804830
(版權歸原作者所有,侵刪)
文末福利
就目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。
為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套高階運維工程師必備技能資料包,內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
備註:最新運維資料
100%免費領取
(後臺不再回復,掃碼一鍵領取

相關文章