網際協議
此條目沒有列出任何參考或來源。 (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用於實驗流傳輸協議。其他的版本也已經分配了,通常是用於實驗的協議,而沒有廣泛應用。