為了減少網路設計的複雜性,絕大多數網路採用分層設計方法。所謂分層設計方法,就是按照資訊的流動過程將網路的整體功能分解為一個個的功能層,不同機器上的同等功能層之間採用相同的協議,同一機器上的相鄰功能層之間透過介面進行資訊傳遞。為了便於理解介面和協議的概念,我們首先以郵政通訊系統為例進行說明。人們平常寫信時,都有個約定,這就是信件的格式和內容。首先,我們寫信時必須採用雙方都懂的語言文字和文體,開頭是對方稱謂,最後是落款等。這樣,對方收到信後,才可以看懂信中的內容,知道是誰寫的,什麼時候寫的等。當然還可以有其他的一些特殊約定,如書信的編號、間諜的密寫等。信寫好之後,必須將信封裝並交由郵局寄發,這樣寄信人和郵局之間也要有約定,這就是規定信封寫法並貼郵票。在中國寄信必須先寫收信人地址、姓名,然後才寫寄信人的地址和姓名。郵局收到信後,首先進行信件的分揀和分類,然後交付有關運輸部門進行運輸,如航空信交民航,平信交鐵路或公路運輸部門等。這時,郵局和運輸部門也有約定,如到站地點、時間、包裹形式等等。信件運送到目的地後進行相反的過程,最終將信件送到收信人手中,收信人依照約定的格式才能讀懂信件。如圖所示,在整個過程中,主要涉及到了三個子系統、即使用者子系統,郵政子系統和運輸子系統。各種約定都是為了達到將信件從一個源點送到某一個目的點這個目標而設計的,這就是說,它們是因資訊的流動而產生的。可以將這些約定分為同等機構間的約定,如使用者之間的約定、郵政局之間的約定和運輸部門之間的約定,以及不同機構間的約定,如使用者與郵政局之間的約定、郵政局與運輸部門之間的約定。雖然兩個使用者、兩個郵政局、兩個運輸部門分處甲、乙兩地,但它們都分別對應同等機構,同屬一個子系統;而同處一地的不同機構則不在一個子系統內,而且它們之間的關係是服務與被服務的關係。很顯然,這兩種約定是不同的,前者為部門內部的約定,而後者是不同部門之間的約定。 在計算機網路環境中,兩臺計算機中兩個程序之間進行通訊的過程與郵政通訊的過程十分相似。使用者程序對應於使用者,計算機中進行通訊的程序(也可以是專門的通訊處理機〕對應於郵局,通訊設施對應於運輸部門。為了減少計算機網路設計的複雜性,人們往往按功能將計算機網路劃分為多個不同的功能層。網路中同等層之間的通訊規則就是該層使用的協議,如有關第N層的通訊規則的集合,就是第N層的協議。而同一計算機的不同功能層之間的通訊規則稱為介面( i n t e r f a c e),在第N層和第(N+ 1)層之間的介面稱為N /(N+ 1)層介面。總的來說,協議是不同機器同等層之間的通訊約定,而介面是同一機器相鄰層之間的通訊約定。不同的網路,分層數量、各層的名稱和功能以及協議都各不相同。然而,在所有的網路中,每一層的目的都是向它的上一層提供一定的服務。協議層次化不同於程式設計中模組化的概念。在程式設計中,各模組可以相互獨立,任意拼裝或者並行,而層次則一定有上下之分,它是依資料流的流動而產生的。組成不同計算機同等層的實體稱為對等程序( peer process)。對等程序不一定非是相同的程式,但其功能必須完全一致,且採用相同的協議。分層設計方法將整個網路通訊功能劃分為垂直的層次集合後,在通訊過程中下層將向上層隱蔽下層的實現細節。但層次的劃分應首先確定層次的集合及每層應完成的任務。劃分時應按邏輯組合功能,並具有足夠的層次,以使每層小到易於處理。同時層次也不能太多,以免產生難以負擔的處理開銷。計算機網路體系結構是網路中分層模型以及各層功能的精確定義。對網路體系結構的描述必須包括足夠的資訊,使實現者可以為每一功能層進行硬體設計或編寫程式,並使之符合相關協議。但我們要注意的是,網路協議實現的細節不屬於網路體系結構的內容,因為它們隱含在機器內部,對外部說來是不可見的。現在我們來考查一個具體的例子:在圖1 - 11所示的5層網路中如何向其最上層提供通訊。在第5層執行的某應用程序產生了訊息M,並把它交給第4層進行傳送。第4層在訊息M前加上一個資訊頭(h e a d e r),資訊頭主要包括控制資訊(如序號)以便目標機器上的第4層在低層不能保持訊息順序時,把亂序的訊息按原序裝配好。在有些層中,資訊頭還包括長度、時間和其他控制欄位。在很多網路中,第4層對接收的訊息長度沒有限制,但在第3層通常存在一個限度。因此,第3層必須將接收的入境訊息分成較小的單元如報文分組( p a c k e t),並在每個報文分組前加上一個報頭。在本例項中,訊息M被分成兩部分:M 1和M 2。第3層確定使用哪一條輸出線路,並將報文傳給第2層。第2層不僅給每段訊息加上頭部資訊,而且還要加上尾部資訊,構成新的資料單元,通常稱為幀( f r a m e),然後將其傳給第1層進行物理傳輸。在接收方,報文每向上遞交一層,該層的報頭就被剝掉,決不可能出現帶有N層以下報頭的報文交給接收方第N層實體的情況。要理解圖1 - 11示意圖,關鍵要理解虛擬通訊與物理通訊之間的關係,以及協議與介面之間的區別。比如,第4層的對等程序,在概念上認為它們的通訊是水平方向地應用第四層協議。每一方都好像有一個叫做“傳送到另一方去”的過程和一個叫做“從另一方接收”的過程,儘管實際上這些過程是跨過3 / 4層介面與下層通訊而不是直接同另一方通訊。抽象出對等程序這一概念,對網路設計是至關重要的。有了這種抽象技術,網路設計者就可以把設計完整的網路這種難以處理的大問題,劃分成設計幾個較小的且易於處理的問題,即分別設計各層。
為了減少網路設計的複雜性,絕大多數網路採用分層設計方法。所謂分層設計方法,就是按照資訊的流動過程將網路的整體功能分解為一個個的功能層,不同機器上的同等功能層之間採用相同的協議,同一機器上的相鄰功能層之間透過介面進行資訊傳遞。為了便於理解介面和協議的概念,我們首先以郵政通訊系統為例進行說明。人們平常寫信時,都有個約定,這就是信件的格式和內容。首先,我們寫信時必須採用雙方都懂的語言文字和文體,開頭是對方稱謂,最後是落款等。這樣,對方收到信後,才可以看懂信中的內容,知道是誰寫的,什麼時候寫的等。當然還可以有其他的一些特殊約定,如書信的編號、間諜的密寫等。信寫好之後,必須將信封裝並交由郵局寄發,這樣寄信人和郵局之間也要有約定,這就是規定信封寫法並貼郵票。在中國寄信必須先寫收信人地址、姓名,然後才寫寄信人的地址和姓名。郵局收到信後,首先進行信件的分揀和分類,然後交付有關運輸部門進行運輸,如航空信交民航,平信交鐵路或公路運輸部門等。這時,郵局和運輸部門也有約定,如到站地點、時間、包裹形式等等。信件運送到目的地後進行相反的過程,最終將信件送到收信人手中,收信人依照約定的格式才能讀懂信件。如圖所示,在整個過程中,主要涉及到了三個子系統、即使用者子系統,郵政子系統和運輸子系統。各種約定都是為了達到將信件從一個源點送到某一個目的點這個目標而設計的,這就是說,它們是因資訊的流動而產生的。可以將這些約定分為同等機構間的約定,如使用者之間的約定、郵政局之間的約定和運輸部門之間的約定,以及不同機構間的約定,如使用者與郵政局之間的約定、郵政局與運輸部門之間的約定。雖然兩個使用者、兩個郵政局、兩個運輸部門分處甲、乙兩地,但它們都分別對應同等機構,同屬一個子系統;而同處一地的不同機構則不在一個子系統內,而且它們之間的關係是服務與被服務的關係。很顯然,這兩種約定是不同的,前者為部門內部的約定,而後者是不同部門之間的約定。 在計算機網路環境中,兩臺計算機中兩個程序之間進行通訊的過程與郵政通訊的過程十分相似。使用者程序對應於使用者,計算機中進行通訊的程序(也可以是專門的通訊處理機〕對應於郵局,通訊設施對應於運輸部門。為了減少計算機網路設計的複雜性,人們往往按功能將計算機網路劃分為多個不同的功能層。網路中同等層之間的通訊規則就是該層使用的協議,如有關第N層的通訊規則的集合,就是第N層的協議。而同一計算機的不同功能層之間的通訊規則稱為介面( i n t e r f a c e),在第N層和第(N+ 1)層之間的介面稱為N /(N+ 1)層介面。總的來說,協議是不同機器同等層之間的通訊約定,而介面是同一機器相鄰層之間的通訊約定。不同的網路,分層數量、各層的名稱和功能以及協議都各不相同。然而,在所有的網路中,每一層的目的都是向它的上一層提供一定的服務。協議層次化不同於程式設計中模組化的概念。在程式設計中,各模組可以相互獨立,任意拼裝或者並行,而層次則一定有上下之分,它是依資料流的流動而產生的。組成不同計算機同等層的實體稱為對等程序( peer process)。對等程序不一定非是相同的程式,但其功能必須完全一致,且採用相同的協議。分層設計方法將整個網路通訊功能劃分為垂直的層次集合後,在通訊過程中下層將向上層隱蔽下層的實現細節。但層次的劃分應首先確定層次的集合及每層應完成的任務。劃分時應按邏輯組合功能,並具有足夠的層次,以使每層小到易於處理。同時層次也不能太多,以免產生難以負擔的處理開銷。計算機網路體系結構是網路中分層模型以及各層功能的精確定義。對網路體系結構的描述必須包括足夠的資訊,使實現者可以為每一功能層進行硬體設計或編寫程式,並使之符合相關協議。但我們要注意的是,網路協議實現的細節不屬於網路體系結構的內容,因為它們隱含在機器內部,對外部說來是不可見的。現在我們來考查一個具體的例子:在圖1 - 11所示的5層網路中如何向其最上層提供通訊。在第5層執行的某應用程序產生了訊息M,並把它交給第4層進行傳送。第4層在訊息M前加上一個資訊頭(h e a d e r),資訊頭主要包括控制資訊(如序號)以便目標機器上的第4層在低層不能保持訊息順序時,把亂序的訊息按原序裝配好。在有些層中,資訊頭還包括長度、時間和其他控制欄位。在很多網路中,第4層對接收的訊息長度沒有限制,但在第3層通常存在一個限度。因此,第3層必須將接收的入境訊息分成較小的單元如報文分組( p a c k e t),並在每個報文分組前加上一個報頭。在本例項中,訊息M被分成兩部分:M 1和M 2。第3層確定使用哪一條輸出線路,並將報文傳給第2層。第2層不僅給每段訊息加上頭部資訊,而且還要加上尾部資訊,構成新的資料單元,通常稱為幀( f r a m e),然後將其傳給第1層進行物理傳輸。在接收方,報文每向上遞交一層,該層的報頭就被剝掉,決不可能出現帶有N層以下報頭的報文交給接收方第N層實體的情況。要理解圖1 - 11示意圖,關鍵要理解虛擬通訊與物理通訊之間的關係,以及協議與介面之間的區別。比如,第4層的對等程序,在概念上認為它們的通訊是水平方向地應用第四層協議。每一方都好像有一個叫做“傳送到另一方去”的過程和一個叫做“從另一方接收”的過程,儘管實際上這些過程是跨過3 / 4層介面與下層通訊而不是直接同另一方通訊。抽象出對等程序這一概念,對網路設計是至關重要的。有了這種抽象技術,網路設計者就可以把設計完整的網路這種難以處理的大問題,劃分成設計幾個較小的且易於處理的問題,即分別設計各層。