1. 程式人生 > >IP協議(1)--IP地址

IP協議(1)--IP地址

IP 地址分類

這裡的IP地址均指ipv4的地址
IP地址採用點分十進位制的表示方法有32位,如一個常見的IP地址192.168.1.1,其分為兩部分 網路號 和主機號,當地址通過子網劃分後主機號被分為子網號和主機號。
在網路中的每一個網路介面需要在網路中通訊就需要一個IP地址,在這裡要想到每一個網路介面還有一個實體地址, 如在乙太網下有MAC地址這也是唯一的地址,為什麼需要一個IP地址,在這裡有一個很恰當的例子,唐僧去西天取經,唐僧每到一個地方都會說我從東土大唐而來,要到西天取經,這裡的東土大唐和西天就像IP地址指的是傳送資料的源地址和目的地址,在這個過程中MAC地址是不斷髮生變換的而IP地址一直是不變的,而中間從一站到另一站的過程中,就需要知道下一站的地址,此時就需要MAC地址,在乙太網協議中源地址為當前站MAC地址,目的地址為下一站的目的地址,這個過程是一直在發生變化的。
IP地址總共分為五類
在這裡插入圖片描述

另外IP地址分為私有IP地址和公網IP,如果你需要組建一個區域網,IP地址只用於區域網內的通訊,而不直接連到Internet上,理論上 使用任意的IP地址都可以,因為和外網不會衝突,但是RFC 1918規定了用於組建區域網的私有IP地址
10. 前8位是網路號,共16,777,216個地址
172.16.到172.31. 前12位是網路號,共1,048,576個地址
192.168. 前16位是網路號,共65,536個地址 包含在這個範圍中的, 都成為私有IP, 其餘的則稱為全域性IP(或公網IP);
私網IP是不能用於訪問外網的,如果需要訪問外網,需要進行NAT埠對映。 子網內的主機需要和外網進行通訊時, 路由器將IP首部中的IP地址進行替換(替換成WAN口IP), 這樣逐級替換, 最終資料包中的IP地址成為一個公網IP. 這種技術稱為NAT(Network Address Translation,網路地址轉換).

子網劃分

現在所有的主機都被要求支援子網編址,其IP地址由網路號、子網號、主機號組成,其主要原因是因為在網路中如拿到一個B類地址用不到這麼多主機號,此時就可以通過子網劃分將網路劃分為更小的網路並且可以隔離廣播域。另外子網對外部路由器來說隱藏了內部網路組織(一個校園或公司內部)的細節。子網劃分是通過新增子網掩碼實現的
如一個B類網路號為140.252.0.0/16進行子網劃分需要劃分為200個每個子網可容納200個主機,其前16位為網路號,2^7 -2 < 200 < 2^8 - 2子網佔8位可以劃分滿足200主機的子網,並且每個子網可容納254個主機滿足要求, 那麼其子網掩碼可以設定為255.255.255.0,子網掩碼和ip地址按位與得到的即為其子網的網路號(網路號和子網號),如IP地140.252.20.68 和子網掩碼 255.255.255.0進行相與,其網路號為140.252.20.0 其主機號地址範圍為 140.252.20.1 ~ 140.252.20.254此時就可以判斷,和另一個IP是否在同一網段中,如果在同一網段中(沒有設定VLAN),此時這兩個主機就可以直接通訊,子網劃分需要考率的因素很多這裡只是舉一個簡單的例子。

特殊IP地址

IP地址中主機號全為0的地址為就成為網路號,代表整個區域網
IP地址中的主機號全為1時,其表示廣播地址,當前作為目的IP地址時,子網中的主機均會收到廣播的訊息,另外需要注意幾個,首先是255.255.255.255這個IP是受限的廣播地址, 該地址用於主機配置過程中IP資料報的目的地址,在任何情況下,路由器都不轉發目的地址為受限的廣播地址的資料報,這樣的資料報僅出現在本地網路。還有當子網號為全1時,其向所有子網進行廣播,
最後還有一個IP 127.0.0.1為環回地址,用於本機環回測試,允許TCP/IP在本機進行通訊,
在這裡插入圖片描述
這個圖來自TCP/IP 協議詳解,我感覺解釋的很清晰,當需要傳送的目的地址為環回地址時,此時直接將資料報放入IP輸入,其略過了鏈路層的處理而將環回介面當作鏈路層簡化了設計,另外傳給廣播地址或多播地址的資料報復制一份傳給環回介面,然後送到乙太網上。這是因為廣播傳送和多播傳送的定義包含主機本身。

參考:《TCP/IP詳解卷1:協議》 LawrenceBerkeley