1.端到端原則(end-to-end principle)
當我們設計一個大的系統(如操作系統或協議族)時,隨之而來的一個問題通常是在什么位置實現某個功能。影響TCP/IP協議族設計的一個重要原則是端到端原則(end-to-end principle):只有在通信系統端點的應用知識的幫助下,才能完全和正確地實現問題中提到的功能。這種觀點表明底層功能不應以完美為目標,這是因為對應用程序需求做出完美推測是不可能的。
2.命運共享原則(Fate-sharing)
什么是命運共享原則,以下是維基的解釋:
Fate-sharing is an engineering design philosophy where related parts of a system are yoked together, so that they either fail together or not at all. Fate-sharing is an example of the end-to-end principle. The term "fate-sharing" was defined by David D. Clark in his 1988 paper "The Design Philosophy of the DARPA Internet Protocols" as follows:
The fate-sharing model suggests that it is acceptable to lose the state information associated with an entity if, at the same time, the entity itself is lost. Specifically, information about transport level synchronization is stored in the host which is attached to the net and using its communication service.
A good example of fate-sharing is the transmission of routing messages in routing protocols such as BGP, where the failure of a link or link interface automatically has the effect of terminating routing announcements through that interface, ultimately resulting in the tearing down of the state for that route at each end of the link. Similar considerations apply to TCP.
它說命運共享是端到端的一種范例,我的理解是:命運共享就是把所有維護一個活動的通信關聯(如虛擬連接)所必須的狀態都放在通信端點,通過端點間的狀態信息交換來維持連接,而不是通過各自檢測實際的整個通信連接中的中間實體(路由器,交換機,線路等)是否有效。這樣的好處是:(1) 通過狀態交換能否到達就能高效且完全正確地判斷連接是否有效。(2) 在網絡基礎設施中有些單元失效地情況下,不會影響網絡設備的通信能力(只要有些通信路徑仍然可用)。
想一想命運共享的替代方法:如果中間實體必須維護有關通信的狀態,那么您將面臨復制該狀態的難題,即該連接通過的所有中間實體都得保持一份通信狀態的拷貝。
參考資料:https://www.niem.es/2008/04/term-fate-sharing.html