1. 程式人生 > 程式設計 >計算機網路相關知識

計算機網路相關知識

【OSI參考模組】

7 應用層

  • 協議:Telnet、SSH、HTTP、SMTP、POP、SSL/TLS、FTP、MIME、HTML、SNMP、MIB、SIP、RTP
  • 功能:針對特定應用的協議,例如
    • 電子郵件<->電子郵件協議
    • 遠端登入<->遠端登入協議
    • 檔案傳輸<->檔案傳輸協議
  • 對應TCP/IP分層模型:應用層

6 表示層

  • 協議:
  • 功能:主要負責資料格式的轉換。將應用處理的資訊轉換成合適網路傳輸的格式,或者將來自下一層的資料轉換為上層能夠處理的格式,遮蔽差異。
  • 對應TCP/IP分層模型:應用層

5 會話層

  • 協議:
  • 功能:通訊管理,負責建立和斷開通訊連線(資料流動的邏輯通路),以及資料的分割等資料傳輸相關的管理,管理傳輸層以下的分層。
  • 對應TCP/IP分層模型:應用層

4 傳輸層

  • 協議:TCP、UDP
    • TCP:面向連線的、可靠的流協議,三次握手,四次揮手
    • UDP:不具可靠性的資料報協議
  • 功能:管理兩個節點之間的資料傳輸,負責可靠傳輸(確保資料被可靠的傳送到目標地址),只在通訊雙方節點上進行處理,而無需在路由器上處理。
  • 對應TCP/IP分層模型:傳輸層,作業系統

3 網路層

  • 協議:
    • IP
    • DNS:域名<->IP
    • ARP:以IP地址為線索,用來定位下一個應該接收資料分包的網路裝置對應的MAC地址。
      • 藉助ARP請求與ARP響應兩種型別的包確定MAC地址。
      • 由於路由器廣播的包能夠被同一個鏈路上的所有主機或者路由器接收,因此ARP的請求包也就會被這同一個鏈路上所有的主機和路由器進行解析。如果ARP請求包中的目標IP和自己的IP一致,阿九把自己的額MAC的地址塞到ARP響應包返回給主機。
      • ARP轉發表只快取一段時間。
    • NAT:私有地址<->全域性地址
    • NAPT:轉換TCP、UDP埠號,實現一個全域性IP和多個主機的通訊;
  • 功能:地址管理與路由選擇。
  • 對應TCP/IP分層模型:網際網路層,作業系統
  • 相關技術:
    • IP:需要對不同的資料鏈路進行抽象;面向無連線協議;IP地址;子網掩碼;全域性地址&&私有地址;NAT;路由控制;ARP

2 資料鏈路層

  • 功能:互連裝置之間傳送和識別資料幀,即資料幀和位元流之間的轉換。
  • 對應TCP/IP分層模型:網路卡層(網路介面層),裝置驅動程式與網路介面
  • 相關技術:
    • MAC地址:在使用網路卡(NIC)的情況下,MAC地址一般都會而被燒入到ROM(只讀記憶體)中。
      • 理論上MAC地址應該唯一,但是存在不唯一的情況:當一臺主機上啟動了多個虛擬機器器時,由於沒有硬體的網路卡,只能由虛擬軟體自己設定MAC地址給多個虛擬網路卡,因此就很難保證生成的MAC地址是對無二的了。但是即使MAC地址相同,只要不是同一個資料鏈路就不會出現問題。
    • 根據MAC地址:乙太網交換機根據資料流鏈路層中每個幀的目標MAC地址,決定從哪個網路介面傳送資料,用以參考、記錄傳送介面的表就叫做轉發表,其內容可以自動“學習”生成。

1 物理層

  • 功能:以’0’、’1’代表電壓的高低、燈光的閃滅,界定聯結器和網線的規格;也就是位元流和電子訊號之間的切換。
  • 裝置:中繼器
  • 對應TCP/IP分層模型:硬體層,裝置驅動程式與網路介面

【區分】

資料鏈路層和網路層的關係?

  • 資料鏈路層提供直連兩個裝置之間的通訊功能,相當於把一個包送到下一個裝置處的能力;
  • 網路層(IP)負責在沒有直連的兩個網路之間進行通訊傳輸,相當於設定目標,指定一個包最終要到達哪裡。

地址?

  • MAC地址:用來標識同一個鏈路中不同計算機的一種識別碼;
  • IP地址:用於在連結到網路中的所有主機中是被出進行通訊的目標地址,屬於網路層地址;
    • IP地址由網路和主機兩部分標識組成。
    • 同一個網段相連的主機:網段相同,主機標識不同;
    • 不同網段的主機:網段不同,但主機標識可能重複;
    • 網路地址+主機地址===》IP地址不會重複
  • IP地址分為4類。
  • 子網掩碼:將主機地址部分用作子網地址,可以將原網路分成多個物理網路的一種機制。
    • 一個IP地址有兩種識別碼:IP地址本身和表示網路部的子網掩碼。
    • 二進位制的子網掩碼是也是32位:對應IP地址網路標識表福的位全部為1,對應的IP地址主機標識部門全部為0

