計算機網絡基礎知識點(二)
上篇微博了解了計算機網絡的結構,osi七層模型;這篇文章主要介紹,IP地址、子網掩碼、網絡劃分、ARP協議及RARP協議。
3、IP地址
a)網絡地址
IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號為全0,網絡地址代表著整個網絡。
b)廣播地址
廣播地址通常稱為直接廣播地址,是為了區分受限廣播地址。
廣播地址與網絡地址的主機號正好相反,廣播地址中,主機號為全1。當向某個網絡的廣播地址發送消息時,該網絡內的所有主機都能收到該廣播消息。
c)組播地址
D類地址就是組播地址。
先回憶下A,B,C,D類地址吧:
A類地址以0開頭,第一個字節作為網絡號,地址範圍為:0.0.0.0~127.255.255.255;(modified @2016.05.31
B類地址以10開頭,前兩個字節作為網絡號,地址範圍是:128.0.0.0~191.255.255.255;
C類地址以110開頭,前三個字節作為網絡號,地址範圍是:192.0.0.0~223.255.255.255。
D類地址以1110開頭,地址範圍是224.0.0.0~239.255.255.255,D類地址作為組播地址(一對多的通信);
E類地址以1111開頭,地址範圍是240.0.0.0~255.255.255.255,E類地址為保留地址,供以後使用。
註:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有劃分網絡號和主機號。
d)255.255.255.255
該IP地址指的是受限的廣播地址。受限廣播地址與一般廣播地址(直接廣播地址)的區別在於,受限廣播地址只能用於本地網絡,路由器不會轉發以受限廣播地址為目的地址的分組;一般廣播地址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播數據包後,另外一個網段192.168.1.5/30也能收到該數據報;若發送受限廣播數據報,則不能收到。
註:一般的廣播地址(直接廣播地址)能夠通過某些路由器(當然不是所有的路由器),而受限的廣播地址不能通過路由器。
e)0.0.0.0
常用於尋找自己的IP地址,例如在我們的RARP,BOOTP和DHCP協議中,若某個未知IP地址的無盤機想要知道自己的IP地址,它就以255.255.255.255為目的地址,向本地範圍(具體而言是被各個路由器屏蔽的範圍內)的服務器發送IP請求分組。
f)回環地址
127.0.0.0/8被用作回環地址,回環地址表示本機的地址,常用於對本機的測試,用的最多的是127.0.0.1。
g)A、B、C類私有地址
私有地址(private address)也叫專用地址,它們不會在全球使用,只具有本地意義。
A類私有地址:10.0.0.0/8,範圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,範圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,範圍是:192.168.0.0~192.168.255.255
4、子網掩碼及網絡劃分
隨著互聯網應用的愈加廣泛,Ipv4地址的弊端逐漸暴露,十數年來,連接到Internet的網絡數量每隔不到一年的時間就會增加一倍,IP地址空間危機愈發明顯,所以其能提供的主機地址也越來越稀缺,目前除了使用NAT在企業內部利用保留地址自行分配以外,通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的用戶群使用。
這裏主要是為了在網絡分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號,從通常的網絡位界限中擴展或壓縮子網掩碼,用來創建某類地址的更多子網。但創建更多的子網時,在每個子網上的可用主機地址數目會比原先減少。
什麽是子網掩碼?
子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每一個為1代表該位是網絡位,為0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。
在計算子網掩碼時,我們要註意IP地址中的保留地址,即“ 0”地址和廣播地址,它們是指主機地址或網絡地址全為“ 0”或“ 1”時的IP地址,它們代表著本網絡地址和廣播地址,一般是不能被計算在內的。
子網掩碼的計算:
對於無須再劃分成子網的IP地址來說,其子網掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址為 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼255.255.0.0。如果它是一個C類地址,則其子網掩碼為 255.255.255.0。其它類推,不再詳述。下面我們關鍵要介紹的是一個IP地址,還需要將其高位主機位再作為劃分出的子網網絡號,剩下的是每個子網的主機號,這時該如何進行每個子網的掩碼計算。
下面總結一下有關子網掩碼和網絡劃分常見的面試考題:
1)利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
(1) 將子網數目轉化為二進制來表示;
如欲將B類IP地址168.195.0.0劃分成27個子網:27=11011;
(2) 取得該二進制的位數,為N;
該二進制為五位數,N = 5
(3) 取得該IP地址的類子網掩碼,將其主機地址部分的的前N位置1即得出該IP地址劃分子網的子網掩碼。
將B類地址的子網掩碼255.255.0.0的主機地址前5位置 1,得到 255.255.248.0
2)利用主機數來計算
如欲將B類IP地址168.195.0.0劃分成若幹子網,每個子網內有主機700臺:
(1) 將主機數目轉化為二進制來表示;
700=1010111100;
(2) 如果主機數小於或等於254(註意去掉保留的兩個IP地址),則取得該主機的二進制位數,為N,這裏肯定 N<8。如果大於254,則 N>8,這就是說主機地址將占據不止8位;
該二進制為十位數,N=10;
(3) 使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然後從後向前的將N位全部置為 0,即為子網掩碼值。
將該B類地址的子網掩碼255.255.0.0的主機地址全部置1,得到255.255.255.255,然後再從後向前將後 10位置0,即為:11111111.11111111.11111100.00000000,即255.255.252.0。這就是該欲劃分成主機為700臺的B類IP地址 168.195.0.0的子網掩碼。
3)還有一種題型,要你根據每個網絡的主機數量進行子網地址的規劃和計算子網掩碼。這也可按上述原則進行計算。
比如一個子網有10臺主機,那麽對於這個子網需要的IP地址是:
10+1+1+1=13
註意:加的第一個1是指這個網絡連接時所需的網關地址,接著的兩個1分別是指網絡地址和廣播地址。
因為13小於16(16等於2的4次方),所以主機位為4位。而256-16=240,所以該子網掩碼為255.255.255.240。
如果一個子網有14臺主機,不少人常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給網關分配地址。這樣就錯誤了,因為14+1+1+1=17,17大於16,所以我們只能分配具有32個地址(32等於2的5次方)空間的子網。這時子網掩碼為:255.255.255.224。
5)ARP協議\RARP協議
地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就可以向某一主機發送偽ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關系、添加或刪除靜態對應關系等。
ARP工作流程舉例:
主機A的IP地址為192.168.1.1,MAC地址為0A-11-22-33-44-01; 主機B的IP地址為192.168.1.2,MAC地址為0A-11-22-33-44-02; 當主機A要與主機B通信時,地址解析協議可以將主機B的IP地址(192.168.1.2)解析成主機B的MAC地址,以下為工作流程: (1)根據主機A上的路由表內容,IP確定用於訪問主機B的轉發IP地址是192.168.1.2。然後A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址。 (2)如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網絡上的所有主機。源主機A的IP地址和MAC地址都包括在ARP請求中。本地網絡上的每臺主機都接收到ARP請求並且檢查是否與自己的IP地址匹配。如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。 (3)主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地址和MAC地址映射添加到本地ARP緩存中。 (4)主機B將包含其MAC地址的ARP回復消息直接發送回主機A。 (5)當主機A收到從主機B發來的ARP回復消息時,會用主機B的IP和MAC地址映射更新ARP緩存。本機緩存是有生存期的,生存期結束後,將再次重復上面的過程。主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了。逆地址解析協議,即RARP,功能和ARP協議相對,其將局域網中某個主機的物理地址轉換為IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那麽可以通過RARP協議發出征求自身IP地址的廣播請求,然後由RARP服務器負責回答。
RARP協議工作流程:
(1)給主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址;
(2)本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
(3)如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用; (4)如果不存在,RARP服務器對此不做任何的響應; (5)源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。計算機網絡基礎知識點(二)