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