搞網路通訊應用開發的程式設計師,可能會經常聽到外網ip(即網際網路ip位址)和內網ip(即區域網ip位址),但他們的區別是什麼?
1、引言
搞網路通訊應用開發的程式設計師,可能會經常聽到外網ip(即網際網路ip位址)和內網ip(即區域網ip位址),但他們的區別是什麼?又有什麼關係呢?另外,內行都知道,提到外網ip和內網ip就不得不提nat路由轉換這種東西,那這雙是什麼鬼?本文就來簡單講講這些到底都是怎麼回事。
2、每台電腦都必須要乙個公網ip嗎?
答案:不是。
我們都知道,ipv4中的ip位址的數量是有限的(所以現在都在搞ipv6嘛),每次把一部分位址分配出去,那麼就意味著能夠用來分配的ip位址就更少了,而且隨著現在手機,電腦等的快速發展,如果每個手機或者電腦都要求乙個ip位址,那麼顯然ip位址是不夠用的。
為了解決這個問題,我們可以採取這樣的策略:例如對於乙個公司來說,每個公司都會有乙個屬於自己公司的內網(也可以稱之為區域網)。
內網(學名應叫區域網(local area network,lan))是在乙個區域性的地理範圍內,一般可以是是幾公尺內(比如家庭內網),也可以是方圓幾千公尺以內(比如乙個大學內網),將各種計算機、外部裝置和資料庫等互相聯接起來組成的計算機通訊網。
2、內網主要作用有:
1)共享傳輸通道:簡單地理解就是不需要每台電腦乙個外網ip位址;
2)傳輸速率高:內網之間的電腦因為沒有外網網路拓撲的複雜性,所以互相通訊的網路可以很快,比如從乙個臺電腦向另一台電腦複製乙個幾g的檔案可能只需要數十秒時間。
3)誤位元速率低:因為通訊距離很近,所以誤位元速率很低,換句話說就是網路很穩定(老一點的程式設計師都知道,讀大學的時候同乙個宿舍內網聯網玩c/s遊戲,幾乎不會遇到斷網或卡頓的事情,除非有人下**或者把網路給拔了,哈哈)。
3、公司的內網是如何實現內網ip位址分配和管理的?
假如我們給這個公司a分配了乙個ip=192.168.1.1。我們把這個ip作為這個公司內網的閘道器吧。
在公司a的內網裡面有3臺電腦,如果這三颱電腦要上網的話,我們需要給他分配乙個ip,那麼就像上一節提到的:我們一定需要去申請3個ip位址來使用嗎?
答否。我們不一定需要去申請3個ip的,在我們這個內網裡,我們可以指定自己的規則,例如,我們可以給這三颱電腦隨便分配三個ip(請注意,這三個ip不是去申請的,而且我自己隨意給它分配的)。分別分配電腦a = 192.168.1.2 電腦b = 192.168.1.3 電腦c = 192.168.1.4。
而這個規則可以由我們的內網閘道器來管理,就像下面這樣:
4、nat技術:實現內網電腦訪問外網的能力
這種方法位址的對映轉換,我們也稱之為網路位址轉換,英文為 network address translation,簡稱nat。
所以,乙個典型的內網訪問公網的原理,就像下圖這樣就可以實現了:
現在知道外網ip和內網ip了吧?
5、本文小結
為了解決ip位址短缺,技術專家們發明了內網技術,而內網技術的理論支撐就是nat技術,所以搞網路通訊的程式設計師非常有必要對nat技術有乙個深入的理解。
公網IP和內網IP
內網也就是區域網,最直觀的就是像網咖,公司內部的電腦用交換機,hub,路由連起來的。再通過光纖,貓接入internet的。內網ip就是國際上分配ip的時候,留出一部分ip,不在internet上用,用於內部區域網等,雖然功能一樣,但不能在internat上使用。屬於非註冊位址,專門為組織機構內部使用...
內網ip 公網ip
a類位址的第一組數字為1 126。注意,數字0和 127不作為a類位址,數字127保留給內部回送函式,而數字0則表示該位址是本地宿主機,不能傳送。b類位址的第一組數字為128 191。c類位址的第一組數字為192 223。1.a類位址 a類位址的表示範圍為 0.0.0.0 126.255.255.2...
內網ip 公網ip
a類位址的第一組數字為1 126。注意,數字0和 127不作為a類位址,數字127保留給內部回送函式,而數字0則表示該位址是本地宿主機,不能傳送。b類位址的第一組數字為128 191。c類位址的第一組數字為192 223。1.a類位址 a類位址的表示範圍為 0.0.0.0 126.255.255.2...