TCP/IP協議學習(2)-IP協議、ARP協議

ARP協議用來尋找目標主機的Ethennet網卡和Mac地址,IP用來承載要發送的消息。

1.IP協議
IP協議是TCP/IP協議的核心,所有的TCP,UDP,IMCP,IGCP的數據都以IP數據格式傳輸。
要注意的是IP協議沒有提供一種數據未傳達以後的處理機制,這被認爲是上層協議--TCP或UDP要做的事情所有的TCP,UDP,IMCP,IGCP的數據都以IP數據格式傳輸。

1.1 IP協議頭

重點關注的是那八位的TTL字段,還記得這個字段是做什麼的麼?這個字段規定該數據包在穿過多少個路由之後纔會被拋棄(這裏就體現出來IP協議包的不可靠性,它不保證數據被送達)。
某個IP數據包每穿過一個路由器,該數據包的TTL數值就會減少1,當該數據包的TTL成爲零,它就會被自動拋棄。這個字段的最大值也就是255,也就是說一個協議包也就在路由器裏面穿行255次就會被拋棄了,根據系統的不同,這個數字也不一樣,一般是32或者是64,Tracerouter這個工具就是用這個原理工作的,Tranceroute的-m選項要求最大值是255,也就是因爲這個TTL在IP協議裏面只有8bit。

1.2 IP路由選擇
當一個IP數據包準備好了的時候,IP數據包(或者說是路由器)是如何將數據包送到目的地的呢?它是怎麼選擇一個合適的路徑來”送貨”的呢?最特殊的情況是目的主機和主機直連,那麼主機根本不用尋找路由,直接把數據傳遞過去就可以了。至於是怎麼直接傳遞的,這就要靠ARP協議了。
稍微一般一點的情況是,主機通過若干個路由器(router)和目的主機連接。那麼路由器就要通過IP包的信息來爲IP包尋找到一個合適的目標來進行傳遞,比如合適的主機,或者合適的路由。路由器或者主機將會用如下的方式來處理某一個IP數據包:

  1. 如果IP數據包的TTL(生命週期)已到,則該IP數據包就被拋棄。
  2. 搜索路由表,優先搜索匹配主機,如果能找到和IP地址完全一致的目標主機,則將該包發向目標主機
  3. 搜索路由表,如果匹配主機失敗,則匹配同子網的路由器,這需要“子網掩碼”的協助。如果找到路由器,則將該包發向路由器。
  4. 搜索路由表,如果匹配同子網路由器失敗,則匹配同網號路由器,如果找到路由器,則將該包發向路由器。
  5. 搜索路由表,如果以上都失敗了,就搜索默認路由,如果默認路由存在,則發包
  6. 如果都失敗了,就丟掉這個包。

總結:這再一次證明了,ip包是不可靠的。因爲它不保證送達。

1.3 子網尋址
IP地址的定義是網絡號+主機號。但是現在所有的主機都要求子網編址,也就是說,把主機號在細分成子網號+主機號。最終一個IP地址就成爲–網絡號碼+子網號+主機號。
例如一個B類地址:210.30.109.134。一般情況下,這個IP地址的紅色部分就是網絡號,而藍色部分就是子網號,綠色部分就是主機號。至於有多少位代表子網號這個問題上,這沒有一個硬性的規定,取而代之的則是子網掩碼,如校園網,在校園網的設定裏面有一個255.255.255.0的東西,這就是子網掩碼。子網掩碼是由32bit的二進制數字序列,形式爲是一連串的1和一連串的0。 例如:255.255.255.0(二進制就是11111111.11111111.11111111.00000000)對於剛纔的那個B類地址,因爲210.30是網絡號,那麼後面的109.134就是子網號和主機號的組合,又因爲子網掩碼只有後八bit爲0,所以主機號就是IP地址的後八個bit,就是134,而剩下的就是子網號碼:109

2.ARP協議
還記得數據鏈路層的以太網的協議中,每一個數據包都有一個MAC地址頭麼?我們知道每一塊以太網卡都有一個MAC地址,這個地址是唯一的,那麼IP包是如何知道這個MAC地址的?這就是ARP協議的工作。
ARP(地址解析協議) 是一種解析協議,本來主機是完全不知道這個IP對應的是哪個主機的哪個接口,當主機要發送一個IP包的時候,會首先查一下自己的ARP高速緩存(就是一個IP-MAC地址對應表緩存);
如果查詢的IP-MAC值對不存在,那麼主機就向網絡發送一個ARP協議廣播包,這個廣播包裏面就有待查詢的IP地址,而直接收到這份廣播的包的所有主機都會查詢自己的IP地址,如果收到廣播包的某一個主機發現自己符合條件,那麼就準備好一個包含自己的MAC地址的ARP包傳送給發送ARP廣播的主機,而廣播主機拿到ARP包後會更新自己的ARP緩存(就是存放IP-MAC對應表的地方)。發送廣播的主機就會用新的ARP緩存數據準備好數據鏈路層的的數據包發送工作。

參考鏈接:http://m.blog.csdn.net/article/details?id=668556

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章