IP可以分為Public IP 和 Private IP,出現這種規劃的原因在于IPv4所能表示的IP太少而電腦太多以至于不夠用,然而隻有Public IP才能直接連接配接上網絡,是以對于那些公司,學校,政府機構等場所,就可以集中使用私有的IP進行管理,而大家可以共用一個IP去連接配接上公網,這樣,就省下了許多寶貴的Public IP。你有沒有發現,你每次使用ipconfig查到的位址,要麼就是172.開頭的,要麼就是192.開頭的,為什麼?難道沒有其他開頭的嘛,答:基本沒有。因為一個Ip分給我們一個Pc端太不劃算了,一般都是很多人共享一個ip,我們用ipconfig查詢到的其實隻是我們的區域網路Ip,172.開頭的意味着我們是B類型的區域網路,以192.開頭的意味着你是c類的區域網路。是以我們一直都沒有接觸到正真的IP,我們一直打交道的都是私有IP又叫private ip.
1.引出問題
很多朋友常常聽到什麼真實IP,實體 IP, 虛拟 IP, 假的 IP...,其實沒有那麼複雜,在看linux私房菜的時候終于明白了這之間的差別。在上學的時候,學校老師也并不會涉及到這方面的内容。
首先,引出問題,我們分别在百度搜ip查詢,查詢到本機的public ip (後文會介紹到這個概念)如左圖,再利用ipconfig查詢到自身ip如右圖。我們能看到這兩個位址是不同的,那麼不是說,每個主機都隻有一個ip位址麼,為什麼我們查到的兩個Ip位址不一樣呢。
好的,我們通過上面這兩幅圖能夠看到左邊Ip是117.158.134.217 而右邊的Ip位址是172.18.251.129 現在我們要解釋的問題就是為什麼這兩個Ip是不同的呢。
ipconfig查出來的是你本機的IP位址,也就是内網私有位址,此類位址僅在區域網路使用,不能聯通外網。
百度查出來的位址是你上網的共有位址,也許并不是你主機的位址,而是電信或聯通分給你的位址,用于連接配接網際網路。
也就是我們要引出私網Ip和公網IP這兩個概念,下文會有提示。
首先我們要介紹ip的分類,因為ip常見有5種分類,而我們在實際生活中和生産中一般隻會遇到A,B,C這三類位址,是以我就詳細解釋下這三類ip位址,我們需要知道這三種是怎麼劃分的。
2.IP位址分類
為了便于尋址以及階層化構造網絡,每個IP位址包括兩個辨別碼(ID),即網絡ID和主機ID。同一個實體網絡上的所有主機都使用同一個網絡ID,網絡上的一個主機(包括網絡上工作站,伺服器和路由器等)有一個主機ID與其對應。Internet委員會定義了5種IP位址類型以适合不同容量的網絡,即A類~E類。
類别 | 預設子網路遮罩 | 支援主機數 |
A | 255.0.0.0 | 2^24-2 |
B | 255.255.0.0 | 2^16-2 |
C | 255.255.255.0 | 2^8-2 |
3.下面我們來介紹public ip和private ip的概念和差別:
- Public IP : 公共 IP ,經由 INTERNIC 所統一規劃的 IP,有這種 IP 才可以連上 Internet ;
- Private IP
早在 IPv4 規劃的時候就擔心 IP 會有不足的情況,而且為了應付某些企業内部的網絡設定,于是就有了私有IP (Private IP) 的産生了。私有 IP 也分别在 A, B, C 三個 Class 當中各保留一段作為私有 IP 網段,那就是:
- Class A:10.0.0.0 - 10.255.255.255
- Class B:172.16.0.0 - 172.31.255.255
- Class C:192.168.0.0 - 192.168.255.255
并不能直接作為Internet 上面的連接配接之用,不然的話,到處就都有相同的IP 啰!那怎麼行!網絡豈不混亂?是以啰,這三個 IP 網段就隻做為内部私有網域的IP 溝通之用。一般說來,我們用Ipcofig是無法查到公網ip的,大多數時候,你使用ipconfig查到的一般就隻是以172.開頭的b類私有Ip,或者以192.168開頭的c類私有Ip.簡單的說,私有ip有底下的幾個限制:
- 私有 IP 的路由資訊不能對外散播 (隻能存在内部網絡);
- 使用私有 IP 作為來源或目的位址的封包,不能透過 Internet 來轉送 (不然網絡會混亂);
- 關于私有 IP 的參考紀錄(如 DNS),隻能限于内部網絡使用 (一樣的原理啦)
這個私有 IP 有什麼好處呢?由于他的私有路由不能對外直接提供資訊,是以,你的内部網絡将不會直接被 Internet 上面的 Cracker 所攻擊!但是,你也就無法以私有 IP 來『直接上網』啰!是以相當适合一些尚未具有Public IP 的企業内部用來規劃其網絡之設定!否則當你随便指定一些可能是Public IP 的網段來規劃你企業内部的網絡設定時,萬一哪一天真的連上Internet 了,那麼豈不是可能會造成跟 Internet 上面的 Public IP 相同了嗎?
隻有公網ip是能夠連接配接網際網路的,私網IP 一般隻用作區域網路
類别 | IP範圍 | 私有位址範圍 | 保留位址 |
A | 1.0.0.0~126.255.255.255 | 10.0.0.0~10.255.255.255 | 127.0.0.0~127.255.255.255 |
B | 128.0.0.0~191.255.255.255 | 172.16.0.0~172.31.255.255 | 169.254.0.0~169.254.255.255 |
C | 192.0.0.0~223.255.255.255 | 192.168.0.0~192.168.255.255 | 無 |
總結:
我們能夠上網靠的是isp組織分給我們的Ip位址,但是這個ip位址一般不是給個人的,一般都是給一個機關,一個區域的,也就是說我們實際上能接觸到的一般都是私有位址,即我們用ipconig查到的都是私有位址,也就相當于區域網路内的ip位址,當我們真正聯網時,會先把資料發送到路由,然後再由路由進行處理實作真正的聯網操作,路由的位址才是真正聯網的Ip位址,也就是pubilc ip,而我們在自己電腦上查到的都是私有ip
舉個例子,我們在學校或者查到的Ip一般都是172.開頭的,比如上圖我的位址,那就是在學校裡檢測到的ip位址,通常是b類位址,而我們在家裡一般用的都是c類位址。也就是一般是192.168開頭的位址。這個大家可以自行去驗證一下。如果看完所有的你還有疑問,可以去參考知乎上有關該問題的回答,下面是網址:
知乎解答該問題的文章
整理上網流程:
我們重新整理一下我們上網的路線,看下圖,移動公司分給我們的ip是117.158.134.217,這是我們這一棟樓能連上網的公網Ip,那麼如何讓這一個ip使學校裡面的所有人都能使用呢,我們開始重新劃分區域網路。上文中,我們知B類私有位址範圍是:172.16.0.0~172.31.255.255,我們學校采取的就是這種劃分方法,是以我的私網ip位址就是172.18.251.129.那麼怎麼連上網的呢,我們通過私網ip然後把我們的需求和要發送的資料發給路由器,然後路由器對接網絡,再把資料發送給Internet.然後internet發送資料到我們學校的路由,然後路由在通過我的私網ip發送給我,這就是我們真實上網的流程。
遺留問題:
大家可能也注意到了一個問題,就是我們在百度查到的ip是117開頭的,也就是說其實是a類,但是我們這邊私網Ip卻是172開頭的,是b類的私有ip位址,那麼問題來了?117開頭的IP位址是如何轉換成172開頭的私有ip的呢?他們之間一定有一個轉換關系,構成了一個公網和私網之間的一個映射。這個關系是什麼呢???
自問自答:
在查閱了多方資料之後,這個問題其實就是私網Ip和公網Ip的轉換這個問題,其實利用到了nat轉換技術,将172.16.xxx.xxx~172.31.xxx.xxx轉換到公網ip,也就是我圖中所示的那個鄭州的117開頭的ip。我們的私網ip是自成體系的,在合理的建設完私網ip後,我們隻需利用nat技術将公網ip和私網ip做一個轉換即可。大概就跟下圖所示一樣,二樓使用的是172.16.xx.xx開頭的網址,三樓是172.17.xx.xx,四樓是172.18.xx.xx,從圖中可以有一個很清晰地認識
後記:
随着學校換地方,我們的Ip也發生了一些微妙的變化。我們搬到了一個新的環境,還沒搭建起伺服器。當我使用Ipconfig指令來查詢自己的ip位址的時候,我們發現了一個奇怪的事情,我們擷取到的ip位址是一個以169開頭的ip位址,上文已經提到過我們正常情況下獲到的位址應該是一個以172.16~172.31這之間開頭的,那麼為什麼會出現169開頭的呢?
169開頭的是一個保留位址,是本地連接配接受限時系統自動配置設定的ip沒有什麼實際的意義,出現這種情況可能是伺服器還沒搭建好。果然,等我們重新搭建好了代理伺服器之後,我們的網址又變回了現在的172.18開頭的網址。
IP可以分為Public IP 和 Private IP,出現這種規劃的原因在于IPv4所能表示的IP太少而電腦太多以至于不夠用,然而隻有Public IP才能直接連接配接上網絡,是以對于那些公司,學校,政府機構等場所,就可以集中使用私有的IP進行管理,而大家可以共用一個IP去連接配接上公網,這樣,就省下了許多寶貴的Public IP。你有沒有發現,你每次使用ipconfig查到的位址,要麼就是172.開頭的,要麼就是192.開頭的,為什麼?難道沒有其他開頭的嘛,答:基本沒有。因為一個Ip分給我們一個Pc端太不劃算了,一般都是很多人共享一個ip,我們用ipconfig查詢到的其實隻是我們的區域網路Ip,172.開頭的意味着我們是B類型的區域網路,以192.開頭的意味着你是c類的區域網路。是以我們一直都沒有接觸到正真的IP,我們一直打交道的都是私有IP又叫private ip.
1.引出問題
很多朋友常常聽到什麼真實IP,實體 IP, 虛拟 IP, 假的 IP...,其實沒有那麼複雜,在看linux私房菜的時候終于明白了這之間的差別。在上學的時候,學校老師也并不會涉及到這方面的内容。
首先,引出問題,我們分别在百度搜ip查詢,查詢到本機的public ip (後文會介紹到這個概念)如左圖,再利用ipconfig查詢到自身ip如右圖。我們能看到這兩個位址是不同的,那麼不是說,每個主機都隻有一個ip位址麼,為什麼我們查到的兩個Ip位址不一樣呢。