TCP-IP協議 標準的簡單服務,網際網路,實現和應用程式設計介面

1。12 標準的簡單服務

有一些標準的簡單服務幾乎每種實現都要提供。在本書中我們將使用其中的一些服務程

序,而客戶程式通常選擇 Te l n e t。圖1 - 9描述了這些服務。從該圖可以看出,當使用 T C P和

U D P提供相同的服務時,一般選擇相同的埠號。標準的簡單服務 網際網路 實現 應用程式設計介面

TCP-IP協議 標準的簡單服務,網際網路,實現和應用程式設計介面

如果仔細檢查這些標準的簡單服務以及其他標準的 T C P / I P服務(如Te l n e t、F T P、

S M T P等)的埠號時,我們發現它們都是奇數。這是有歷史原因的,因為這些埠號

都是從N C P埠號派生出來的(N C P,即網路控制協議,是A R PA N E T的運輸層協議,

是T C P的前身)。N C P是單工的,不是全雙工的,因此每個應用程式需要兩個連線,需

預留一對奇數和偶數埠號。當 T C P和U D P成為標準的運輸層協議時,每個應用程式

只需要一個埠號,因此就使用了NCP中的奇數。

1.13 網際網路

在圖1 - 3中,我們列舉了一個由兩個網路組成的網際網路—一個乙太網和一個令牌環網。

在1 。 4節和1 。 9節中,我們討論了世界範圍內的網際網路—I n t e r n e t,以及集中分配I P地址的需要

(I n t e r N I C),還討論了知名埠號( I A N A)。i n t e r n e t這個詞第一個字母是否大寫決定了它具

有不同的含義。

i n t e r n e t意思是用一個共同的協議族把多個網路連線在一起。而 I n t e r n e t指的是世界範圍內

透過T C P / I P互相通訊的所有主機集合(超過 1 0 0萬臺)。I n t e r n e t是一個i n t e r n e t,但i n t e r n e t不等

於I n t e r n e t。

1.14 實現

TCP-IP協議 標準的簡單服務,網際網路,實現和應用程式設計介面

既成事實標準的 T C P / I P軟體實現來

自於位於伯克利的加利福尼亞大學的計

算機系統研究小組。從歷史上看,軟體

是隨同4。x BSD系統(Berkeley Software

D i s t r i b u t i o n)的網路版一起釋出的。它的原始碼是許多其他實現的基礎。圖1 - 1 0列舉了各種 B S D版本釋出的時間,並標註了重要的 T C P / I P特性。列在左邊的 B S D網路版,其所有的網路原始碼可以公開得到:包括協議本身以及許多應用程式和工具(如Te l n e t和F T P)。在本書中,我們將使用“伯克利派生系統”來指 SunOS 4。x 、S V R 4以及AIX 3。2等那些基於伯克利原始碼開發的系統。這些系統有很多共同之處,經常包含相同的錯誤。起初關於I n t e r n e t的很多研究現在仍然在伯克利系統中應用—新的擁塞控制演算法( 2 1 。 7節)、多播(1 2 。 4節)、“長肥管道修改(2 4 。 3節)以及其他類似的研究。

1.15 應用程式設計介面

使用T C P / I P協議的應用程式通常採用兩種應用程式設計介面( A P I):s o c k e t和T L I(運輸層介面:Transport Layer Interface)。前者有時稱作”Berkeley socket“,表明它是從伯克利版發展

而來的。後者起初是由 AT & T開發的,有時稱作 X T I(X / O p e n運輸層介面),以承認X / O p e n這

個自己定義標準的國際計算機生產商所做的工作。 X T I實際上是T L I的一個超集。

本書不是一本程式設計方面的書,但是偶爾會引用一些內容來說明 T C P / I P的特性,不管大多

數的 A P I(s o c k e t)是否提供它們。所有關於 s o c k e t和T L I的程式設計細節請參閱文獻 [ S t e v e n s 1 9 9 0 ]

1。16 測試網路

圖1 - 11是本書中所有的例子執行的測試網路。

TCP-IP協議 標準的簡單服務,網際網路,實現和應用程式設計介面

在這個圖中(作者的子網),大多數的例子都執行在下面四個系統中。圖中所有的 I P地址

屬於B類地址,網路號為 1 4 0 。 2 5 2。所有的主機名屬於 。 t u c 。 n o a o 。 e d u這個域(n o a o代表

National Optical Astronomy Observatories,t u c代表Tu c s o n)。例如,右下方的系統有一個完

整的名字: s v r 4 。 t u c 。 n o a o 。 e d u,其I P地址是:1 4 0 。 2 5 2 。 1 3 。 3 4。每個方框上方的名稱是該

主機執行的作業系統。這一組系統和網路上的主機及路由器運行於不同的 T C P / I P實現。

需要指出的是,n o a o 。 e d u這個域中的網路和主機要比圖 1 - 11中的多得多。這裡列出來的

只是本書中將要用到的系統。

在3 。 4節中,我們將描述這個網路所用到的子網形式。在 4 。 6節中將介紹s u n與n e t b之間

的撥號S L I P的有關細節。2 。 4節將詳細討論S L I P。

總結:T C P / I P協議族分為四層:鏈路層、網路層、運輸層和應用層,每一層各有不同的責任。

在T C P / I P中,網路層和運輸層之間的區別是最為關鍵的:網路層( I P)提供點到點的服務,

而運輸層(T C P和U D P)提供端到端的服務。

一個網際網路是網路的網路。構造網際網路的共同基石是路由器,它們在 I P層把網路連在一

起。第一個字母大寫的I n t e r n e t是指分佈在世界各地的大型網際網路,其中包括 1萬多個網路和超

過1 0 0萬臺主機。

在一個網際網路上,每個介面都用 I P地址來標識,儘管使用者習慣使用主機名而不是 I P地址。

域名系統為主機名和 I P地址之間提供動態的對映。埠號用來標識互相通訊的應用程式。服

務器使用知名埠號,而客戶使用臨時設定的埠號。