全域性地址和私有地址?IPV4耗盡?

  • 如果一臺主機一個IP,那麼IP將有耗盡的危險。
  • 為解決上述問題除了使用IPV6,還採用以下方法:不再給每個主機或路由器分配一個固定的IP,只給一個網路中擔負了轉發資料包功能的裝置分配一個整個網際網路範圍內唯一的IP,然後在其區域網內的主機所分配到的IP 是隨意設定的私有IP,在這些主機的資料包想要傳送到網際網路中的時候,就結合NAT技術,把私有IP轉換成全域性IP。
  • 在不同域出現相同的私有IP並不會影響使用。

IP地址與路由控制?

  • IP地址的網路地址部分用於進行路由控制,也就是對於網路層而言,在兩個網路之間,首先找的是網段所在的網路,然後再在這個網路中找對應的主機;
  • 裝置:路由器;

DNS的工作原理?

  • 你在瀏覽器輸入了網址,然後瀏覽器通過UDP協議(使用者資料報協議,一種無連線的傳輸層協議)向本地伺服器的53號埠傳送了DNS解析請求。
  • 如果本地DNS伺服器快取了該域名的DNS記錄,則瀏覽器就會立刻從快取中得到該域名的ip地址。如果沒有該記錄就回向根伺服器請求,然後根伺服器收到請求後,會返回給本地伺服器相應的頂級域名DNS伺服器地址。以www.baidu.com為例,就回返回解析com頂級域名的伺服器。【本地伺服器DNS快取查詢:首先查瀏覽器快取,查OS快取,查host檔案快取】
  • 然後本地伺服器知道頂級域名伺服器(TLD-頂級域)的地址後就會向該伺服器傳送解析請求,然後頂級域名伺服器返回給本地DNS伺服器百度的權威伺服器的IP地址。
  • 同上,本地DNS伺服器向百度的權威DNS伺服器發起查詢請求,就回得到百度權威DNS伺服器返回給本地伺服器的百度伺服器的IP地址。【其實,TLD伺服器不會直接返回網站域名的IP,其只會返回該域名的授權命名伺服器地址,即權威DNS伺服器。當我們購買域名並繫結到一個IP地址上的時候,域名註冊商會廣播這條資訊到權威伺服器和頂級域名伺服器。】
  • 最後,本地DNS伺服器會把百度伺服器的IP地址返回給你的電腦,同時將這條記錄快取在本地DNS伺服器。
  • 注意:以上這種方式稱為“先遞迴,再輪詢”的查詢方式,計算機網路中還存在其他的查詢方式如僅僅的”遞迴“,可是上面這種查詢方式時最常用的。
    • 頂級域(TLD) :域名中 .右面的部分。例如,baidu.com 而 .com 是頂級域TLD;
    • 二級域名(SLD):位於點號的左邊,上例中的baidu;
    • 三級域名:位於二級域名點號左邊的部分;
    • ??www.google.com.hk/ 怎麼說?

【TCP/IP分層模型】

  • 應用層———會話層、表示層、應用層---應用程式
  • 傳輸層———傳輸層----作業系統
  • 網際網路層———網路層----作業系統
  • 網路卡層———資料鏈路層---裝置驅動程式與網路介面
  • (硬體)———物理層---裝置驅動程式與網路介面

【裝置】

  • 網路卡:使計算機連網的裝置,出廠時自帶Mac地址;
  • 中繼器:從物理層上延長網路的裝置;
  • 網橋/2層交換機:從資料鏈路層上延長網路的裝置;
  • 路由器/3層交換機:通過網路層轉發分組資料的裝置;
  • 4~7層交換機:處理傳輸層以上各層網路傳輸的裝置;
  • 閘道器:轉換協議的裝置;
  • 乙太網交換機:持有多個埠的網橋。

【資料包】

在每個分層中,都會對所傳送的資料附加一個首部,在這個首部中包含了該層必要的資訊,如傳送的目標地址和相關協議資訊等。 網路中傳輸的資料包由兩部分組成:

  •    一部分是協議所要用到的首部;
    複製程式碼
  •   另一部分是上層傳過來的資料;
    複製程式碼

概念:

  • 包:全能性術語;
  • 幀:用於表示資料鏈路層中包的單位;
  • 資料報(包):IP和UDP等網路層以上的分層中包的單位;
  • 段:TCP資料流中的資訊;
  • 訊息:應用協議中資料的單位;
  • 流:不間斷的資料結構;

【傳送資料包的過程】

【通訊方式】

  • 半雙工:只傳送或只接收;具備接收和傳送的能力,但是不能同時傳送或接收;
  • 全雙工:允許在同一時間既可以傳送資料也可以接收資料;
  • 單工:通訊只在一個方向上進行,這種方式的應用例項有:監視器、印表機、電視機;