如何查看本機的ip地址呢?我想這個問題肯定難不倒程序員們。大家肯定知道如果是windows系統,那么在cmd窗口中,輸入ipconfig即可,想要查看更詳細的信息,輸入ipconfig /all。
如果是linux系統的話,如果你已經安裝了net-tools這個工具的話,就可以使用ifconfig命令來查看。但如果你沒有安裝這個工具包的話,還可以通過ip addr來查看。
下面看一個主機上輸入ip addr顯示出的信息
#?ip?addr 1:?lo:?<loopback>?mtu?65536?qdisc?noqueue?state?UNKNOWN?group?default?qlen?1000 ????link/loopback?00:00:00:00:00:00?brd?00:00:00:00:00:00 ????inet?127.0.0.1/8?scope?host?lo ???????valid_lft?forever?preferred_lft?forever 2:?eth0:?<broadcast>?mtu?1500?qdisc?pfifo_fast?state?UP?group?default?qlen?1000 ????link/ether?00:16:3e:14:a2:5b?brd?ff:ff:ff:ff:ff:ff ????inet?172.16.1.196/20?brd?172.16.15.255?scope?global?dynamic?eth0 ???????valid_lft?291113559sec?preferred_lft?291113559sec</broadcast></loopback>
該命令可展示出主機上所有的網卡信息。可以看到,目前該主機上有兩塊網卡,lo以及eth0.
IP地址
172.16.1.196即eth0網卡的ip地址,它由四個部分組成,每個部分占8位(1字節),共32位。IP 地址是一個網卡在網絡世界的通訊地址,相當于我們現實世界的門牌號碼。既然是門牌號,那么大家都是不一樣的,如果出現一樣的話,會發生IP地址沖突而導致上不了網的狀況。
IP地址的分類
理論上的ip地址最多有2的32次方個,也就是4294967296個,實際上遠遠沒有這么多。IP地址被分為了5類,實際能用的就A/B/C前三類。
下面這個表格,詳細地展示了 A、B、C 三類地址所能包含的主機的數量。
類別 |
IP地址范圍 |
私網IP地址范圍 |
子網掩碼 |
網絡數 |
網段最大主機數 |
A |
1.0.0.1-127.255.255.254 |
10.0.0.0-10.255.255.255 |
255.0.0.0 |
126 (2^?7-2) |
16777214 (2^?24-2) |
B |
128.0.0.1-191.255.255.254 |
172.16.0.0-172.31.255.255 |
255.255.0.0 |
16383?(2^?14-1) |
65534 (2^16-2) |
C |
192.0.0.1-223.255.255.254 |
192.168.0.0-192.168.255.255 |
255.255.255.0 |
2097152 (2^?21-1) |
254 (2^8-2) |
無類型域間選路(CIDR)
看上面表格會發現一個問題,就是C類地址能包含的主機數太少了,只有254個,不夠一個大一點的企業使用。而B類又太多了,很少有這么大的單位。所以,就有了一個折中的辦法CIDR。
CIDR通過子網掩碼將ip地址一分為二,前面的部分為網絡號,后面的部分為主機號。下面通過例子看子網掩碼是如何劃分網絡號和主機號的:
172.16.1.196/20
這個地址表示形式就是CIDR。斜杠后面的20即子網掩碼,它是由前面連續的20個1組成的,即11111111.11111111.11110000.00000000。表示前20位為網絡號,后12位為主機號。所以該網絡可用主機數為2的12次方再減去2(一個網絡地址、一個廣播地址)
將子網掩碼和 IP 地址按位AND計算,就可得到網絡號。我們來計算下網絡號以及第一個可用地址最最后一個可用地址
*.*.00000001.* *.*.11110000.* -------------- 172.16.0.0??<p>獲得了網絡號,那么第一個可用地址為:172.16.0.1,最后一個可用地址為:172.16.15.254。<br>伴隨著CIDR還有廣播地址,172.16.15.255,它是主機號的最后一個。如果發送這個地址,那么172.16.0.0這個網絡里的主機都能收到。</p><p style="box-sizing: inherit; border: 0px; font-family: " nunito sans sans-serif font-size: font-weight: inherit margin: outline: padding: vertical-align: baseline clear: both color: rgb line-height: white-space: normal background-color:><strong><span style="font-size: 20px;">公有IP和私有IP</span></strong></p><p>在工作中,基本上不用劃分A類、B類還是C類,所以時間長了,大家都忘記了這個分類,只記得CIDR。但是有一點還是要注意的,就是公有 IP 地址和私有 IP 地址。關于私有IP范圍,在之前的表格已經給出。當你看到10.x.x.x或172.x.x.x或192.x.x.x時,就要明白,這是個私有ip地址。</p><p>那么私有ip和公有ip都是用來干嘛的呢?</p>
-
公有IP地址是廣域網的范疇,通過它能直接訪問互聯網。如果你想搭建一個網站,讓全世界的人都能訪問,那么就需要使用公有IP。
-
私有IP地址:我們企業或家庭內部組建局域網用的IP,一般都會用私有IP。私有地址是局域網范疇內的,私有IP禁止出現在Internet中。
MAC地址
link/ether?00:16:3e:14:a2:5b
這一行顯示的是MAC地址,它有12位16進制數組成,用6個字節表示。它是網卡的物理地址,號稱全球唯一,不會有兩個相同的MAC地址。既然是全球唯一,那么用它來替代ip不是非常好的。
這樣是不行的,因為網絡中的數據包傳遞,除了要有確定的地址外,還要有定位功能。MAC地址是不具備遠程定位功能的,而IP具有遠程定位功能。
MAC地址類似身份證號,每個人身份證號都是唯一的,但是你不能通過這個號去找到這個人的住址。而IP則類似身份證上面的家庭住址信息。
MAC地址雖不具備遠程定位功能,但還是有一定的定位功能的(在局域網內)。比如在同一間辦公室,你吼一聲身份證號xxxxxx是誰,辦公室人聽到了,有人站起來說是我。但如果這個人在外地(不在同一個網段),你吼破嗓子也沒人回應。
總結
-
IP地址具有定位功能;MAC地址唯一,但不能遠程定位
-
CRID用來劃分子網
-
IP分為公有IP、私有IP。
更多相關技術文章,請訪問linux系統教程欄目!