基本介紹
ISO FTAM:檔案傳輸訪問和管理協定 (ISO FTAM:File Transfer Access and Management protocol),屬於 ISO 套用協定,專門用於在開放環境下為客戶機(Initiator 發起端)和伺服器(Responder 回響端)系統提供
檔案傳輸服務。FTAM協定是建立在OSI協定棧上,屬於OSI套用層的協定,它是由國際標準化組織(ISO)制定的標準協定,與
TCP/IP中的檔案傳輸協定
FTP和網路檔案系統
NFS相類似,FTAM的提出目標是利用其較好的兼容性幫助用戶訪問不同系統的檔案。
在FTAM系統中,伺服器要維護有關用戶和會話的面向連線的信息,直到會話結束。系統間檔案的傳輸首先要建立一個面向連線的會話。
由於FTAM涉及的檔案存儲於OSI開放系統中,而且各開放實系統中檔案系統的實現細節也不相同,例如UNIX系統的檔案被看成是無結構的字元流,而IBM MVS系統中的檔案結構則是記錄的序列,因此要在不同的系統之間傳送、訪問和管理檔案就要進行轉換。這就是ISO 8571規定的檔案傳送、訪問和管理(FTAM)標準。為了解決網路環境下的檔案傳送問題,禁止各系統的不同細節,實現透明傳送,在FTAM中定義了一個標準的檔案系統模型,該模型又稱為虛擬檔案存儲器。在每個系統中配置一個本地實檔案和標準檔案模型之間的映射機構。當套用進程要將檔案傳送至遠地系統的套用進程時,需要先將本地檔案系統中的實檔案映射為標準檔案後再傳送;目的方將收到的標準檔案映射為本地檔案系統中的實檔案。兩者之在FTAM利用套用層進行聯繫控制,使用表示層服務來解決檔案傳送中的編碼差異使用會話層服務提供傳送會話控制和同步。
FTAM與OSI
開放系統互聯(OSI,Open Systems Intercoimection)參考模型描述了信息如何從一台計算機的套用層軟體通過網路媒體傳輸到另一台計算機的套用層軟體中,它是由七層協定組成的概念模型,每一層說明了特定的網路功能。OSI參考模型是在1984年由國際標準化組織(ISO,Intercormectionfor Standardizafion)發布的,現在已被公認為計算機互聯通信的基本體系統結構模型。OSI參考模型把網路中計算機之間的信息傳遞分成七個小的易於管理的層,OSI的七層協定分別執行一個(或一組)任務,各層問相對獨立,互不影響。下面是OSI參考模型的七個層次:
第七層……套用層 | 第六層……表示層 |
第五層……會話層 | 第四層……傳輸層 |
第三層……網路層 | 第二層……數據鏈路層 |
第一層……物理層 | |
OSI參考模型的低層負責處理數據傳輸問題,物理層和數據鏈路層是由硬體和軟體共同實現的,而其它層通常只是用軟體來實現。最底層(物理層)最接近於物理網路介質(如網路電纜),它的職責就是將信息放置到介質上。OSI參考模型為計算機之間的通信提供基本框架。但模型本身不是通信方法,只有通過通信協定才能實現實際的通信。在數據網路中,協定(protocol)是控制計算機在網路介質上進行信息交換的規則和約定。一個協定實現OSI的一層或多層功能。目前已有眾多通信協定,FTAM就是其中一種,它包含了OSI全部七層的功能。
物理層
在網路中,物理層為執行,維護和終止物理鏈路定義了電子,機械,過程及功能的規則。物理層具體定義了諸如電位級別,電位變化間隔,物理數據率,最大傳輸距離和物理互聯裝置特性。
數據鏈路層
數據鏈路層通過物理網路鏈路提供可靠數據傳輸。不同的數據鏈路層定義了不同的網路和協定特性,其中包括物理編址,網路拓撲結構,錯誤校驗,幀序列以及流控。物理編址(相對應的是網路編址)定義了設備在數據鏈路層的編址方式;網路拓撲結構包括數據鏈路層的說明,該說明常常定義了設備的物理連線方式,如匯流排拓撲結構或拓撲結構;錯誤校驗向發生傳輸錯誤的上層協定告警;數據幀序列重新整理並蘇秋野:基於FTAM協定的電信數據處理系統傳輸除序列以外的幀;流控可以延數據的傳輸能力,以使接收設備不會因為在某一時接收到了超過其處理能力的信息流而崩潰。
網路層
網路層提供路由選擇及其相關的功能,這些功能使得多個數據鏈路被合併到網際網路上,這是通過設備的邏輯編址(相對應的是物理編址)完成的。FTAM與之對應的參數為NET ADDRESS即交換機的ntn參數來進行編碼並做為網路中的唯一標識,且作為連線時的判斷條件。
傳輸層
傳輸層實現了向高層傳輸可靠的網際網路數據的服務。對於FTAM與之對應的參數為T_SEL。
表示層
表示層提供多種用於套用層數據的編碼和轉化功能。以確保從一個系統套用層傳送的信息可以被另一系統的套用層識別。FTAM與之對就的參數為S_SEL。
套用層
套用層是晟接近終端用戶的OSI層,這就意味著OSI套用層與用戶之間是通過軟體直接相互作用的。FTAM與之應的參數為P_SEL。
服務類型
傳輸服務類,支持檔案或部分檔案之間的交換。通常包括簡單基本檔案傳輸作業,支持單操作行為。
訪問服務類,支持啟動系統在獨立或整個檔案上執行相關操作。
管理服務,支持虛擬檔案存儲上的用戶控制功能,以創建或刪除檔案、讀和修改屬性等。
傳輸-管理服務類綜合傳輸服務類及其它有限檔案管理功能單元能力,支持目錄導航(DirectoryNavigation)和簡單功能。
協定結構
功能單元
所有命令採用 ASN.1 信息格式。FTAM 了定義以下各功能單元:
(1)核心功能單元 (Kernel Functional Unit);
(2)讀功能單元 (Read Functional Unit);
(3)寫功能單元 (Write Functional Unit);
(4)檔案訪問功能單元 (File Access Functional Unit);
(5)受限檔案管理功能單元 (Limited File Management Functional Unit);
(6)增強檔案管理功能單元 (Enhanced File Management Functional Unit);
(7)分組功能單元 (Grouping Functional Unit);
(8)FADU 鎖定功能單元 (FADU Locking Functional Unit);
(9)恢復功能單元 (Recovery Functional Unit);
(10)重啟功能單元 (Restart Functional Unit)。
用戶設施
FTAM 包含以下關於本地和遠程檔案操作的主要用戶設施:
(1)FTAM 附加設施 (APPEND/APPLICATION_PROTOCOL=FTAM): 通過該設施,在單個 FTAM 應用程式中或兩個 FTAM 應用程式之間,用戶可以附加一個或多個輸入檔案到單個輸出檔案中;
(2)FTAM 複製設施 (COPY/APPLICATION_PROTOCOL=FTAM):通過該設施,在單個 FTAM 應用程式中或兩個 FTAM 應用程式之間,用戶可以複製一個或多個輸入檔案到單個輸出檔案上;
(3)FTAM 刪除設施 (DELETE/APPLICATION_PROTOCOL=FTAM):通過該設施,用戶可以刪除檔案;
(4)FTAM 目錄設施 (DIRECTORY/APPLICATION_PROTOCOL=FTAM):通過該設施,通話可以顯示一個或多個檔案屬性;
(5)FTAM 重命名設施 (RENAME/APPLICATION_PROTOCOL=FTAM):通過該設施,用戶可以對檔案重命名。
工作原理
FTAM檔案讀取結構
按照檔案的存取結構來區分,有順序檔案、索引順序檔案、層次檔案、網狀檔案等。FTAM中檔案的存取結構是一種分層結構,它是一棵有序樹,每個結點都含有結點名和結構信息,還分配零個或一個包含數據信息的數據單元DU,即意味意每個節點可以擁有屬於自己的數據單元,也可以沒有數據單元,在通常情況下沒有數據單元的節點一般會擁有自己的下級節點或是整個數據的未級節點。在訪問的過層中通過全樹遍歷的方式進行檔案讀取或其它已經定義的操作,其中節點信息不包含在數據單元DU當中。
FTAM檔案表示結構
表示結構描述了在檔案存取結構中定義的數據單元DU(數據單元)的抽象語法。按照表示結構,數據單元是由一個或多個用抽象語法描述的數據元素組成。ISO規定用抽象語法表示法ASN.1來描述存儲在檔案中的信息內容。
FATM數據單元傳送結構
傳送結構描述在通信時FDAU的串列化,即FDAU的順序性。傳送結構規定了一個結構化檔案用串列的數據元素傳送時的方法。例如:
FADU-Identity::=[APPLICATION 15] CHOICE{
first-last[0]IMPLICIT INTEGER{ftrst(0), last(1)},
relative[1]IMPLICIT INTEGER{previous(0), current(1), next(2)},
begin-end[2]IMPLICIT INTEGER{begin(0), end(1)},
single-name[3]IMPLICIT Node-Name,
name-list [4]IMPLICIT SEQUENCE OF Node-Name,
fadu—number[5]IMPLICIT INTEGER}
FTAM標識結構
標識結構描述在檔案存取結構中結點的命名和被傳送的FDAU的標識。按FTAM規定的標識方法,既可對樹中結點進行順序訪問,也可對樹中任一結點進行隨即訪問。
在一個虛擬檔案存儲器中可能包含任意數目的檔案,每個檔案的性能由一組檔案屬性值決定,這些屬性值是全局性的。檔案的屬性代表檔案本身的特性,使得一個檔案能夠區別於一堆數據。虛擬檔案存儲器定義了兩類檔案屬性:
(1)檔案標識屬性:表示檔案本身的性質,檔案標識屬性包括檔案名稱、檔案標識、檔案類型、檔案大小、創建者標識、修改者標識以及檔案創建時間和修改時間等。
(2)檔案活動屬性:主要涉及檔案在存取、傳送和管理過程中的一些信息,它具有動態的性質,在FTAM會話之外沒有意義。
FTAM的虛擬檔案存儲器還定義了對檔案的操作,這些操作分為兩大類:對檔案整體的操作和對檔案內容(或組成成分)的操作。下面列出了FTAM中定義的檔案操作:
FilePDU::=CHOICE{
| |
f-select-request
| [6]F-SELECT-request
|
f-select-response
| [7]F-SELECT-response
|
f-deselect-request
| [8]F-DESELECT-request
|
f-deselect-response
| [9]F-DESELECT-response
|
f-create-request
| [10]F-CREATE-request
|
f-create-response
| [11]F-CREATE-response
|
f-delete-request
| [12]F-DELETE-request
|
f-delete-response
| [13]F-DELETE-response
|
f-read-attrib-request
| [14]F-READ-ATTRIB-request
|
f-read-attrib-response
| [15]F-READ-ATTRIB-response
|
f-change-attrib-request
| [16]F-CHANGE-ATTRIB-request
|
f-change-attrib-response
| [17]F-CHANGE-ATTRIB-response
|
f-open-request
| [18]F-OPEN-request
|
t-open-response
| [19]F-OPEN-response
|
f-close-request
| [20]F-CLOSE-request
|
f-close-response
| [21]F-CLOSE-response
|
f-begin-group-request
| [22]F-BEGIN-GROUP-request
|
f-begin-group-response
| [23]F-BEGIN-GROUP-response
|
f-end-group-request
| [24]F-END-GROUP-request
|
f-end-group-response
| [25]F-END-GROUP-response
|
f-recover-request
| [26]F-RECOVER-request
|
f-recover-response
| [27]F-RECOVER-response
|
f-locate-request
| [28]F-LOCATE-request
|
f-locate-response
| [29]F-LOCATE-response
|
f-erase-request
| [30]F-ERASE-request
|
f-erase-response
| [31]F-ERASE-response}
|