1。12 標準的簡單服務
有一些標準的簡單服務幾乎每種實現都要提供。在本書中我們將使用其中的一些服務程
序,而客戶程式通常選擇 Te l n e t。圖1 - 9描述了這些服務。從該圖可以看出,當使用 T C P和
U D P提供相同的服務時,一般選擇相同的埠號。標準的簡單服務 網際網路 實現 應用程式設計介面
如果仔細檢查這些標準的簡單服務以及其他標準的 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 實現
既成事實標準的 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是本書中所有的例子執行的測試網路。
在這個圖中(作者的子網),大多數的例子都執行在下面四個系統中。圖中所有的 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地址之間提供動態的對映。埠號用來標識互相通訊的應用程式。服
務器使用知名埠號,而客戶使用臨時設定的埠號。