Sep 20, 2008

Public IP vs Private IP

很多人對於真正的所謂"合法"/"非法"/"公開"/"私有"/"真實"/"虛擬"IP的定義並不清楚,因此我今天來幫各位介紹一下IP Address的範圍劃分。

以英文正式的字眼來表示IP的屬性,通常我們習慣使用"Public"/"Private" IP來表示。所以建議各位以這兩個英文單字為基礎來翻譯比較妥當。

IP Address是32-bits所組成的位址,所以理論上可使用的範圍為0.0.0.0 ~ 255.255.255.255,但是IANA為了管理方便,針對IP Address的前幾個位元制定了以下原則:

Class A: (第一個bit為0)
Default Mask:255.0.0.0(/8)
From
0000 0000.0000 0000.0000 0000.0000 0000
(0.0.0.0)
To
0111 1111.1111 1111.1111 1111.1111 1111
(127.255.255.255)

Class B: (第一、二個bit分別為10)
Default Mask:255.255.0.0(/16)
From
1000 0000.0000 0000.0000 0000.0000 0000
(128.0.0.0)
To
1011 1111.1111 1111.1111 1111.1111 1111
(191.255.255.255)

Class C: (第一、二、三個bit分別為110)
Default Mask:255.255.255.0(/24)
From
1100 0000.0000 0000.0000 0000.0000 0000
(192.0.0.0)
To
1101 1111.1111 1111.1111 1111.1111 1111
(223.255.255.255)

在目前Internet只有Class A/B/C這三個範圍合法使用,所以各位如果在公司有使用Firewall的話,如果沒有其他Multicast額外的應用,大可將其他的IP範圍阻擋,避免一些惡意假造來源IP的UDP攻擊。

Class D: (第一、二、三、四個bit分別為1110)
Reserved for Multicast
From
1110 0000.0000 0000.0000 0000.0000 0000
(224.0.0.0)
To
1110 1111.1111 1111.1111 1111.1111 1111
(239.255.255.255)

Class E: (第一、二、三、四個bit分別為1111)
Reserved for Research
From
1111 0000.0000 0000.0000 0000.0000 0000
(240.0.0.0)
To
1111 1111.1111 1111.1111 1111.1111 1111
(255.255.255.255)

其中IANA也定義所謂的Private IP Address(Intranet)的範圍,讓大家有共同的規則可遵行,因此RFC 1918中所制定的Private IP Address同時也是不應該存在於Internet上,各位也可以在對外的Firewall上將這些網段進行阻擋。

RFC 1918
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)
Post a Comment