1. 程式人生 > >第一章----概述

第一章----概述

分層:網路協議通常分不同層次來開發,每一層負責不同的通訊功能。

1) 鏈路層,有時也稱作資料鏈路層或網路介面層,
通常包括作業系統中的裝置驅動程式和計算機
中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。

2)網路層,有時也稱作網際網路層,處理分組在網路中的活動,例如分組的選路。在
 T C P / I P協議族中,網路層協議包括I P協議(網際協議),I C M P協議(I n t e r n e t網際網路控
制報文協議),以及I G M P協議(I n t e r n e t組管理協議)。

3 ) 運輸層主要為兩臺主機上的應用程式提供端到端的通訊。

在T C P / I P協議族中,有兩個
互不相同的傳輸協議: T C P(傳輸控制協議)和U D P(使用者資料報協議)。

T C P為兩臺主機提供高可靠性的資料通訊。它所做的工作包括把應用程式交給它的資料分
成合適的小塊交給下面的網路層,確認接收到的分組,設定傳送最後確認分組的超時時鐘
等。由於運輸層提供了高可靠性的端到端的通訊,因此應用層可以忽略所有這些細節。
而另一方面, U D P則為應用層提供一種非常簡單的服務。它只是把稱作資料報的分組
從一臺主機發送到另一臺主機,但並不保證該資料報能到達另一端。任何必需的可靠
性必須由應用層來提供。

4) 應用層,負責處理特定的應用程式細節。幾乎各種不同的T C P / I P實現都會提供下面這些
通用的應用程式:

• Telnet 遠端登入。
• FTP 檔案傳輸協議。
• SMTP 簡單郵件傳送協議。
• SNMP 簡單網路管理協議。

在T C P / I P協議族中,網路層I P提供的是一種不可靠的服務。也就是說,它只是儘可能快
地把分組從源結點送到目的結點,但是並不提供任何可靠性保證。而另一方面, T C P在不可
靠的I P層上提供了一個可靠的運輸層。為了提供這種可靠的服務, T C P採用了超時重傳、發
送和接收端到端的確認分組等機制。由此可見,運輸層和網路層分別負責不同的功能。

任何具有多個介面的系統,英文都稱作是多介面的( m u l t i h o m e d )。一個主機也可以有多個介面,
但一般不稱作路由器, 除非它的功能只是單純地把分組從一個介面傳送到另一個介面。同樣,
路由器並不一定指那種在網際網路中用來轉發分組的特殊硬體盒。大多數的T C P / I P實現也允許
一個多介面主機來擔當路由器的功能,但是主機為此必須進行特殊的配置。在這種情況下,
我們既可以稱該系統為主機(當它執行某一應用程式時,如F T P或Te l n e t),也可以稱之為路
由器(當它把分組從一個網路轉發到另一個網路時)。在不同的場合下使用不同的術語。

連線網路的另一個途徑是使用網橋。網橋是在鏈路層上對網路進行互連,而路由器則是
在網路層上對網路進行互連。

T C P和U D P是兩種最為著名的運輸層協議,二者都使用I P作為網路層協議。

U D P為應用程式傳送和接收資料報。一個數據報是指從傳送方傳輸到接收方的一個資訊
單元(例如,傳送方指定的一定位元組數的資訊)。但是與T C P不同的是,U D P是不可靠的,它
不能保證資料報能安全無誤地到達最終目的。

我們可以劃分出端系統( End system )(兩邊的兩臺主機)和中間系統
(Intermediate system)(中間的路由器)。應用層和運輸層使用端到端( En d - t o - e n d)協議。在
圖中,只有端系統需要這兩層協議。但是,網路層提供的卻是逐跳( Ho p - b y - h o p)協議,兩
個端系統和每個中間系統都要使用它。

T C P和U D P的每組資料都通過端系統和每個中間路由器中的I P層在網際網路中進行傳輸。

I C M P是I P協議的附屬協議。I P層用它來與其他主機或路由器交換錯誤報文和其他重要資訊。儘管I C M P主要被I P使用,但應用程式也有可能訪問它。

I G M P是I n t e r n e t組管理協議。它用來把一個U D P資料報多播到多個主機。

A R P(地址解析協議)和R A R P(逆地址解析協議)是某些網路介面(如乙太網和令牌環
網)使用的特殊協議,用來轉換I P層和網路介面層使用的地址

由於網際網路上的每個介面必須有一個唯一的I P地址,因此必須要有一個管理機構為接入互
聯網的網路分配I P地址。這個管理機構就是網際網路絡資訊中心( Internet Network Information
C e n t r e),稱作I n t e r N I C。I n t e r N I C只分配網路號。主機號的分配由系統管理員來負責。

有三類I P地址:單播地址(目的為單個主機)、廣播地址(目的端為給定網路上的所有主
機)以及多播地址(目的端為同一組內的所有主機)

當應用程式用T C P傳送資料時,資料被送入協議棧中,然後逐個通過每一層直到被當作
一串位元流送入網路。其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部
資訊),該過程如圖1 - 7所示。T C P傳給I P的資料單元稱作T C P報文段或簡稱為T C P段(T C P
s e g m e n t)。I P傳給網路介面層的資料單元稱作I P資料報(IP datagram)。通過乙太網傳輸的位元
流稱作幀(Fr a m e )。

由於T C P、U D P、I C M P和I G M P都要向I P傳送資料,因此I P必須在
生成的I P首部中加入某種標識,以表明資料屬於哪一層。為此, I P在首部中存入一個長度為
8 b i t的數值,稱作協議域。1表示為I C M P協議, 2表示為I G M P協議, 6表示為T C P協議, 1 7表
示為U D P協議。

類似地,許多應用程式都可以使用T C P或U D P來傳送資料。運輸層協議在生成報文首部
時要存入一個應用程式的識別符號。T C P和U D P都用一個1 6 b i t的埠號來表示不同的應用程式。
T C P和U D P把源埠號和目的埠號分別存入報文首部中。

當目的主機收到一個乙太網資料幀時,資料就開始從協議棧中由底向上升,同時去掉各
層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以確定接收資料的
上層協議。這個過程稱作分用( D e m u l t i p l e x i n g)

使用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協議族分為四層:鏈路層、網路層、運輸層和應用層,每一層各有不同的責任。
在T C P / I P中,網路層和運輸層之間的區別是最為關鍵的:網路層( I P)提供點到點的服務,
而運輸層( T C P和U D P)提供端到端的服務。