1. 程式人生 > >IP地址、子網掩碼、預設閘道器、DNS伺服器

IP地址、子網掩碼、預設閘道器、DNS伺服器

IP地址、子網掩碼、預設閘道器、DNS伺服器

文章目錄


記錄一下又一次修電腦的經歷,新換了個實驗室,老師給拿了一個小紙條,上面記錄著一串ip地址、子網掩碼、閘道器和DNS,讓把實驗室的網配一下,說的很簡單,就把上面的地址照著敲一遍就好了。我一看,這不就是電腦網路連線IPV4需要設定的那些東西。所以就很好奇的又複習了一遍這些知識,之前都忘得差不多了。以後還是得多記筆記,方便複習。忘性太大。

1、IP地址

  • 概述
    計算機要實現快速網路通訊,就必須有一個快速定位的網路地址。ip地址就是這麼的一個存在,為了在茫茫的網路中,快速定位到你這臺機器的唯一身份ID。就好像送快遞的得知道你的地址才能給你送東西。
  • IP地址的組成
    (1) 按照TCP/IP協議規定,IP地址用二進位制表示,每個IP地址長32bit,32位元,換算成位元組就是4位元組。
    比如:00001010 00000000 00000000 00000001
    處理起來太費勁,所以為了方便表示,常用10進位制形式表示,中間使用"."分開不同的位元組。於是上面的就可以表示為 10.0.0.1
    (2) IP地址 = 網路地址+主機地址,當想要找到你這臺主機的時候,首先先找到網路地址,然後根據網路地址在找到你的主機地址。通常網路會分成很多的子網路,每個子網路也都有自己的網路地址,每個子網路由很多計算機組成(也可以包含另外一個子網路)。這麼劃分就好像為什麼會有行政區劃(國家、省市區、街道等等)的劃分一個道理,為了更高效的管理。
    (3) 假如有一個IP地址是 192.168.100.168,子網掩碼 255.255.255.0,那麼,
    192.168.1.168(IP地址) = 192.168.1.0 (網路地址) + 0.0.0.168(主機地址)
    計算方法是這樣的:
    192.168.1.168 換算成二進位制為 11000000.10101000.00000001.10101000
    255.255.255.0 換算成二進位制為 11111111.11111111.11111111.00000000
    將二者進行與運算
         11000000.10101000.00000001.10101000
    與運算  11111111.11111111.11111111.00000000
    結果是   11000000.10101000.00000001.00000000
    結果換算成十進位制: 192.168.1.0

2、子網掩碼(subnet mask)

子網掩碼與IP地址是一起出現的,子網掩碼的作用就是為了標識IP地址的網路地址和主機地址。如果不指定,就不知道哪些位是網路號、哪些是主機號,這就需要通過子網掩碼來實現。

子網掩碼是用來判斷任意兩臺計算機的ip地址是否屬於同一子網路的根據。最為簡單的理解就是兩臺計算機各自的ip地址與子網掩碼進行and運算後,得出的結果是相同的,則說明這兩臺計算機是處於同一個子網路上的,可以進行直接的通訊

  • 概述
    子網掩碼又叫網路掩碼、地址掩碼、子網路遮罩,是一個 32bit(4位元組)由 0/1 組成的數字串。它的作用是遮蔽(遮住)IP地址的一部分以劃分成網路地址和主機地址兩部分,並說明該IP地址是在區域網上,還是在遠端網上。通過子網掩碼,可以把網路劃分成子網,即VLSM(可變長子網掩碼),也可以把小的網路歸併成大的網路即超網。
  • 規則
    例如:11111111.11111111.11111111.00000000,對應十進位制:255.255.255.0
    假設,區域網中 計算機A 的IP地址為 192.168.1.1,子網掩碼為 255.255.255.0, 如下圖所示:
    在這裡插入圖片描述
    網路地址: IP 地址中被 連續的1 遮住的部分,即 11000000.10101000.00000001.00000000, 對應的網路地址:192.168.1.0
    主機地址: IP 地址中被 連續的0 遮住的部分,即 00000000.00000000.00000000.00000001, 對應的主機地址:0.0.0.1
    排除 該網路 兩個特殊地址:
      廣播地址:192.168.1.255  (主機號全為11111111)
      網路地址:192.168.1.0    (主機號全為00000000)
    該子網最大的主機數:2的8次方 256 - 2
  • 其他資訊
    對於A類地址來說,預設的子網掩碼是255.0.0.0;
    對於B類地址來說預設的子網掩碼是255.255.0.0;
    對於C類地址來說預設的子網掩碼是255.255.255.0。
  • 通過子網掩碼計算網路地址
    計算過程是這樣的:
    1. 將IP地址和子網掩碼都換算成二進位制;
    2. 將兩者進行 “與運算”,得到網路地址。
      計算過程:上下對齊, 1位1位的算, 1與1=1 , 其餘組合都為0
                1 0 1 0
           與運算  1 0 1 1
           -------------------
           結果   1 0 1 0    
      假設 IP地址為 192.168.1.168,子網掩碼為 255.255.255.0, 則網路地址換算步驟如下:
      1)將IP地址和子網掩碼分別換算成二進位制   
      192.168.1.168 換算成二進位制為 11000000.10101000.00000001.10101000
      255.255.255.0 換算成二進位制為 11111111.11111111.11111111.00000000
      2)將二者進行與運算
           11000000.10101000.00000001.10101000
      與運算  11111111.11111111.11111111.00000000
      --------------------------------------------------------
      結果   11000000.10101000.00000001.00000000
  1. 將運算結果換算成十進位制: 192.168.1.0
  • 實踐
    以用網線直接將兩臺計算機連起來為例:
    在這裡插入圖片描述
    下面是幾種IP地址設定, 看看在不同設定下網路是通還是不通.
