IP網際協議

I P是T C P / I P協議族中最爲核心的協議。
 
2個術語:
不可靠( u n r e l i a b l e)的意思是它不能保證I P數據報能成功地到達目的地。I P僅提供最好的傳輸服務。如果發生某種錯誤時,如某個路由器暫時用完了緩衝區, I P有一個簡單的錯誤處理算法:丟棄該數據報,然後發送I C M P消息報給信源端。任何要求的可靠性必須由上層來提供(如T C P)。
無連接( c o n n e c t i o n l e s s)這個術語的意思是I P並不維護任何關於後續數據報的狀態信息。每個數據報的處理是相互獨立的。這也說明, I P數據報可以不按發送順序接收。如果一信源向相同的信宿發送兩個連續的數據報(先是A,然後是B),每個數據報都是獨立地進行路由選擇,可能選擇不同的路線,因此B可能在A到達之前先到達。
 
IP報頭:
 
首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此
首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已
沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字
段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最
小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此
首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已
沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字
段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最
小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此
首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已
沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字
段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最
小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此
首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已
沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字
段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最
小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此
首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已
沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字
段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最
小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。
首部長度指的是首部佔32 bit字的數目,包括任何選項。由於它是一個4比特字段,因此首部最長爲6 0個字節。在第8章中,我們將看到這種限制使某些選項如路由記錄選項在當今已沒有什麼用處。普通I P數據報(沒有任何選擇項)字段的值是5。
服務類型(TO S)字段包括一個3 bit的優先權子字段(現在已被忽略),4 bit的TO S子字段和1 bit未用位但必須置0。4 bit的TO S分別代表:最小時延、最大吞吐量、最高可靠性和最小費用。4 bit中只能置其中1 bit。如果所有4 bit均爲0,那麼就意味着是一般服務。
 
總長度字段是指整個I P數據報的長度,以字節爲單位。利用首部長度字段和總長度字段,就可以知道I P數據報中數據內容的起始位置和長度。由於該字段長1 6比特,所以I P數據報最長可達6 5 5 3 5字節(回憶圖2 - 5,超級通道的M T U爲6 5 5 3 5。它的意思其實不是一個真正的M T U—它使用了最長的I P數據報)。當數據報被分片時,該字段的值也隨着變化,這一點將在11 . 5節中進一步描述。
儘管可以傳送一個長達6 5 5 3 5字節的I P數據報,但是大多數的鏈路層都會對它進行分片。而且,主機也要求不能接收超過5 7 6字節的數據報。由於T C P把用戶數據分成若干片,因此一般來說這個限制不會影響T C P。在後面的章節中將遇到大量使用U D P的應用( R I P,T F T P,B O O T P,D N S,以及S N M P),它們都限制用戶數據報長度爲5 1 2字節,小於5 7 6字節。但是,事實上現在大多數的實現(特別是那些支持網絡文件系統N F S的實現)允許超過8 1 9 2字節的I P數據報。
總長度字段是I P首部中必要的內容,因爲一些數據鏈路(如以太網)需要填充一些數據以達到最小長度。儘管以太網的最小幀長爲4 6字節(見圖2 - 1),但是I P數據可能會更短。如果沒有總長度字段,那麼I P層就不知道4 6字節中有多少是I P數據報的內容。標識字段唯一地標識主機發送的每一份數據報。通常每發送一份報文它的值就會加1。在11 . 5節介紹分片和重組時再詳細討論它。同樣,在討論分片時再來分析標誌字段和片偏移字段。
 
T T L(t i m e - t o - l i v e)生存時間字段設置了數據報可以經過的最多路由器數。
T T L的初始值由源主機設置(通常爲3 2或6 4),一旦經過一個處理它的路由器,
它的值就減去1。當該字段的值爲0時,數據報就被丟棄,併發送I C M P報文通知源主機。
 
IP路由選擇:
從概念上說, I P路由選擇是簡單的,特別對於主機來說。如果目的主機與源主機直接相連(如點對點鏈路)或都在一個共享網絡上(以太網或令牌環網),那麼I P數據報就直接送到目的主機上。否則,主機把數據報發往一默認的路由器上,由路由器來轉發該數據報。大多數的主機都是採用這種簡單機制。
在一般的體制中,I P可以從T C P、U D P、I C M P和I G M P接收數據報(即在本地生成的數據報)並進行發送,或者從一個網絡接口接收數據報(待轉發的數據報)並進行發送。I P層在內存中有一個路由表。當收到一份數據報並進行發送時,它都要對該表搜索一次。當數據報來自某個網絡接口時, I P首先檢查目的I P地址是否爲本機的I P地址之一或者I P廣播地址。如果確實是這樣,數據報就被送到由I P首部協議字段所指定的協議模塊進行處理。如果數據報的目的不是這些地址,那麼( 1)如果I P層被設置爲路由器的功能,那麼就對數據報進行轉發(也就是說,像下面對待發出的數據報一樣處理);否則( 2)數據報被丟棄。
路由表中的每一項都包含下面這些信息:
• 目的I P地址。它既可以是一個完整的主機地址,也可以是一個網絡地址,由該表目中的標誌字段來指定(如下所述)。主機地址有一個非0的主機號(見圖1 - 5),以指定某一特定的主機,而網絡地址中的主機號爲0,以指定網絡中的所有主機(如以太網,令牌環網)。
• 下一站(或下一跳)路由器( next-hop router)的I P地址,或者有直接連接的網絡I P地址。下一站路由器是指一個在直接相連網絡上的路由器,通過它可以轉發數據報。下一站路由器不是最終的目的,但是它可以把傳送給它的數據報轉發到最終目的。
• 標誌。其中一個標誌指明目的I P地址是網絡地址還是主機地址,另一個標誌指明下一站路由器是否爲真正的下一站路由器,還是一個直接相連的接口(我們將在9 . 2節中詳細介紹這些標誌)。
• 爲數據報的傳輸指定一個網絡接口。
I P路由選擇是逐跳地( h o p - b y - h o p)進行的。從這個路由表信息可以看出, I P並不知道到達任何目的的完整路徑(當然,除了那些與主機直接相連的目的)。所有的I P路由選擇只爲數據報傳輸提供下一站路由器的I P地址。它假定下一站路由器比發送數據報的主機更接近目的,而且下一站路由器與該主機是直接相連的。
 
I P路由選擇主要完成以下這些功能:
1) 搜索路由表,尋找能與目的I P地址完全匹配的表目(網絡號和主機號都要匹配)。如果找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口(取決於標誌字段的值)。
2) 搜索路由表,尋找能與目的網絡號相匹配的表目。如果找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口(取決於標誌字段的值)。目的網絡上的所有主機都可以通過這個表目來處置。例如,一個以太網上的所有主機都是通過這種表目進行尋徑的。這種搜索網絡的匹配方法必須考慮可能的子網掩碼。關於這一點我們在下一節中進行討論。
3) 搜索路由表,尋找標爲“默認( d e f a u l t)”的表目。如果找到,則把報文發送給該表目指定的下一站路由器。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章