新聞中心
搞網(wǎng)絡(luò)通信應(yīng)用開(kāi)發(fā)的程序員,可能會(huì)經(jīng)常聽(tīng)到外網(wǎng)IP(即互聯(lián)網(wǎng)IP地址)和內(nèi)網(wǎng)IP(即局域網(wǎng)IP地址),但他們的區(qū)別是什么?

10年積累的網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有朔州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、引言
搞網(wǎng)絡(luò)通信應(yīng)用開(kāi)發(fā)的程序員,可能會(huì)經(jīng)常聽(tīng)到外網(wǎng)IP(即互聯(lián)網(wǎng)IP地址)和內(nèi)網(wǎng)IP(即局域網(wǎng)IP地址),但他們的區(qū)別是什么?又有什么關(guān)系呢?另外,內(nèi)行都知道,提到外網(wǎng)IP和內(nèi)網(wǎng)IP就不得不提NAT路由轉(zhuǎn)換這種東西,那這雙是什么鬼?本文就來(lái)簡(jiǎn)單講講這些到底都是怎么回事。
2、每臺(tái)電腦都必須要一個(gè)公網(wǎng)IP嗎?
答案:不是。
我們都知道,IPv4中的IP地址的數(shù)量是有限的(所以現(xiàn)在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味著能夠用來(lái)分配的IP地址就更少了,而且隨著現(xiàn)在手機(jī),電腦等的快速發(fā)展,如果每個(gè)手機(jī)或者電腦都要求一個(gè)IP地址,那么顯然IP地址是不夠用的。
為了解決這個(gè)問(wèn)題,我們可以采取這樣的策略:例如對(duì)于一個(gè)公司來(lái)說(shuō),每個(gè)公司都會(huì)有一個(gè)屬于自己公司的內(nèi)網(wǎng)(也可以稱(chēng)之為局域網(wǎng))。
內(nèi)網(wǎng)(學(xué)名應(yīng)叫局域網(wǎng)(Local Area Network,LAN))是在一個(gè)局部的地理范圍內(nèi),一般可以是是幾米內(nèi)(比如家庭內(nèi)網(wǎng)),也可以是方圓幾千米以?xún)?nèi)(比如一個(gè)大學(xué)內(nèi)網(wǎng)),將各種計(jì)算機(jī)、外部設(shè)備和數(shù)據(jù)庫(kù)等互相聯(lián)接起來(lái)組成的計(jì)算機(jī)通信網(wǎng)。
2、內(nèi)網(wǎng)主要作用有:
1)共享傳輸信道:簡(jiǎn)單地理解就是不需要每臺(tái)電腦一個(gè)外網(wǎng)IP地址;2)傳輸速率高:內(nèi)網(wǎng)之間的電腦因?yàn)闆](méi)有外網(wǎng)網(wǎng)絡(luò)拓?fù)涞膹?fù)雜性,所以互相通信的網(wǎng)絡(luò)可以很快,比如從一個(gè)臺(tái)電腦向另一臺(tái)電腦復(fù)制一個(gè)幾G的文件可能只需要數(shù)十秒時(shí)間。3)誤碼率低:因?yàn)橥ㄐ啪嚯x很近,所以誤碼率很低,換句話(huà)說(shuō)就是網(wǎng)絡(luò)很穩(wěn)定(老一點(diǎn)的程序員都知道,讀大學(xué)的時(shí)候同一個(gè)宿舍內(nèi)網(wǎng)聯(lián)網(wǎng)玩C/S游戲,幾乎不會(huì)遇到斷網(wǎng)或卡頓的事情,除非有人下毛片或者把網(wǎng)絡(luò)給拔了,哈哈)。
3、公司的內(nèi)網(wǎng)是如何實(shí)現(xiàn)內(nèi)網(wǎng)IP地址分配和管理的?
假如我們給這個(gè)公司A分配了一個(gè)IP=192.168.1.1。我們把這個(gè)IP作為這個(gè)公司內(nèi)網(wǎng)的網(wǎng)關(guān)吧。在公司A的內(nèi)網(wǎng)里面有3臺(tái)電腦,如果這三臺(tái)電腦要上網(wǎng)的話(huà),我們需要給他分配一個(gè)IP,那么就像上一節(jié)提到的:我們一定需要去申請(qǐng)3個(gè)IP地址來(lái)使用嗎?
答否。我們不一定需要去申請(qǐng)3個(gè)IP的,在我們這個(gè)內(nèi)網(wǎng)里,我們可以指定自己的規(guī)則,例如,我們可以給這三臺(tái)電腦隨便分配三個(gè)IP(請(qǐng)注意,這三個(gè)IP不是去申請(qǐng)的,而且我自己隨意給它分配的)。分別分配電腦A = 192.168.1.2 電腦B = 192.168.1.3 電腦C = 192.168.1.4。
而這個(gè)規(guī)則可以由我們的內(nèi)網(wǎng)網(wǎng)關(guān)來(lái)管理,就像下面這樣:
4、NAT技術(shù):實(shí)現(xiàn)內(nèi)網(wǎng)電腦訪(fǎng)問(wèn)外網(wǎng)的能力
假如電腦A想要訪(fǎng)問(wèn)百度,百度的IP我們假設(shè)為:172.168.30.3:我們都知道,電腦A的IP是我們虛構(gòu)的,實(shí)際上可能并不存在這樣一個(gè)IP,如果用電腦A的IP去訪(fǎng)問(wèn)百度,那肯定行不通。
我們也知道,由于百度和電腦A不在一個(gè)局域網(wǎng)內(nèi),所以A要訪(fǎng)問(wèn)百度,那么必須得經(jīng)過(guò)網(wǎng)關(guān)。而網(wǎng)關(guān)的這個(gè)IP地址,是真實(shí)存在的,是可以訪(fǎng)問(wèn)百度的。
為了讓 A 可以訪(fǎng)問(wèn)百度,那么我們可以采取這樣的方法:讓網(wǎng)關(guān)去幫助 A 訪(fǎng)問(wèn),然后百度把結(jié)果傳遞給網(wǎng)關(guān),而網(wǎng)關(guān)再把結(jié)果傳遞給 A,這樣不就可以解決了?
不過(guò)電腦A、B、C都可能拜托網(wǎng)關(guān)去幫忙訪(fǎng)問(wèn)百度,而百度返回的結(jié)果 的目的IP都是網(wǎng)關(guān)的IP=192.168.1.1。那么網(wǎng)關(guān)該如何進(jìn)行區(qū)分這結(jié)果是A的、B的還是C的呢?
我們?nèi)ピL(fǎng)問(wèn)百度的時(shí)候,不是需要指定一個(gè)端口嗎?只要我們把 A的IP + 端口 映射成 網(wǎng)關(guān)的IP+端口,不就可以唯一確定身份了?
例如A用端口60去訪(fǎng)問(wèn)百度,網(wǎng)關(guān)把 A的IP+端口60 映射成 網(wǎng)關(guān)的IP+端口80 不就可以了?
百度把結(jié)果返回給網(wǎng)關(guān)的80端口之后,網(wǎng)關(guān)再通過(guò)映射表,就可以把結(jié)果返回給 A的60端口 了。如果B也是用60端口去訪(fǎng)問(wèn)百度的話(huà),也是一樣,可以把它映射到90端口。
這種方法地址的映射轉(zhuǎn)換,我們也稱(chēng)之為網(wǎng)絡(luò)地址轉(zhuǎn)換,英文為 Network Address Translation,簡(jiǎn)稱(chēng)NAT。
而像A、B、C這樣的IP地址我們也稱(chēng)之為內(nèi)網(wǎng)IP,即內(nèi)網(wǎng)IP;而像網(wǎng)關(guān),百度這樣的IP我們稱(chēng)之為外網(wǎng)IP(即互聯(lián)網(wǎng)公網(wǎng)IP)。
所以,一個(gè)典型的內(nèi)網(wǎng)訪(fǎng)問(wèn)公網(wǎng)的原理,就像下圖這樣就可以實(shí)現(xiàn)了:現(xiàn)在知道外網(wǎng)IP和內(nèi)網(wǎng)IP了吧?
5、本文小結(jié)
為了解決IP地址短缺,技術(shù)專(zhuān)家們發(fā)明了內(nèi)網(wǎng)技術(shù),而內(nèi)網(wǎng)技術(shù)的理論支撐就是NAT技術(shù),所以搞網(wǎng)絡(luò)通信的程序員非常有必要對(duì)NAT技術(shù)有一個(gè)深入的理解。
標(biāo)題名稱(chēng):簡(jiǎn)單介紹一下公網(wǎng)IP、內(nèi)網(wǎng)IP和NAT轉(zhuǎn)換
新聞來(lái)源:http://www.5511xx.com/article/dpdgpjg.html


咨詢(xún)
建站咨詢(xún)