實驗編號 1號機器 2號機器 網路連通
IP地址 子網掩碼 網路地址 IP地址 子網掩碼 網路地址
1 192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.200 255.255.255.0 192.168.0.0 Y
2 192.168.0.1 255.255.255.0 192.168.0.0 192.168.1.200 255.255.255.0 192.168.1.0 N
3 192.168.0.1 255.255.255.192 192.168.0.0 192.168.0.200 255.255.255.0 192.168.0.192 N

3、閘道器

假設有兩個網路:
  網路A的IP地址範圍為“192.168.1.1~192.168.1.254”,子網掩碼為255.255.255.0
  網路B的IP地址範圍為“192.168.2.1~192.168.2.254”,子網掩碼為255.255.255.0
要實現這兩個網路之間的通訊,則必須通過閘道器。
如果網路A中的主機發現資料包的目的主機不在本地網路中,就把資料包轉發給它自己的閘道器,再由閘道器轉發給網路B的閘道器,網路B的閘道器再轉發給網路B的某個主機。
在這裡插入圖片描述

  • 預設閘道器
    一臺主機可以有多個閘道器。預設閘道器的意思是一臺主機如果找不到可用的閘道器,就把資料包發給預設指定的閘道器,由這個閘道器來處理資料包。現在主機使用的閘道器,一般指的是預設閘道器。

4、DNS伺服器

  • 域名與DNS
    我們訪問一個網站的時候,往往使用的是域名(相對IP來說更加語義清晰、更加容易記憶,例如 www.baidu.com)。
    域名是由一串用點分隔的名字組成的,通常包含組織名,而且始終包括兩到三個字母的字尾,以指明組織的型別或該域所在的國家或地區。
    然而計算機之間的通訊網路通訊是通過IP進行的, 因此需要將域名解析為對應的IP,DNS就是進行域名解析的伺服器。
    DNS 維護著 域名(domain name)和IP地址 (IP address)的對照表表,以解析訊息的域名。
  • DNS查詢過程
    (1)在瀏覽器中輸入www.qq.com域名,作業系統會先檢查自己本地的hosts檔案是否有這個網址對映關係,如果有,就先呼叫這個IP地址對映,完成域名解析。
    (2)如果hosts裡沒有這個域名的對映,則查詢本地DNS解析器快取,是否有這個網址對映關係,如果有,直接返回,完成域名解析。
    (3)如果hosts與本地DNS解析器快取都沒有相應的網址對映關係,首先會找TCP/ip引數中設定的首選DNS伺服器,在此我們叫它本地DNS伺服器,此伺服器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
    (4)如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已快取了此網址對映關係,則呼叫這個IP地址對映,完成域名解析,此解析不具有權威性。
    (5)如果本地DNS伺服器本地區域檔案與快取解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這臺伺服器。這臺負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(qq.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找qq.com域伺服器,重複上面的動作,進行查詢,直至找到www.qq.com主機。
    (6)如果用的是轉發模式,此DNS伺服器就會把請求轉發至上一級DNS伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此迴圈。不管是本地DNS伺服器用是是轉發,還是根提示,最後都是把結果返回給本地DNS伺服器,由此DNS伺服器再返回給客戶機。
    參考:https://www.cnblogs.com/iceJava/p/5372033.html