IP

IP是一個無連接的協議,主要就是負責在主機間尋址併爲數據包設定路由,在交換數據前它並不建立會話。因爲它不保證正確傳遞,另一方面,數據在被收到時,IP不需要收到確認,所以它是不可靠的。
有一些字段,在當數據從傳輸層傳下來時,會被附加在數據包中,我們來看一下這些字段:
源IP地址:用IP地址確定數據報發送者。
目標IP地址:用IP地址確定數據報目標。
協議:告知目的機的IP是否將包傳給TCP或UDP。
檢查和:一個簡單的數學計算,用來證實收到的包的完整性。
TTL生存有效時間:指定一個數據報被丟棄之前,在網絡上能停留多少時間(以秒計)。它避免了包在網絡中無休止循環。路由器會根據數據在路由器中駐留的時間來遞減TTL。其中數據報通過一次路由器,TTL至少減少一秒。
根據我們前面提到關於ARP的知識,如果IP地址目標爲本地地址時,IP將數據包直接傳給那個主機;如果目標地址爲遠程地址的話,IP在本地的路由表中查找遠程主機的路由(看來好象我們平時撥114一樣)。如果找到一個路由,IP用它傳送數據包。如果沒找到呢,就會將數據包發送到源主機的缺省網關,也稱之爲路由器。(很多時候一直在搞網關和路由器的定義,其實我覺得在學的時候不一定死摳概念,現在硬件和軟件結合的產品越來越多了,一時很分清的,只要我們運用的時候可以解決實際問題嘛。)
這樣當路由器收到一個包後,該包向上傳給IP:
(1)如果交通阻塞(聽起來蠻可怕的),包在路由器中停滯,TTL至少減1或更多。要是它降到0的話,包就會被拋棄。
(2)如果對於下一網絡來說包太大的話,IP會將它分割成若干個小包。
(3)如果包被分解,IP爲每個新包製造一個新頭,其中包括:一個標誌,用來顯示其它小包在其後;一個小包ID,用來確定所有小包是一起的;一個小包偏移,用來告訴接收主機怎麼重新組合它們。
(4)IP計算一個新的檢驗和。
(5)IP獲取一個路由的目標硬件地址。
(6)IP轉發包。
在下一主機,包被髮送到TCP或UDP。每個路由器都要重複該過程。直到包到達最終目的地。當包到達最終目的地後,IP將小包組裝成原來的包。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章