是的,還是我小白,什么技術(shù)博主,老情感博主了。來講個(gè)故事。資深老舔狗小張今天很興奮,說什么也要請大家喝奶茶。因?yàn)樗f他感覺要跟喜歡的女生小呂修成正果了。一問為什么。他耳朵都紅了,說"我覺得小呂在暗示我了,她說她喜歡看阿凡達(dá),正好我長得就像阿凡達(dá)"。
聽了讓人皺眉。他繼續(xù)說:"她說她喜歡射手座,正好我就是"我撓撓頭:"行,別說了,懂了。她住上海,你也住上海,你兩算是同居了"他愣了一會(huì),看了看我:"別說這種舔狗話,但你說的其實(shí)有點(diǎn)道理,上次她讓我?guī)退揠娔X,我發(fā)現(xiàn)她家的ip是192.168.xx.xx,巧了,我家的也是,我懷疑我們住的很近"。
(資料圖片)
很感動(dòng)。
我甚至沒敢告訴他,我家里的IP也是192.168開頭的,我猜你家的也是,就現(xiàn)在正在看這篇文章的你。
但問題就來了,為什么大家的IP都是192.168.xx.xx?
我們今天來聊下這個(gè)話題。
IP地址是什么我們知道,網(wǎng)絡(luò)通訊的本質(zhì)就是收發(fā)數(shù)據(jù)包。如果說收發(fā)數(shù)據(jù)包就跟收發(fā)快遞一樣。那IP地址就類似于快遞上填的收件地址和發(fā)件地址一樣,有了它,路由器就可以開始充當(dāng)快遞員的角色,在這個(gè)紛繁復(fù)雜的網(wǎng)絡(luò)世界里找到該由誰來接收這個(gè)數(shù)據(jù)包。
收發(fā)數(shù)據(jù)就像收發(fā)快遞
由于我們現(xiàn)在主流的還是IPV4地址,所以默認(rèn)以IPV4為例進(jìn)行講解。
這個(gè)IP大概長這樣。
IPv4地址
在控制臺(tái)里執(zhí)行ifconfig?就能看到。inet 邊上的192.168.31.170就是IP地址。
$ ifconfig en0: flags=8863 說白了,它就是個(gè)特殊點(diǎn)的編號(hào),用于在互聯(lián)網(wǎng)中唯一定位到某臺(tái)機(jī)子。 為了表示這個(gè)編號(hào),IP地址一共分為4個(gè)字節(jié)?,一個(gè)字節(jié)8位?,共32位?,能用來表示最多2 ^32?,也就是42億個(gè)地址。 貌似。。。有點(diǎn)少? 2021年全球就有78億,今年更是突破了80億,也就是說人均一個(gè)IP都做不到。 當(dāng)前全球人口數(shù) 為此好多年前,就在說IPV4?地址不夠用,要耗盡了,于是才會(huì)有后來的IPV6地址。 IPv6用了更多的字節(jié)數(shù),因此能表示更多的地址。大概長這樣。 IPv6地址 是不是很陌生,感覺沒怎么見過。 這就對(duì)了。 大家有沒有發(fā)現(xiàn),用了這么多年,大部分人其實(shí)還在用IPV4地址,不是說要耗盡了嗎? 為什么大家還一直在用IPV4? 先別急,我們再聊個(gè)前置知識(shí)點(diǎn),IP地址的分類。 IP地址的分類 為了更好的管理這42億個(gè)IP地址的用途。我們應(yīng)該也在教科書上看過這樣一張IP分類的圖。 IP地址的分類 大概的意思是32位地址里,開頭為0的,那就是A類地址。開頭為10的,就是B類,開頭為110的,就是C類。在這之后,把剩下的字節(jié)數(shù)拆成兩段,一段表示網(wǎng)絡(luò)號(hào),另一短表示主機(jī)號(hào)。 網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)的關(guān)系,就像是某個(gè)停車場編號(hào)和停車位號(hào)的關(guān)系。一個(gè)城市里有很多停車場,而停車場里又有很多個(gè)停車位。每個(gè)停車位可以停一輛車,這里的一輛車,其實(shí)就是一臺(tái)電腦(主機(jī))。 大型停車場少,但是能停的車巨多,對(duì)應(yīng)A類地址的網(wǎng)絡(luò)號(hào)少,但是主機(jī)號(hào)多。 小型停車場到處都是,但是一般能停的車就少,對(duì)應(yīng)C類地址的網(wǎng)絡(luò)號(hào)多,但主機(jī)號(hào)少。 大佬們一開始這么劃分網(wǎng)絡(luò),其實(shí)也是為了方便管理,比如A類地址,是給大型組織機(jī)構(gòu)用的,主機(jī)地址的位數(shù)高達(dá)1600w+?,C類地址是給小公司用的,主機(jī)號(hào)只有200+。 這個(gè)差距就有點(diǎn)懸殊了,放在今天就不太合理了,我開個(gè)網(wǎng)吧可能都不止200臺(tái)機(jī)子對(duì)吧,用C類嫌主機(jī)號(hào)少,用A類又嫌主機(jī)號(hào)太多。因此現(xiàn)在這套分類機(jī)制其實(shí)已經(jīng)很少用了。 取而代之的是方案是,將所謂的ABC分類直接取消,只保留網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),并且網(wǎng)絡(luò)號(hào)的位數(shù)也不像以前限制的那么死,用一個(gè)斜杠告訴用戶多少位是網(wǎng)絡(luò)號(hào),其余的都是主機(jī)號(hào)。比如172.20.61.69/20?,那網(wǎng)絡(luò)號(hào)的位數(shù)就是20位?,主機(jī)號(hào)的位數(shù)是32-20=12位,能放4096臺(tái)機(jī)子,很靈活,很夠用。 這就是,所謂的CIDR,(Classless Inter-Domain Routing, 無類別域間路由)。 但不管你怎么去分類,在32位下的限制下,你就算玩得再花,只要將A類+B類+C類+X類加起來,IP的個(gè)數(shù)也最多還是42億個(gè)。還是不夠用。 那既然加法不行,那我們就用乘法。 啥意思? 42億?這個(gè)數(shù)字對(duì)大家來說太大了,為了方便理解,我們改成6個(gè)IP。 假設(shè)將6拆成4+2?,再讓4乘以2,那結(jié)果8肯定大于6。 一開始,我們理解的網(wǎng)絡(luò)世界只有一層,每人一個(gè)IP,那就只有6個(gè)人能上網(wǎng)。 相加只能讓6人上網(wǎng) 現(xiàn)在我們將網(wǎng)絡(luò)分成兩層。像下面這樣。 相乘能讓8人上網(wǎng) 每2個(gè)人構(gòu)成一個(gè)"小網(wǎng)絡(luò)",對(duì)外共用一個(gè)IP,而內(nèi)部每個(gè)人的IP都不一樣,4個(gè)小網(wǎng)絡(luò)共同構(gòu)成一個(gè)"大網(wǎng)絡(luò)"。比如小明的電腦是1號(hào)網(wǎng)絡(luò)下的6號(hào)機(jī)子,小紅的電腦是2號(hào)網(wǎng)絡(luò)下的6號(hào)機(jī)子。這樣也能做到唯一標(biāo)識(shí)某臺(tái)機(jī)子的效果。 像上面這樣,每個(gè)2人構(gòu)成的小網(wǎng)絡(luò),就叫做局域網(wǎng),也就是所謂的內(nèi)網(wǎng),用的IP(上面的5,6)也叫私有IP或內(nèi)網(wǎng)IP,而上面提到的"大網(wǎng)絡(luò)",則是廣域網(wǎng),用的IP則被稱為公有IP或公網(wǎng)IP。 通過這種方式,原本只能讓6人上網(wǎng),現(xiàn)在卻能讓8人同時(shí)上網(wǎng)。這還是IP只有6個(gè)的情況下,如果讓數(shù)字變回42億,那就能支持遠(yuǎn)大于42億的機(jī)子上網(wǎng)了。 公有和私有IP的概念 按照這樣的思路,回到上面的ABC類IP地址,大佬們也將它們分成了私有和公有兩部分。 在rfc1918文檔中定義了私有地址的范圍。它們不會(huì)出現(xiàn)在廣域網(wǎng)中,只會(huì)出現(xiàn)在局域網(wǎng)內(nèi)。 * A類地址:10.0.0.0--10.255.255.255 * B類地址:172.16.0.0--172.31.255.255 * C類地址:192.168.0.0--192.168.255.255 這時(shí)候,你再看看C類里的私有地址范圍,眼熟不? 192.168.xx.xx就是這網(wǎng)段內(nèi)的其中一個(gè)IP地址。這個(gè)范圍里大概有6w+個(gè)主機(jī)號(hào),什么家庭條件能用得完? 于是,就變成了一條街或者一個(gè)小區(qū),又或者小區(qū)內(nèi)的幾幢樓共用一個(gè)公網(wǎng)IP,而內(nèi)部就用192.168.xx.xx?這樣的內(nèi)網(wǎng)IP。所以只要你在家,大概率會(huì)發(fā)現(xiàn)你的IP地址是C類的192.168.xx.xx。 幾幢樓共用一個(gè)公網(wǎng)IP 但其實(shí)只要你想,A類和B類的私有地址也是可以用在局域網(wǎng)里的。 你到了公司里執(zhí)行下ifconfig?命令,你很可能會(huì)發(fā)現(xiàn)你的局域網(wǎng)IP就不是192.168?開頭的了, 而是172?或者10開頭的。 這是因?yàn)樵诠緝?nèi)網(wǎng)里,需要的IP數(shù)量會(huì)更大,172和10開頭的IP能表示的主機(jī)更多,比如10開頭的能表示1600w+個(gè)。 就不說別的,光A類地址,只拿了個(gè)10開頭的網(wǎng)絡(luò)號(hào)出來當(dāng)內(nèi)網(wǎng)IP就能表示1600w+個(gè)主機(jī)號(hào),其余的100+個(gè)A類網(wǎng)絡(luò)號(hào)都拿來當(dāng)公網(wǎng)地址。按上面提到算法去進(jìn)行個(gè)相乘,公網(wǎng)IP數(shù) * 內(nèi)網(wǎng)IP數(shù) = (100+ * 1600w) * 1600w,你也別管我算的對(duì)不對(duì),反正就是能提供給好多設(shè)備使用,更別說還有B類和C類的還沒算呢。 而且上面只考慮了一層局域網(wǎng),其實(shí)局域網(wǎng)內(nèi)還能再分成多層,局域網(wǎng)內(nèi)再嵌套局域網(wǎng)。就像下面這樣,這樣能用的IP數(shù)量就更多了。 局域網(wǎng)內(nèi)還有局域網(wǎng) 所以說,IP地址雖然不多,但其實(shí)完全夠用,這也是我們一直以來遲遲不切換成IPv6的原因。夠用,能跑,為什么要換? 聊到這里,其實(shí)就回答了文章標(biāo)題的問題,為什么大家的IP都是192.168開頭的,是因?yàn)镮Pv4地址有限,為了有效利用這些有限的地址,我們可以將網(wǎng)絡(luò)分為局域網(wǎng)和廣域網(wǎng),將IP分為了私有IP和公網(wǎng)IP,一個(gè)局域網(wǎng)里的N多臺(tái)機(jī)器都可以共用一個(gè)廣域網(wǎng)IP,從而達(dá)到了"做乘法"的效果,大大增加了"可用IP數(shù)量",小區(qū)里幾幢樓可以共用一個(gè)公網(wǎng)IP,且因?yàn)樵O(shè)備數(shù)量不多,一般選用C類的私有地址,也就是192.168開頭的地址。 但問題就來了,怎么知道我的公網(wǎng)IP地址是什么? 在家里的電腦上,通過ifconfig?,你能拿到自己的內(nèi)網(wǎng)IP地址,比如我的就是192.168.31.170。 $ ifconfig en0: flags=8863 但如果你想知道你的公網(wǎng)IP地址的話,該怎么做呢? 有個(gè)簡單的方法。你直接在baidu上搜索"我的IP地址",就能看到你的公網(wǎng)IP地址。 別去ping這個(gè)地址,這個(gè)圖被我p過。 如果你用的是某里云的機(jī)子。你也會(huì)發(fā)現(xiàn)你的機(jī)子既有私有IP地址,也有一個(gè)公有IP地址。 某里云可以同時(shí)分配公有和私有IP 也是p的圖。
當(dāng)你去ping上面的私有地址172.21.56.59時(shí),你會(huì)發(fā)現(xiàn)它根本ping不通。
$ ping 172.21.56.59 PING 172.21.56.59 (172.21.56.59): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 ^C --- 172.21.56.59 ping statistics --- 4 packets transmitted, 0 packets received, 100.0% packet loss
而公網(wǎng)地址46.101.121.11卻可以ping通。也就是說,在你家的局域網(wǎng)里,你只能通過公網(wǎng)IP地址去訪問這臺(tái)云服務(wù)器。
$ ping 46.101.121.11 PING 46.101.121.11 (46.101.121.11): 56 data bytes 64 bytes from 46.101.121.11: icmp_seq=0 ttl=48 time=273.481 ms 64 bytes from 46.101.121.11: icmp_seq=1 ttl=48 time=268.018 ms 64 bytes from 46.101.121.11: icmp_seq=2 ttl=48 time=266.606 ms ^C --- 46.101.121.11 ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss
這時(shí)候,用過他們家服務(wù)器的人可能會(huì)有個(gè)疑問。
只要申請一臺(tái)云服務(wù),某里云就能給你一個(gè)公網(wǎng)IP地址,怎么做到的?
這。。。這么富的嗎?
其實(shí),某里云跟管IP的機(jī)構(gòu),租用了的一批IP地址,在你需要的時(shí)候,就能付費(fèi)租給你,不用了也能回收分配給其他人。
而且公網(wǎng)IP地址下面,其實(shí)也可以掛多臺(tái)云服務(wù)器,用上文提到的方式,讓多臺(tái)云服務(wù)器共用一個(gè)IP。
因此不太需要擔(dān)心IP耗盡的問題。
總結(jié)? IP地址就像快遞里填的送件和收件地址,是一串編號(hào),用于在紛繁復(fù)雜的網(wǎng)絡(luò)世界中標(biāo)識(shí)你的位置。
? IPv4有32位,最多能表示42億個(gè)IP地址。為了更好的管理它們,教科書上出現(xiàn)過ABC這樣的分類方式,并且在ABC類里還分為私有地址和公有地址。但目前流行使用CIDR的方式進(jìn)行分類。
?為了表示更多主機(jī),我們可以將網(wǎng)絡(luò)分為廣域網(wǎng)和局域網(wǎng),廣域網(wǎng)用公有地址,局域網(wǎng)使用私有地址。將公有地址乘上私有地址,就能表示遠(yuǎn)大于42億臺(tái)的機(jī)子。
?家庭網(wǎng)絡(luò)較小,往往小區(qū)內(nèi)幾幢樓構(gòu)成一個(gè)局域網(wǎng),這幾幢樓共用一個(gè)公有IP地址。局域網(wǎng)內(nèi)選擇了C類的私有地址,也就是192.168.xx開頭的ip,所以你會(huì)發(fā)現(xiàn)我們家里的IP基本上都是192.168開頭的。
?在baidu上搜索"我的IP地址",就能看到你的公網(wǎng)IP地址。
差不多了,給大家留個(gè)問題吧
上面提到,網(wǎng)絡(luò)分為廣域網(wǎng)和局域網(wǎng),IP分為公有和私有。一個(gè)局域網(wǎng)內(nèi)所有機(jī)子對(duì)外使用一個(gè)公有IP,對(duì)內(nèi)則使用私有IP。
那么問題來了,公網(wǎng)里不使用私有IP,一個(gè)局域網(wǎng)里的私有IP想訪問局域網(wǎng)外的公有IP,必然要做個(gè)IP轉(zhuǎn)換,這是在哪里做的轉(zhuǎn)換呢?
私有IP和公有IP在哪進(jìn)行轉(zhuǎn)換
最后我在寫文章的時(shí)候,遇到個(gè)小彩蛋。
當(dāng)我在baidu搜索的網(wǎng)頁里,用F12打開瀏覽器的控制臺(tái)時(shí)。
看到了下面這么一段話。發(fā)現(xiàn)是個(gè)招聘推廣文,想想也是,會(huì)開控制臺(tái)看的基本上都是跟程序員沾邊的人,這波是精準(zhǔn)引流了。
招聘宣傳語確實(shí)寫的很好。
看完我emo了,當(dāng)年我畢業(yè)的時(shí)候,也想著自己有一天能靠著寫代碼改變世界。
多年以后,我發(fā)現(xiàn),能改變自己,就已經(jīng)很了不起了。
關(guān)鍵詞: 網(wǎng)絡(luò)世界 你會(huì)發(fā)現(xiàn) 也就是說
X 關(guān)閉
X 關(guān)閉
- 廈門啟動(dòng)節(jié)日期間主要副食品供應(yīng)補(bǔ)貼和平價(jià)菜機(jī)制
- 平潭簽約恒鼎海上運(yùn)輸服務(wù)項(xiàng)目
- 當(dāng)前快報(bào):《平潭綜合實(shí)驗(yàn)區(qū)“十四五”美麗海灣建設(shè)工作方案》印發(fā)
- 春運(yùn)大幕開啟 平潭高鐵站首日旅客同比增長18.1%|每日消息
- 春運(yùn)啟動(dòng) 泉州公路部門多措并舉保暢通_當(dāng)前通訊
- 【世界快播報(bào)】2023年度家庭醫(yī)生簽約啟動(dòng) 市民可關(guān)注微信公眾號(hào)簽約
- 每日簡訊:常斌、林瑞良任福建省副省長
- 15G資費(fèi)不大降!三大運(yùn)營商誰提供的5G網(wǎng)速最快?中國信通院給出答案
- 2聯(lián)想拯救者Y70發(fā)布最新預(yù)告:售價(jià)2970元起 迄今最便宜的驍龍8+旗艦
- 3亞馬遜開始大規(guī)模推廣掌紋支付技術(shù) 顧客可使用“揮手付”結(jié)賬
- 4現(xiàn)代和起亞上半年出口20萬輛新能源汽車同比增長30.6%
- 5如何讓居民5分鐘使用到各種設(shè)施?沙特“線性城市”來了
- 6AMD實(shí)現(xiàn)連續(xù)8個(gè)季度的增長 季度營收首次突破60億美元利潤更是翻倍
- 7轉(zhuǎn)轉(zhuǎn)集團(tuán)發(fā)布2022年二季度手機(jī)行情報(bào)告:二手市場“飄香”
- 8充電寶100Wh等于多少毫安?鐵路旅客禁止、限制攜帶和托運(yùn)物品目錄
- 9好消息!京東與騰訊續(xù)簽三年戰(zhàn)略合作協(xié)議 加強(qiáng)技術(shù)創(chuàng)新與供應(yīng)鏈服務(wù)
- 10名創(chuàng)優(yōu)品擬通過香港IPO全球發(fā)售4100萬股 全球發(fā)售所得款項(xiàng)有什么用處?