您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“互聯網中公網IP、內網IP和NAT轉換的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“互聯網中公網IP、內網IP和NAT轉換的示例分析”這篇文章吧。
搞網絡通信應用開發的程序員,可能會經常聽到外網IP(即互聯網IP地址)和內網IP(即局域網IP地址),但他們的區別是什么?又有什么關系呢?另外,內行都知道,提到外網IP和內網IP就不得不提NAT路由轉換這種東西,那這雙是什么鬼?本文就來簡單講講這些到底都是怎么回事。
答案:不是。
我們都知道,IPv4中的IP地址的數量是有限的(所以現在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味著能夠用來分配的IP地址就更少了,而且隨著現在手機,電腦等的快速發展,如果每個手機或者電腦都要求一個IP地址,那么顯然IP地址是不夠用的。
為了解決這個問題,我們可以采取這樣的策略:例如對于一個公司來說,每個公司都會有一個屬于自己公司的內網(也可以稱之為局域網)。
內網(學名應叫局域網(Local Area Network,LAN))是在一個局部的地理范圍內,一般可以是是幾米內(比如家庭內網),也可以是方圓幾千米以內(比如一個大學內網),將各種計算機、外部設備和數據庫等互相聯接起來組成的計算機通信網。
2、內網主要作用有:
1)共享傳輸信道:簡單地理解就是不需要每臺電腦一個外網IP地址;2)傳輸速率高:內網之間的電腦因為沒有外網網絡拓撲的復雜性,所以互相通信的網絡可以很快,比如從一個臺電腦向另一臺電腦復制一個幾G的文件可能只需要數十秒時間。3)誤碼率低:因為通信距離很近,所以誤碼率很低,換句話說就是網絡很穩定(老一點的程序員都知道,讀大學的時候同一個宿舍內網聯網玩C/S游戲,幾乎不會遇到斷網或卡頓的事情,除非有人下毛片或者把網絡給拔了,哈哈)。
假如我們給這個公司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。
而這個規則可以由我們的內網網關來管理,就像下面這樣:
假如電腦A想要訪問百度,百度的IP我們假設為:172.168.30.3:我們都知道,電腦A的IP是我們虛構的,實際上可能并不存在這樣一個IP,如果用電腦A的IP去訪問百度,那肯定行不通。
我們也知道,由于百度和電腦A不在一個局域網內,所以A要訪問百度,那么必須得經過網關。而網關的這個IP地址,是真實存在的,是可以訪問百度的。
為了讓 A 可以訪問百度,那么我們可以采取這樣的方法:讓網關去幫助 A 訪問,然后百度把結果傳遞給網關,而網關再把結果傳遞給 A,這樣不就可以解決了?
不過電腦A、B、C都可能拜托網關去幫忙訪問百度,而百度返回的結果 的目的IP都是網關的IP=192.168.1.1。那么網關該如何進行區分這結果是A的、B的還是C的呢?
我們去訪問百度的時候,不是需要指定一個端口嗎?只要我們把 A的IP + 端口 映射成 網關的IP+端口,不就可以唯一確定身份了?
例如A用端口60去訪問百度,網關把 A的IP+端口60 映射成 網關的IP+端口80 不就可以了?
百度把結果返回給網關的80端口之后,網關再通過映射表,就可以把結果返回給 A的60端口 了。如果B也是用60端口去訪問百度的話,也是一樣,可以把它映射到90端口。
這種方法地址的映射轉換,我們也稱之為網絡地址轉換,英文為 Network Address Translation,簡稱NAT。
而像A、B、C這樣的IP地址我們也稱之為內網IP,即內網IP;而像網關,百度這樣的IP我們稱之為外網IP(即互聯網公網IP)。
所以,一個典型的內網訪問公網的原理,就像下圖這樣就可以實現了:現在知道外網IP和內網IP了吧?
以上是“互聯網中公網IP、內網IP和NAT轉換的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。