網際網路協定
此條目沒有列出任何參考或來源。 (2021年5月19日) |
網際網路協定(internet protocol,IP)是網際網路協定套件中的網路層通訊協定,用於跨網路邊界封包交換。它的路由功能實現了互聯互通,並從本質上建立了網際網路。
IP是在TCP/IP協定套組中網路層的主要協定,任務是僅根據封包檔頭中的IP位址將封包從源主機傳遞到目標主機。為此,IP協定定義了封裝要傳遞的資料的封包結構。它還定義了用於用源和目的地資訊標記資料報的定址方法。
IP封裝
資料在IP網際網路中傳送時會封裝為資料包。網際網路協定的獨特之處在於:在封包交換網路中主機在傳輸資料之前,無須與先前未曾通訊過的目的主機預先建立好特定的「通路」。網際網路協定提供了「不可靠的」封包傳輸機制(也稱「盡力而為」或「盡最大努力交付」);也就是說,它不保證資料能準確的傳輸。封包在到達的時候可能已經損壞,順序錯亂(與其它一起傳送的封包相比),產生冗餘包,或者全部遺失。如果應用需要保證可靠性,一般需要採取其他的方法,例如利用IP的上層協定控制。
IP提供的服務
由於封裝帶來的抽象機制,IP能夠在各種各樣的網路上工作,例如乙太網路、非同步傳輸模式、FDDI、Wi-Fi、權杖環等等。每個鏈路層的實現可能有自己的方法(也有可能是完全沒有它自己的方法),把IP位址解析成相應的資料鏈路位址。IPv4使用位址解析協定(ARP),而IPv6採用鄰居發現協定(NDP)。
可靠性
網際網路協定的設計原則,假定網路基礎設施本身就是不可靠的單一網路元素或傳輸媒介,並且它使用的是動態的節點和連接。不存在中央監測和效能衡量機制來跟蹤和維護網路的狀態。為了減少網路的複雜性,大部分網路只能故意地分布在每個資料傳輸的終端節點。傳輸路徑中的路由器只是簡單地將資料包傳送到下一個匹配目的位址的路由字首的本地閘道。
由於這種設計的結果,網際網路協定只提供盡力傳送,其服務也不受信任。在網路專業語言中是無連接的協定,相對於所謂的面向連接的模式。在缺乏可靠性的條件下允許下列任何故障發生:
- 資料損壞
- 遺失封包
- 重複到來
- 封包傳遞亂序;意思是,封包A即使在封包B之前傳送,B也可能在A之前先抵達。
網際網路協定提供的唯一幫助是,IPv4規定透過在路由器節點計算校驗和來確保IP資料報頭是正確的。這個帶來的副作用是當場丟棄報頭錯誤的資料包。在這種情況下不需要傳送通知給任一終端節點,但是網際網路控制訊息協定(ICMP)中存在做到這一點的機制。但是,IPv6為了快速傳輸已經放棄了計算校驗和的使用。
對這些可靠性問題的更正是上層協定的責任。例如,上層協定為了確保按順序傳送可能要快取資料,直到資料可以傳遞給應用程式。
除了可靠性問題,網際網路及其組成部分的動態性和多樣性不能確保任何路徑是有能力地或合適地完成所要求的資料傳輸,即使路徑是有效並且可靠的。技術限制有在給定的鏈路上允許的封包的大小。應用程式必須確保它使用適當的傳輸特性。這種責任還在於一些在應用層協定和IP之間的上層協定。存在審查的本地連接尺寸最大傳輸單位(MTU),以及整個預計到目標路徑時使用IPv6。IPv4的網路層有自動分片成更小的單位進行傳輸原始資料報的能力。在這種情況下,IP確實能夠為亂序的分片進行順序排序。
IP定址和路由
網際網路協定最為複雜的方面可能就是定址和路由。定址就是如何將IP位址分配給各個終端節點,以及如何劃分和組合子網路。所有網路端點都需要路由,尤其是網際之間的路由器。路由器通常用內部網路關協定(Interior Gateway Protocols,IGPs)和外部閘道協定(External Gateway Protocols,EGPs)決定怎樣傳送IP封包。
版本歷史
現在的網際網路普遍的採用了網際網路協定。而現在正在網路中執行的網際網路協定是IPv4;IPv6為IPv4的後續版本。網際網路現在正慢慢地耗盡IP位址,而IPv6的出現解決了這個問題,與IPv4的32位元的位址相比而言,IPv6擁有128位元的位址空間,可以提供比前者多很多的位址。
版本0至3不是保留就是沒有使用。而版本5用於實驗流傳輸協定。其他的版本也已經分配了,通常是用於實驗的協定,而沒有廣泛應用。