原語
計算機服務在形式上是一組原語(Primitive)來描述的。原語被用來統治服務提供者採取某些行動,或報告某同層屍體已經採取的行動。在OSI參考模型中,服務原語劃分為四種類型:
⑴.請求(Request)。用戶利用它要求服務提供者提供某些服務,如建立連接或發送數據等;
⑵.指示(Indication)。服務提供者執行一個請求以後,用指示原語通知收方的用戶實體,告知有人想要與之建立連接或發送數據等;
⑶.響應(Response)。收到指示原語後,利用響應原語向對方作出反應,;例如同意或不同意建立連接等;
⑷.確認(Confirm)。請求對方可以通過接收確認原語來獲悉對方是否同意接受請求。
原語可以攜帶參數,如連接請求原語的參數肯恩公之命他搖勻阿台機器連接,需要什麼服務類別等。連接指示原語的參數肯恩公包含呼叫者的表示、需要服務的類別等。被呼叫實體可以在響應原語中的參數里表示同意或不同意連接,若同意,則肯恩公對某些參數給出協商制,比如最大數據吞吐量等。ISO 定義的運輸服務包括了4種類型共10個運輸服務原語。
② 形象的解釋一下服務原語是什麼(計算機網路)
服務原語
原 語 意 義
請求(R e q u e s t) 用戶實體要求服務做某項工作
指示(I n d i c a t i o n) 用戶實體被告知某事件發生
響應(R e s p o n s e) 用戶實體表示對某事件的響應
確認(C o n f i r m) 用戶實體收到關於它的請求的答復
第1類原語是「請求」(r e q u e s t)原語,服務用戶用它促成某項工作,如請求建立連接和發送
據。服務提供者執行這一請求後,將用「指示」(i n d i c a t i o n)原語通知接收方的用戶實體。例
,發出「連接請求」(C O N N E C T _ r e q u e s t)原語之後,該原語地址段內所指向的接收方的對等
體會得到一個「連接指示」(C O N N E C T _ i n d i c a t i o n)原語,通知它有人想要與它建立連接。接
到「連接指示」原語的實體使用「連接響應」(C O N N E C T _ r e s p o n s e)原語表示它是否願意接
建立連接的建議。但無論接收方是否接受該請求,請求建立連接的一方都可以通過接收「連接
認」(C O N N E C T _ c o n f i r m)原語而獲知接收方的態度(事實上傳輸層以及其他層的服務用戶要
絕建立連接請求不是採用C O N N E C T _ r e s p o n s e原語而是採用D I S C O N N E C T _ r e q u e s t原語)。
原語可以帶參數,而且大多數原語都帶有參數。「連接請求」原語的參數可能指明它要與哪
機器連接、需要的服務類別和擬在該連接上使用的最大報文長度。「連接指示」原語的參數可
包含呼叫者的標志、需要的服務類別和建議的最大報文長度。如果被呼叫的實體不同意呼叫
體建立的最大報文長度,它可能在「連接響應」原語中提出一個新的建議,呼叫方會從「連
接確認」原語中獲知。這一協商過程的細節屬於協議的內容。例如,在兩個關於最大報文長度
的建議不一致的情況下,協議可能規定選擇較小的值。
服務有「有確認」和「無確認」之分。有確認服務,包括「請求」、「指示」、「響應」和
「確認」4個原語。無確認服務只有「請求」和「指示」兩個原語。建立連接的服務總是有確認
服務,可用「連接響應」作肯定應答,表示同意建立連接;或者用「斷連請求」
(D I S C O N N E C T _ r e q u e s t)表示拒絕,作否定應答。數據傳送既可以是有確認的也可是無確認的,
這取決於發送方是否需要確認。
為了使服務原語的概念更具體化一些,我們將考查一個簡單的面向連接服務的例子。它使
用了下述8個服務原語:
1) 連接請求:服務用戶請求建立一個連接。
2) 連接指示:服務提供者向被呼叫方示意有人請求建立連接。
3) 連接響應:被呼叫方用來表示接受建立連接的請求。
4) 連接確認:服務提供者通知呼叫方建立連接的請求已被接受。
5) 數據請求:請求服務提供者把數據傳至對方。
6) 數據指示:表示數據的到達。
7) 斷連請求:請求釋放連接。
8) 斷連指示:將釋放連接請求通知對等端。
在本例中,連接是有確認服務(需要一個明確的答復),而斷連是無確認的(不需要應答)。
與電話系統作一比較,也許有助於理解這些原語是如何應用的。請考慮一下打電話邀請你的姑
姑到家來喝茶的步驟:
1) 連接請求:撥姑姑家的電話號碼。
2) 連接指示:她家的電話鈴響了。
3) 連接響應:她拿起電話。
4) 連接確認:你聽到響鈴停止。
5) 數據請求:你邀請她來喝茶。
6) 數據指示:她聽到了你的邀請。
7) 數據請求:她說她很高興來。
8) 數據指示:你聽到她接受邀請。
9) 斷連請求:你掛斷電話。
10) 斷連指示:她聽到了,也掛斷電話。
用一系列服務原語來表示上述各步。每一步都涉及其中一台計算機內兩層之間的信息
交換。每一個「請求」或「響應」稍後都在對方產生一個「指示」或「確認」動作。本例中服
務用戶(你和姑姑)在N + 1層,服務提供者(電話系統)在N層。
服務和協議常常被混淆,而實際上二者是迥然不同的兩個概念。為此我們再強調一下兩者
的區別。服務是網路體系結構中各層向它的上層提供的一組原語(操作)。盡管服務定義了該層
能夠代表它的用戶完成的操作,但絲毫也未涉及這些操作是如何實現的。服務描述兩層之間的
介面,下層是服務提供者,上層是服務用戶。而協議是定義同層對等實體間交換幀、數據包的格式和意義的一組規則。網路各層實體利用協議來實現它們的服務。只要不改變提供給用戶的
服務和介面,實體可以隨意地改變它們所使用的協議。這樣,服務和協議就完全被分離開來。
在O S I參考模型之前的很多網路並沒有把服務從協議中分離出來,造成網路設計的困難,現在人
們已經普遍承認這樣的設計是一種重大失策。