天天看點

【網絡】為什麼百度查到的ip和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;

 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和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;
【網絡】為什麼百度查到的ip和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;

 好的,我們通過上面這兩幅圖能夠看到左邊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類。
【網絡】為什麼百度查到的ip和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;
【網絡】為什麼百度查到的ip和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;
類别 預設子網路遮罩 支援主機數
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和ipconfig查到的不一樣;詳解公網Ip和私網ip;詳解網絡分類ABC;

遺留問題:

 大家可能也注意到了一個問題,就是我們在百度查到的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;詳解網絡分類ABC;

後記:

 随着學校換地方,我們的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位址不一樣呢。