?? 6-7.html
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>6</TITLE>
</HEAD>
<BODY>
<B><FONT FACE="黑體" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626893"><A NAME="_Toc336792979"><A NAME="_Toc336793455"></FONT><FONT FACE="Arial" SIZE=5>6.7 </FONT><FONT FACE="黑體" LANG="ZH-CN" SIZE=5>服務的質量(</FONT><FONT FACE="Arial" SIZE=5>QOS</FONT><FONT FACE="黑體" LANG="ZH-CN" SIZE=5>)</A></A></A></P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>機制是從</FONT><FONT SIZE=3>Craig Partridge</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在</FONT><FONT SIZE=3>RFC 1363</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中描述的流規格引入的。這一概念可以大致描述如下:</P>
<P ALIGN="JUSTIFY">	流規格描述了一個網絡上單向數據流的性質的集合。應用程序可以在調用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數發出連接請求或者使用</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數等其他</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>命令時,把一對流規格和一個套接口連接(一個規范對應了一個方向)。流規格以參數方式聲明了應用程序所要求的服務的級別,并且為應用程序適應不同的網絡條件提供了一套反饋機制-如果應用程序要求的服務級別不能達到,應用程序是否愿意松動它的要求。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>的使用模型如下:</P>
<P ALIGN="JUSTIFY">	對于基于連接的傳輸服務,應用程序可以很方便的在使用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數提出連接請求時規定它所要求的服務質量(</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)。要注意的是:如果應用程序在調用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>時</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>參數不為空,那么對于基于連接的套接口,任何預先設置的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>都會被覆蓋。如果</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數成功返回,應用程序就會知道它所要求的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>已經被網絡接受,那么應用程序就可以隨意的使用這個套接口進行數據交換。如果連接操作由于資源有限而失敗,應用程序應該適當地降低它所要求的服務質量或者干脆就放棄操作。</P>
<P ALIGN="JUSTIFY">	在每次連接企圖之后(不論成功與否),傳輸服務提供者都會更新</FONT><FONT SIZE=3>flow_spec</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構,以便盡可能地指明目前的網絡條件。如果應用程序所要求的服務質量僅僅包含了一些傳輸服務提供者必須滿足的缺省值,那么這種更新會是很有用處的。應用程序可以利用這些關于當前網絡條件的信息來指導自己使用網絡,例如今后的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>要求。然而應用程序應該注意的是,傳輸服務提供者在不斷更新的</FONT><FONT SIZE=3>flow_spec</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構中提供的信息僅僅是一個參考,它們只不過是粗略的估計。應用程序應該很小心的解釋這些數據。</P>
<P ALIGN="JUSTIFY">	無連接的套接口也可以使用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數為一個指定的通訊規定特定的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>級別。</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數也可以用來規定初始的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>要求,或者用來今后的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>協商。</P>
<P ALIGN="JUSTIFY">	即使是一個流規格已經建立,網絡的情況也有可能改變,或者通訊的一方可能提出了</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>重協商的要求,這將導致可以得到的服務級別的降低或者提高。</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>引入了一個通知機制。它使用了一般的</FONT><FONT SIZE=3>WS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>通知方式(</FONT><FONT SIZE=3>FD_QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>FD_GROUP_QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>事件)來告訴應用程序</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>級別已經改變了。一般服務提供者只在當前的服務級別和上一次報告有很大區別(通常是逆向的),并且有可能會影響到應用程序時才發出</FONT><FONT SIZE=3>FD_QOS/FD_GROUP_QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>通知。應用程序應該使用</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數來得到當前的狀態并且檢查服務等級的那些方面有了變化。如果當前的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>級別是不可接受的,應用程序應該調整自己以去適應當前的狀態,試圖重新協商或者關閉套接口。</P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>推薦的流規格把</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>特性劃分為如下幾個方面:</P>
<P ALIGN="JUSTIFY">		</FONT><FONT SIZE=3>1. </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>源通訊描述:應用程序的通訊事件以什么方式被送入網絡。</P>
<P ALIGN="JUSTIFY">		</FONT><FONT SIZE=3>2. </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>延時性:最大延時和可接受的延時變化。</P>
<P ALIGN="JUSTIFY">		</FONT><FONT SIZE=3>3. </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>需要保證的服務級別:應用程序是否要求對服務質量的絕對保證。</P>
<P ALIGN="JUSTIFY">		</FONT><FONT SIZE=3>4. </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>費用:這一項是為將來可以決定有意義的費用時保留的。</P>
<P ALIGN="JUSTIFY">		</FONT><FONT SIZE=3>5. </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>服務提供者特定的參數:流規格可以根據具體的提供者擴展。</P>
<P ALIGN="JUSTIFY"></P></FONT></BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -