《分布式系統 概念與設計》一3 4 2 IP協議

2021-09-23 10:03:56 字數 1713 閱讀 6812

ip協議將資料報從乙個主機傳到另乙個主機,如果需要的話還會經過中間路由器。完整的ip資料報格式是相當複雜的,圖3-17給出了其主要組成部分。有一些頭部域沒有顯示在圖中,它們是用於傳輸和路由演算法的。

ip提供的傳輸服務被描述成有不可靠或盡力而為這樣的傳輸語義,因為沒有傳輸上的保證。資料報可能會丟失、重複、延遲或順序錯誤,但這些錯誤只在底層網路失敗或目的地緩衝區滿的時候才會發生。ip中唯一的校驗和是頭部的校驗和,其計算代價不高,還能確保檢測到任何定址和資料報管理資料中發生的錯誤。它沒有提供資料的校驗和,這避免了經過路由器時的開銷,而是讓更高層的協議(tcp和udp)來提供它們自己的校驗和——這是端對端爭論中的乙個實際例子(參見2.3.3節)。

ip層將ip資料報放入適合底層網路(例如乙太網)傳輸的網路資料報中。當ip資料報的長度大於底層網路的mtu時,就在傳送端將ip資料報分割成多個小的資料報,然後在目的地重新組裝。資料報還可以進一步分割以適合從源位址到目的位址的路徑中所經過的網路(每個資料報都有乙個片斷識別符號,使得打亂順序的各個段能夠重新組合起來)。

ip層還必須在底層網路中插入訊息目的地的「物理」網路位址。該位址可以從網際網路網路介面層的位址解析模組獲得(見下一小節的介紹)。

位址解析 位址解析模組負責將網際網路位址轉為特定底層網路所使用的網路位址(有時稱為實體地址)。例如,如果底層網路是乙太網,那麼位址解析模組將把32位元的網際網路位址轉換成48位元的乙太網位址。111

這種轉換是與網路技術相關的:

現在我們概述一下乙太網中arp的實現。為了能在計算機加入區域網時讓ip資料報在乙太網上傳輸,使用了動態詢問並利用快取來減少詢問訊息。先考慮同乙個乙太網中乙個主機用ip向另乙個主機傳送訊息的情況。傳送方的ip軟體模組在傳送資料報前,必須將ip資料報中的接收方的網際網路位址翻譯成乙太網位址。它呼叫傳送方的arp模組來完成這一任務。

每個主機上的arp模組都維護乙個快取,儲存它以前獲得的(ip位址,乙太網位址)對。如果需要的ip位址位於這個快取中,請求就會立刻被應答。如果沒有需要的ip位址,arp模組會在本地的乙太網上發出乙個乙太網廣播資料報(arp請求資料報),資料報中包括了所需的ip位址。本地乙太網中的每個計算機都收到這個arp請求資料報,並用自己的ip位址和資料報中的ip位址進行匹配。如果匹配,就給arp請求的發出方傳送乙個arp應答,應答中包括自己的乙太網位址;如果不匹配,就忽略該資料報。發出方的arp模組在自己的本地(ip位址,乙太網位址)快取中加入新的ip位址到乙太網位址的對映表,這樣將來如果響應類似的arp請求就不需要再廣播了。一段時間之後,每個計算機上的arp快取中都包含了所有計算機的(ip位址,乙太網位址)對。這時只有在有新計算機加入到本地乙太網時才需要arp廣播。

ip偽冒我們已經看到,ip資料報中包括乙個源位址——傳送方計算機的ip位址。它與封裝在資料域中的埠位址(對於tcp和udp資料報)一起,經常被伺服器用來生成乙個返回位址。遺憾的是,並不能保證給定的源位址就是真正的傳送方的位址。心懷叵測的傳送者可以輕易地使用別的位址來代替它。這個漏洞已成為多起著名攻擊的源頭,包括1.5.3節提到的2023年2月出現的分布式拒絕服務攻擊[farrow 2000]。所使用的方法就是在幾個站點向大量的計算機發出ping請求(ping是乙個簡單的服務,用於檢查主機的可用性)。這些惡意的ping請求在它們的傳送方位址域中都填上了目標計算機的ip位址,因此ping的應答就指向目標計算機,112造成它們的輸入緩衝溢位,造成合法的ip資料報無法通過。這種攻擊將在第11章中進一步討論。

《分布式系統 概念與設計》一1 7 小結

分布式系統無處不在。網際網路使得全世界使用者無論走到 都能訪問網際網路上的服務。每個組織管理乙個企業內部網,並通過該企業內部網為本地使用者提供本地服務和網際網路服務,也為網際網路上的其他使用者提供服務。小型的分布式系統可由移動計算機和其他可連線到無線網路的小型計算裝置構造。資源共享是構造分布式系統的...

分布式 分布式系統的設計

在計算機領域,當單機效能達到瓶頸時,一般有兩種方式解決效能問題 而分布式系統的設計說白了就是 如何合理將乙個系統拆分成多個子系統部署到不同機器上。講設計方法前,先介紹分布式系統的特性 1 分布性 空間中隨機分布。這些計算機可以分布在不同的機房,不同的城市,甚至不同的國家。2 對等性 分布式系統中的計...

《分布式系統 概念與設計》一第2章 系統模型

本章提供三個重要且互補的解釋方法,以便有效地描述和討論分布式系統的設計 物理模型考慮組成系統的計算機和裝置的型別以及它們的互連,不涉及特定的技術細節。體系結構模型是從系統的計算元素執行的計算和通訊任務方面來描述系統 這裡計算元素或是指單個計算機或是指通過網路互連的計算機集合。客戶 伺服器和對等模型是...