100個(gè)IP可以服務(wù)多少臺(tái)主機(jī)?
個(gè)人曾在舊文中算過(guò)一次,但當(dāng)時(shí)的算法太保守了,遂決定在本文重新給出自己的答案。
為了簡(jiǎn)化問(wèn)題,這里限制最多只允許使用一層NAT,不允許NAT的嵌套使用,且IP也不區(qū)分公私。
在舊文中,自己是將100個(gè)IP分為對(duì)等兩部分,一部分的50個(gè)IP作為內(nèi)網(wǎng)IP,另一部分50個(gè)IP作為每個(gè)子網(wǎng)的路由器IP,于是計(jì)算結(jié)果就是49乘以49等于2401,是直接分配100個(gè)IP時(shí)可服務(wù)主機(jī)數(shù)量的24倍多(舊文未考慮網(wǎng)關(guān)消耗的一個(gè)IP,用50乘以50算的,這里修正為49乘以49)。
圖片
現(xiàn)在看當(dāng)時(shí)還是太謹(jǐn)慎了,既然是用了NAT,其實(shí)不光兄弟子網(wǎng)間不用擔(dān)心IP重復(fù)導(dǎo)致的沖突,內(nèi)、外子網(wǎng)之間也是一樣不用擔(dān)心了。
NAT服務(wù)會(huì)像“蟲(chóng)洞”一樣連接不同的子網(wǎng),無(wú)論它們之間是兄弟關(guān)系,還是父子關(guān)系,都不會(huì)相互影響,各子網(wǎng)之間就像“平行宇宙”一般。
還是100個(gè)IP,只是用一層NAT的情況下,其中1個(gè)IP作為默認(rèn)網(wǎng)關(guān)地址,另外99個(gè)IP分配給主機(jī),其可服務(wù)的主機(jī)數(shù)量最大其實(shí)就是99乘以99等于9801。規(guī)模是直接使用100個(gè)IP的98倍多。
圖片
前面一直強(qiáng)調(diào)不嵌套使用NAT,就是因?yàn)殡S著NAT的嵌套使用,會(huì)構(gòu)成一棵層數(shù)越來(lái)越高的樹(shù)形結(jié)構(gòu)。
這棵樹(shù)的非葉子節(jié)點(diǎn)就可以視為路由器等網(wǎng)絡(luò)設(shè)備,葉子節(jié)點(diǎn)則是連接的主機(jī)。而作為滿(mǎn)樹(shù),這棵樹(shù)最底層的葉子節(jié)點(diǎn)則會(huì)隨著樹(shù)的高度的增加呈現(xiàn)指數(shù)級(jí)增加的趨勢(shì)。
圖片
基于此,如果不限制NAT嵌套的層次,100個(gè)IP可以服務(wù)的主機(jī)數(shù)理論上是無(wú)限的。
但這里難免讓人疑惑,不是說(shuō)IPv4不夠用了嗎?按本文的意思,100個(gè)IP不斷嵌套NAT就能服務(wù)無(wú)限主機(jī),那還搞IPv6的意義何在?
另外,對(duì)于私有IP的存在意義,很多解釋也都說(shuō)是為了解決IPv4不夠用的問(wèn)題,可是從本文看,似乎不用區(qū)分私有IP,純用NAT就能解決問(wèn)題了,那私有IP被劃分出來(lái)的意義是什么呢?
上述兩個(gè)問(wèn)題正好也是自己想繼續(xù)回答的,為了讓文章不致于臃腫拖沓,這就留到以后再單獨(dú)回答吧。