通信協議要麼是面向連接的,要麼是無連接的。這依賴於信息發送方是否需要與接收方聯系並通過聯系來維持一個對話(面向連接的),還是沒有任何預先聯系就發送消息(無連接的)且希望接收方能順序接收所有內容。這些方法揭示了網絡上實現通信的兩種途徑。
在面向連接的方法中,網絡負責順序發送報文分組並且以一種可靠的方法檢測丟失和沖突。這種方法被“可靠的”傳輸服務使用。
在無連接的方法中,網絡只需要將報文分組發送到接收點,檢錯與流控由發送方和接收方處理。這種方法被稱作“最佳工作(best-effort)”或“無應答(unacknowledged)”的傳輸協議所使用。
假定你想給你在另一個城市的朋友發送一系列信件,信件類似於通過計算機網絡發送的數據分組。有兩種發送方法,一種方法是把信件交給一位可信的朋友,由他私人傳送,之後再向你證實已經發送。在這種方法中,你在傳送的兩端都保持著聯系,你的朋友提供了面向連接的服務。另外一種是,你在信封上注明地址並將它們投進郵局,你並沒有得到保證說每封信都會達到目的地,如果都到達了,它們可能在不同的時間到達並且不是連續的,這就象一個無連接服務。
Connection-Oriented Communication面向連接的通信
在面向連接方法中,在兩個端點之間建立了一條數據通信信道(電路)。這條信道提供了一條在網絡上順序發送報文分組的預定義路徑,這個連接類似於語音電話。發送方與接收方保持聯系以協調會話和報文分組接收或失敗的信號。但這並不意味著面向連接的信道比無連接的信道使用了更多的帶寬,兩種方法都只在報文分組傳輸時才使用帶寬。
為面向連接的會話建立的通信信道自然是邏輯的,常被稱作虛電路(virtual circuit),它關心的是端點。與在網絡上尋求一條實際的物理路徑相比,這條信道更關心的是保持兩個端點的聯系。在有多條到達目的地路徑的網絡中,物理路徑在會話期間隨著數據模式的改變而改變,但是端點(和中間節點)一直保持對路徑進行跟蹤,圖C-26所示為多路復用電路中的邏輯路徑。
一台計算機上的應用程序啟動與另一台計算機的面向連接的會話,它通過訪問基本的通信協議來請求這樣的對話。在傳輸控制協議/因特網協議(TCP/IP)組中,TCP提供面向連接的服務,而IP(較低層的協議)提供傳輸服務。在NetWare SPX/IPX協議組中,SPX提供面向連接的服務。
因為報文分組是通過虛電路傳輸的,所以並不需要使用全分組地址,這是由於網絡已經知道了發送方與接收方的地址。網絡路徑上的每個節點都保持跟蹤虛電路和需要交換分組的端口。順序編號用來保證分組的順序流動。虛電路需要一個建立過程,但電路一旦建立,它就為長時間的處理提供一條有效的路徑,如由管理程序對網絡站點的連續監控和許多大文件的傳送。與此相比,無連接方法是設計用於突發的、暫時的通信,這種方法中如用虛電路建立就不是很有效的。
面向連接的會話的建立過程如下:
1.源應用程序請求一個面向連接的通信會話。
2.建立會話(需要一段時間,是選用無連接的協議的一個原因)。
3.在邏輯連接上開始數據傳輸。
4.傳輸結束時,信道解除連接。
在分組交換遠程通信網絡中,有些信道永不斷連。兩點之間建立的一條永久信道稱為永久虛電路(PVC)(Permanent virtual circuits(PVCs))。PVC類似於專用電話線。
面向連接的協議大部分位於與開放系統互連(OSI)協議模型相當的運輸層協議中。通用的面向連接的協議包括Internet和UNIX環境下的TCP(傳輸控制協議)、Novell的順序分組交換(SPX)、IBM/Microsoft的NetBIOS和OSI的連接模型網絡協議(CMNP)。
Connectionless Communication 無連接通信
在無連接方法中,網絡除了把分組傳送到目的地以外不需做任何事情,如果分組丟失了,接收方必須檢測出錯誤並請求重發;如果分組因采用不同的路徑而沒有按序到達,接收方必須將它們重新排序。無連接的協議有TCP/IP協議組的IP部分,NetWare的SPX/IPX協議的IPX部分和OSI的無連接網絡協議(CLNP)。這些協議在與OSI協議模型相當的網絡層中。
在無連接的通信會話中,每個數據分組是一個在網絡上傳輸的獨立單元,稱作數據報。發送方和接收方之間沒有初始協商,發送方僅僅向網絡上發送數據報,每個分組含有源地址和目的地址。