你一定對IP地址有所了解吧?我們知道在INTERNET中廣泛使用的TCP/IP協議就是利用IP地址來區別不同的主機的。如果你曾經進行過TCP/IP協議設置,那么你一定會遇到子網掩碼(Subnet mask)這一名詞,那么你知道什么是子網掩碼嗎?它有什么作用呢?
我們知道IP地址是一個4字節(共32bit)的數字,被分為4段,每段8位,段與段之間用句點分隔。為了便於表達和識別,IP地址是以十進制形式表示的如210.52.207.2,每段所能表示的十進制數最大不超過255。IP地址由兩部分組成,即網絡號(Netgwork ID)和主機號(Host ID)。網絡號標識的是Internet上的一個子網,而主機號標識的是子網中的某台主機。網際地址分解成兩個域后,帶來了一個重要的優點:IP數據包從網際上的一個網絡到達另一個網絡時,選擇路徑可以基於網絡而不是主機。在大型的網際中,這一點優勢特別明顯,因為路由表中只存儲網絡信息而不是主機信息,這樣可以大大簡化路由表。IP地址根據網絡號和主機號的數量而分為A、B、C三類:
A類IP地址:用7位(bit)來標識網絡號,24位標識主機號,最前面一位為"0",即A類地址的第一段取值介於1~126之間。A類地址通常為大型網絡而提供,全世界總共只有126個只可能的A類網絡,每個A類網絡最多可以連接16777214台主機。
B類IP地址:用14位來標識網絡號,16位標識主機號,前面兩位是"10"。B類地址的第一段取值介於128~191之間,第一段和第二段合在一起表示網絡號。B類地址適用於中等規模的網絡,全世界大約有16000個B類網絡,每個B類網絡最多可以連接65534台主機。
C類IP地址:用21位來標識網絡號,8位標識主機號,前面三位是"110"。C類地址的第一段取值介於192~223之間,第一段、第二段、第三段合在一起表示網絡號。最后一段標識網絡上的主機號。C類地址適用於校園網等小型網絡,每個C類網絡最多可以有254台主機。
從上面的介紹我們知道,IP地址是以網絡號和主機號來標示網絡上的主機的,只有在一個網絡號下的計算機之間才能"直接"互通,不同網絡號的計算機要通過網關(Gateway)才能互通。但這樣的划分在某些情況下顯得並十分不靈活。為此IP網絡還允許划分成更小的網絡,稱為子網(Subnet),這樣就產生了子網掩碼。子網掩碼的作用就是用來判斷任意兩個IP地址是否屬於同一子網絡,這時只有在同一子網的計算機才能"直接"互通。那么怎樣確定子網掩碼呢?
前面講到IP地址分網絡號和主機號,要將一個網絡划分為多個子網,因此網絡號將要占用原來的主機位,如對於一個C類地址,它用21位來標識網絡號,要將其划分為2個子網則需要占用1位原來的主機標識位。此時網絡號位變為22位為主機標示變為7位。同理借用2個主機位則可以將一個C類網絡划分為4個子網……那計算機是怎樣才知道這一網絡是否划分了子網呢?這就可以從子網掩碼中看出。子網掩碼和IP地址一樣有32bit,確定子網掩碼的方法是其與IP地址中標識網絡號的所有對應位都用"1",而與主機號對應的位都是"0"。如分為2個子網的C類IP地址用22位來標識網絡號,則其子網掩碼為:11111111 11111111 11111111 10000000即255.255.255.128。於是我們可以知道,A類地址的缺省子網掩碼為255.0.0.0,B類為255.255.0.0,C類為255.255.255.0。下表是C類地址子網划分及相關子網掩碼:
子網位數 子網掩碼 主機數 可用主機數
1 255.255.255.128 128 126
2 255.255.255.192 64 62
3 255.255.255.224 32 30
4 255.255.255.240 16 14
5 255.255.255.248 8 6
6 255.255.255.252 4 2
你可能注意到上表分了主機數和可用主機數兩項,這是為什么呢?因為但當地址的所有主機位都為"0"時,這一地址為線路(或子網)地址,而當所有主機位都為"1"時為廣播地址。
同時我們還可以使用可變長掩碼(VLSM)就是指一個網絡可以用不同的掩碼進行配置。這樣做的目的是為了使把一個網絡划分成多個子網更加方便。在沒有VLSM的情況下,一個網絡只能使用一種子網掩碼,這就限制了在給定的子網數目條件下主機的數目。例如你被分配了一個C類地址,網絡號為192.168.10.0,而你現在需要將其划分為三個子網,其中一個子網有100台主機,其余的兩個子網有50台主機。我們知道一個C類地址有254個可用地址,那么你如何選擇子網掩碼呢?從上表中我們發現,當我們在所有子網中都使用一個子網掩碼時這一問題是無法解決的。此時VLSM就派上了用場,我們可以在100個主機的子網使用255.255.255.128這一掩碼,它可以使用192.168.10.0到192.168.10.127這128個IP地址,其中可用主機號為126個。我們再把剩下的192.168.10.128到192.168.10.255這128個IP地址分成兩個子網,子網掩碼為255.255.255.192。其中一個子網的地址從192.168.10.128到192.168.10.191,另一子網的地址從192.168.10.192到192.168.10.255。子網掩碼為255.255.255.192每個子網的可用主機地址都為62個,這樣就達到了要求。可以看出合理使用子網掩碼,可以使IP地址更加便於管理和控制。
網關(Gateway)就是一個網絡連接到另一個網絡的“關口”。在Internet網中,網關是一種連接內部網與Internet上其它網的中間設備,也稱“路由器”。網關地址是可以理解為內部網與Internet網信息傳輸的通道地址。按照不同的分類標准,網關也有很多種。TCP/IP協議里的網關是最常用的,在這里我們所講的“網關”均指TCP/IP協議下的網關。
那么網關到底是什么呢?網關實質上是一個網絡通向其他網絡的IP地址。比如有網絡A和網絡B,網絡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。在沒有路由器的情況下,兩個網絡之間是不能進行TCP/IP通信的,即使是兩個網絡連接在同一台交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網絡中的主機處在不同的網絡里。而要實現這兩個網絡之間的通信,則必須通過網關。如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關轉發給網絡B的網關,網絡B的網關再轉發給網絡B的某個主機。網絡B向網絡A轉發數據包的過程也是如此。
所以說,只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。那么這個IP地址是哪台機器的IP地址呢?網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啟用了路由協議的服務器(實質上相當於一台路由器)、代理服務器(也相當於一台路由器)。
大家都知道,當我們在上網的時候,通常輸入的是網址,其實這就是一個域名,而我們計算機網絡上的計算機彼此之間只能用IP地址才能相互識別。再如,我們去一WEB服務器中請求一WEB頁面,我們可以在瀏覽器中輸入網址或者是相應的IP地址,例如我們要上新浪網,我們可以在IE的地址欄中輸入網址,也可輸入IP地址,但是這樣子的IP地址我們記不住或說是很難記住,所以有了域名的說法,這樣的域名會讓我們容易的記住。
所以,DNS就相當於一個黃頁,提供轉接和快捷查詢IP的服務。