掃盲貼 關於IP位址那點事兒

2021-07-10 12:08:21 字數 1535 閱讀 3048

說到ip位址,每個人都多多少少了解一點,但總有一些和ip位址相關的知識沒有徹底弄明白,比如:

本文希望能解答以上疑惑。(本文討論的是ipv4.)

首先,簡單來說ip位址就相當於qq號,每個人想用qq聊天就必須註冊乙個qq號,同理,每個上網裝置,不管是手機、電腦,還是伺服器要連線到網路上,都需要乙個唯一的ip位址才能進行上網,在網際網路中通訊,ip位址就等同於qq號,乙個網路通訊中的唯一標識。

ip位址長度為32位元,因此總共有2^32,約有40億個可能的ip位址,很明顯現今全球的網路裝置加一起肯定遠遠超過這個值了,那麼現在是怎麼保證一切運作正常的呢?這時候就要引入乙個內網ip和外網ip的概念:

如圖,乙個家庭的網路分布,每台裝置上的ip位址其實都是內網ip,與外界通訊都是統一用的116.77.88.99外網ip,由運營商統一分配。

那麼第乙個問題來了,能否區分乙個ip位址是內網ip還是外網ip呢?

答案是可以的。

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

因此,簡單來說,看到 10.x.x.x、172.16.x.x~172.31.x.x、192.168.x.x 開頭的ip位址就是內網ip啦。知道了範圍,就很容易計算出內網ip的個數:

255*255*255+255*255*3=16776450

哇,過千萬的內網ip位址,有沒有可能用完呢?萬一用完了該怎麼辦?答案是有可能。

。nat路由器對外界的行為就如同乙個具有單一ip位址的網路裝置。所有離開家庭路由器流向更大的網際網路都擁有同乙個源ip,所有進入家庭的報文也都擁有同乙個目的ip位址,那麼路由器怎樣知道它應將某個分組**給哪個內部裝置呢?技巧就是使用nat路由器上的一張nat轉換表,裡面儲存著內部的ip位址和埠號。類似於乙個中轉站的功能,關係都保留在中轉站裡。

上網的問題搞清楚了,我們回到乙個最原始的問題:ip位址是誰來分配和管理的呢?答案是,由乙個全球性的非營利權威機構icann管理,它負責分配ip位址,還管理dns根伺服器。ip位址分成兩塊:ip位址=網路位址+主機位址,通過

子網掩碼

204.152.189.0/24

這裡的/24表示分配的位址的網路id由最左邊的24位構成,剩餘的8位用於指定主機id。擁有這個位址的組織可以將254個唯一的網際網路位址分配給其計算機--204.152.189.1~204.152.189.254。有兩個位址是無法分配的,其中乙個位址是主機id的位都是0(204.152.189.0),它用來標識網路本身,另乙個位址是主機id的位都是1(204.152.189.255),它是子網廣播位址。一般第乙個ip位址(204.152.189.1)都用作預設閘道器。

某組織一旦獲得一塊位址,它就可以為本組織內的主機與路由器介面逐個分配ip位址。可以手動配置,但更多的是使用動態主機配置協議(dhcp)

來完成。dhcp允許主機自動獲取乙個ip位址。比如到乙個公共場所連線wifi,請求連線時,dhcp伺服器會自動為其分配乙個ip位址以及租用期。

以上都是自己看書外加谷歌後的理解,如果**有不對的地方還請各位指正:)

關於動畫animation那點事兒

animation是css3中新增的乙個屬性,可以定義元素的動態效果 css animation 屬性是 animation name,animation duration,animation timing function,animation delay,animation iteration c...

關於Contacts的那點事兒 續

昨天沒有寫delete update insert,今天又試了一下。我的需求不是整個新建聯絡人,是在現有聯絡人的基礎上新增乙個字段。所以 應該是 values.put data.raw contact id,long.tostring 1 values.put data.mimetype,commo...

關於Contacts的那點事兒 續

昨天沒有寫delete update insert,今天又試了一下。我的需求不是整個新建聯絡人,是在現有聯絡人的基礎上新增乙個字段。所以 應該是 values.put data.raw contact id,long.tostring 1 values.put data.mimetype,commo...