1. 程式人生 > >網路基礎(OSI,TCP/IP,DNS,DHCP,閘道器)

網路基礎(OSI,TCP/IP,DNS,DHCP,閘道器)

OSI 七層模型   開放系統互聯模型

  在這裡插入圖片描述
  資料在網路中的傳輸過程(七層假想)
  其中,應用層更接近使用者,資料傳遞是在物理層,中間是邏輯假想,上三層為使用者提供服務,下四層給傳輸資料用
  比如,你想給[email protected]傳送一封郵件,應用層開啟瀏覽器,輸郵箱,寫內容,點發送 → 資料就傳遞給表示層,把文字翻譯為ASCII,GB2312 → 資料傳遞到會話層,判斷需要使用網路 → 到傳輸層,寫入郵件埠號,確定協議TCP → 網路層,寫入源IP,目標IP → 資料鏈路層,寫入MAC地址 → 物理層,真正資料傳輸到目標IP後,又逐層返回直到應用層。

TCP/IP

  相關知識點太多了,我們簡單來了解一下TCP,IP

  • IP協議
    IP協議的作用在於把各種資料包準確無誤的傳遞給對方,其中兩個重要的條件是IP地址和MAC地址。IP地址就如同我們居住小區的地址,而MAC地址就是我們住的那棟樓那個房間的那個人.

  • TCP協議
    如果說IP協議是找到詳細地址,那麼TCP協議就是安全的把東西傳給對方,TCP採用了著名的三次握手策略,舉個例子:
    A:我要給你發個東西,你在不在?
    B:在呢,你說吧,什麼事
    C:給你發個檔案,趕緊接收.

  
  

DNS   域名系統的縮寫,也稱作名稱解析

  網際網路中,通過IP地址進行通訊,但IP地址記憶起來很困難,人對域名更加敏感,如

http://www.baidu.com/ 這時候,就需要DNS來為計算機和人類來翻譯各自能識別的IP和域名,這就是DNS的作用

  • 工作原理:先上一張圖   ##### 我們暫時就這麼理解就可以 ####

    在這裡插入圖片描述
    比如,當我們想訪問Web時,就如上圖
    1.客戶機向DNS伺服器傳送域名查詢請求
    2.DNS伺服器告訴客戶機Web伺服器的IP地址
    3.客戶機得到IP後與Web伺服器通訊

  • /etc/hosts   DNS的前身,本地域名解析檔案,優先順序高於/etc/resolv.conf,識別域名時系統優先查詢hosts檔案

    [[email protected] Desktop] # cat /etc/hosts
    192.168.4.156             www.sina.com
    202.108.22.5              www.baidu.com
    

    名稱解析效能低,主機維護困難

  • /etc/resolv.conf
    指定系統所用的DNS伺服器的IP地址,還可以設定當前主機所在的域以及DNS搜尋路徑

      [[email protected] Desktop] # cat /etc/resolv.conf
      nameserver 192.168.0.5
      nameserver 114.114.114.114
      search jw.com
      domain jw.com     
    
DHCP   動態主機配置協議

  一種簡化主機IP地址分配管理的TCP/IP標準協議,是通過伺服器集中管理網路上使用的IP地址及其他相關配置資訊,以減少管理IP地址配置的複雜性

  • DHCP服務的安裝與配置
    在這裡插入圖片描述

     [[email protected] Desktop] # rpm -ivh dhcp-4.2.5-27.el7.x86_64.rpm             ## 安裝該dhcp程式包
    

    此處大家可能會遇到報錯error: Failed dependencies: 意思是缺少該包的依賴包,如果出現,改為下面命令

     [[email protected] Desktop] # rpm -ivh dhcp-4.2.5-27.el7.x86_64.rpm --nodeps --force    ## 安裝時不分析依賴關係
    
  • /etc/dhcp/dhcpd.conf 主配置檔案解釋:
    主程式安裝好後,會自動生成主配置檔案的範本檔案/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example,而在/etc/dhcp目錄下會建立一個空白的dhcpd.conf主配置檔案:
    模板檔案拷貝覆蓋空白的dhcpd.conf檔案

     option domain-name "example.com";       ## 配置域名,實驗環境下可以不用管,實際工作中的域名,就是公司備案的那個域名
     option domain-name-servers 192.168.1.101;                        ## 配置提供DNS服務的IP
     default-lease-time 600;                                        ## 預設租約時間600s
     max-lease-time 7200;                                           ## 最長租約時間 7200s
     subnet 192.168.239.0 netmask 255.255.255.0 {                   ##subnet是你所處的網段,netmask是子網掩碼
       range 192.168.239.66 192.168.239.88;                         ## 分配IP的範圍從66~88
       option routers 192.168.239.214;                              ## 閘道器地址,我的windows真機IP是192.168.239.214
       }
     [[email protected] Desktop] # systemctl restart dhcpd             ## 配置完成後記得重啟dhcp服務
     [[email protected] Desktop] # systemctl status dhcpd              ##檢視dhcp服務狀態
    

    到這裡,你的desktop這個主機就具備給子網內其他主機分配IP的功能了.

  • /var/lib/dhcp/dhcpd.leases 客戶租約資料庫檔案
    包含每個租用的IP地址對應的MAC地址,租約起始和結束時間等資訊
    在這裡插入圖片描述
    在這裡插入圖片描述