創建一個子網的要點是什么?我如何記住這些看起來怪怪的子網掩碼?這與IPv6地址如何配合工作?這篇文章將擴展以前關于子網和CIDR那篇教程的內容,以便讓你更全面的理解子網的相關概念。
為什么我們不把所有設備都放在同一個子網之中?這樣就不用再擔心路由的問題。這個原因很簡單。每一次當某個系統需要通訊時,無論他是一臺主機還是另一臺路由器,他們都需要發送一個ARP(地址解析協議)請求。此外,還有一些非ARP的廣播數據包,這些訊息網絡中所有人的都可以接收到。當一個24位子網中只有255臺設備的時候,這些廣播數據包算是比較有限的。在網絡中一個很重要的問題就是讓這個數字保持在一個較低的狀態,因為任何主機在收到一條專發給它的信息或廣播信息時,主機必須要處理這個數據包。這需要創建一個硬中斷,而且操作系統內核必須要閱讀足夠的數據以便這個數據包是否要進行進一步處理。
廣播風暴時有發生,這種情況的主因是2層拓撲環路。我們在前面的文章里已經接觸到一些2層拓撲的問題。當數千個數據包同時涌向你的計算機時,你的機器運行速度會變得非常緩慢。操作系統內核需要把大量的時間用于處理中斷,再也騰不出時間處理其它進程。所以,這就是子網為什么非常重要的原因。子網也稱作廣播域,它可以限制你能夠收到的廣播范圍。
下一個問題是從一臺主機的角度如何來看待廣播地址和子網掩碼。我們可以理解一臺主機需要了解在同一個子網上有什么計算機。這些IP地址能夠直接對話,而無需路由器。當子網掩碼或者廣播地址配置不正確時,你很快就會發現無法訪問某些主機。
最常見的設置錯誤經常出現在當沒有同時指定子網掩碼和廣播地址時設置一個IP地址的時候,由于一些原因,雖然可以通過這其中的一個的值算出另一個,但大多數操作系統并不負責主動更新它們,例如當你運行“ifconfig eth0 130.211.0.1 netmask 255.255.255.0”時,你可能以為一切都會按你預想的方式運行。遺憾的是,你的廣播地址很可能被設置為255.255.0.0。這主要依賴于路由器的設置,但是,這個結果通常會導致所有的廣播數據包丟失。相反,如果一個子網掩碼設置的不正確,這個計算機就不知道這個子網的開始和結束地址。如果一臺計算機認為另一個主機在同一個子網中而實際上并非如此,當需要與之通信時這臺計算機就會直接向網絡中發送ARP請求而不去請求路由器。當然你也可以設置路由器處理這種情況并且讓路由器替代目標主機做出ARP應答(稱作“ARP代理”,這時可以進行正常的通信),不過,大多數情況下這種情況的結果是無法訪問主機。
理解子網掩碼的設置原理就可以避免出現上面提到的問題。當你記住子網掩碼的含義是“掩蓋一些二進制位”時,算出這個網絡地址和廣播地址并不非常困難。解密一些子網掩碼的含義可以加深你對子網掩碼原理的理解。一個24位網絡地址的子網掩碼是255.255.255.0。這很簡單。但是,255.255.240.0代表什么意思?破解這個地址的最佳方法就是從掩碼掩蓋的部分開始。把這個地址與一個標準24位網絡地址進行比較。標準 24位網絡地址有三個字節被掩蓋了,我們看到255.255.240.0有二個字節被掩蓋了,另一個8位字節被掩蓋了一部分。我們知道這是在一個16位網絡地址和一個24位網絡地址之間。我們必須要理解二進制,并且算出有多少位被掩蓋了。這最前面的16個字節顯然是網段的一部分。第三個8位字節240讓 16位的網絡地址擴展子網掩碼,分析這個數字你可以發現這個字節有4個二進制位沒被掩蓋(256-240=16,16等于2的4次方)。剩下的4個二進制位加上用于前兩個字節中的16個二進制位這意味著我們在處理一個20位的網絡地址。
1.0.0.0/255.255.255.248是什么意思?我們確實是在一個小于24位子網的網絡中。如果我們查看最后的8位字節中的剩余的字節,我們能夠看到有8個可用的IP地址。要記住,只有2的3 次方能夠等于8,所以,我們使用除了最后一個字節中的三個二進制位以外的全部作為網絡地址。這是一個29位網絡。當然,簡單的地址是非常清楚的:與24位網絡相比,255.255.255.128允許的主機地址數量是最后一個8位字節的一半。所以,這是一個25位網絡。
關于容易混淆的子網掩碼的話題,IPv6地址肯定占有一席之地。這個子網掩碼實際上并不是一個問題,因為同樣的原則在這里也適用。只是需要記住更多的數字。地址中的真正問題是地址本身的表達方式,IETF(互聯網工程任務組)似乎為其制造混亂而感到驕傲。IPv6地址一般以16進制表示。我們的老朋友IPv4也可以用16 進制表示一個IP地址,例如用B.B.B.B代表網絡地址11.11.11.11。遺憾的是,IPv6地址起來更讓人容易迷惑。要表達一個128位地址,IPv6通常把地址分為8個16位字段。
一個IPv6地址看起來是這樣的:2013:4567:0000:CDEF:0000:0000:00AD:0000。這個地址確實更容易一些。例如,前面的零不用寫,連續的四個零可以簡寫為::。然而,后面的零必須要顯示出來。這有一點混亂。但是,這個規則適用于一個沒有歧義的IP地址。每四個零中的第一個零可以刪除,但是,零的連續字段的簡寫每個地址只能進行一次。上述地址把零縮寫之后是這樣的:2013:4567:0000:CDEF::AD:0000。IPv6提供的地址數量是2的128次方,足夠地球每平方米使用大約1000個IP地址。
IPv6表示地址的規則和一些簡單的子網參考,子網對于把廣播通信量減少到最小程度是非常重要的,用計數被掩蓋的二進制位,是推測陌生的子網掩碼的最簡單的方法,IPv6地址在分割為子網方面與IPv4相同。只要你記住表達地址的規則,就可以把混亂減少到最低的程度。謝謝閱讀,希望能幫到大家,請繼續關注武林網,我們會努力分享更多優秀的文章。
新聞熱點
疑難解答