📄 rfc2204.txt
字号:
Network Working Group D. NashRequest for Comments: 2204 ODETTECategory: Informational September 1997 ODETTE File Transfer ProtocolStatus of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.Abstract This memo describes a file transfer protocol to facilitate electronic data interchange between trading partners. The protocol, denoted the ODETTE File Transfer Protocol, supports both direct communication between installations and indirect communication via a third party clearing centre. It was developed by the Organisation for Data Exchange by Tele Transmission in Europe to facilitate communication within the European motor industry and is presented here to allow for wider use within the Internet community.Table of Contents 1. Introduction 3 1.1 - Background 3 1.2 - Relationship to the original ODETTE Standard 3 1.3 - General Principles 3 1.4 - Structure 4 1.5 - Virtual Files 4 1.6 - Service Description 7 2. Network Service (TCP Transport Service) 7 2.1 - Introduction 7 2.2 - Service Primitives 7 2.3 - Port Assignment 9 3. File Transfer Service 9 3.1 - Model 10 3.2 - Session Setup 11 3.3 - File Transfer 13 3.4 - Session Take Down 16 3.5 - Service State Automata 19Nash Informational [Page 1]RFC 2204 ODETTE File Transfer Protocol September 1997 4. Protocol Specification 22 4.1 - Overview 22 4.2 - Start Session Phase 22 4.3 - Start File Phase 23 4.4 - Data Transfer Phase 26 4.5 - End File Phase 27 4.6 - End Session Phase 27 4.7 - Problem Handling 28 5. Commands and Formats 28 5.1 - Conventions 28 5.2 - Commands 29 5.3 - Command Formats 29 5.4 - Identification Code 45 6. ODETTE-FTP Data Exchange Buffer 46 6.1 - Overview 46 6.2 - Data Exchange Buffer Format 46 6.3 - Buffer Filling Rules 47 7. Stream Transmission Buffer (TCP only) 47 7.1 - Introduction 47 7.2 - Stream Transmission Header Format 49 8. Protocol State Machine 50 8.1 - ODETTE-FTP State Machine 50 8.2 - Error Handling 50 8.3 - States 51 8.4 - Input Events 53 8.5 - Output Events 54 8.6 - Local Variables 55 8.7 - Local Constants 55 8.8 - Session Connection State Table 56 8.9 - Error and Abort State Table 58 8.10 - Speaker State Table 1 59 8.11 - Speaker State Table 2 63 8.12 - Listener State Table 65 8.13 - Example 68 9. Security Considerations 68 Appendix A Virtual File Mapping Example 69 Appendix B ISO 646 Character Subset 72 Acknowledgements 73 References 73 ODETTE Address 74 Author's Address 74Nash Informational [Page 2]RFC 2204 ODETTE File Transfer Protocol September 19971. Introduction1.1 Background The ODETTE File Transfer Protocol (ODETTE-FTP) was defined in 1986 by working group four of the Organisation for Data Exchange by Tele Transmission in Europe (ODETTE) to address the electronic data interchange (EDI) requirements of the European automotive industry. It was designed in the spirit of the Open System Interconnection (OSI) model utilising the Network Service provided by the CCITT X25 recommendation. Over the last ten years ODETTE-FTP has been widely deployed on systems of all sizes from personal computers to large mainframes. As a result of the wide scale deployment of internet technology and the trend towards global business practices, ODETTE has decided to extend the scope of it's file transfer protocol to allow the use of TCP/IP and to make the protocol available to the Internet community. This memo describes the ODETTE-FTP protocol using the Transmission Control Protocol for it's network service.1.2 Relationship to the original ODETTE Standard This memo is an interpretation of version 1.3 of the ODETTE File Transfer Protocol [OFTP]. In the event of any ambiguity between this document and the original ODETTE-FTP, the original shall take precedence. For ODETTE-FTP on TCP/IP the following sections have been added with respect to the original document. Section 2 - Network Service Section 7 - Stream Transmission Buffer Appendix A - Virtual File mapping example1.3 General Principles The aim of the ODETTE-FTP is to facilitate the transmission of a file between one or more locations in a way that is independent of the data communication network, system hardware and software environment. In designing and specifying the protocol, the following factors were considered. 1. The possible differences of size and sophistication (file storage, small and large systems).Nash Informational [Page 3]RFC 2204 ODETTE File Transfer Protocol September 1997 2. The necessity to work with existing systems (reduce changes to existing products and allow easy implementation). 3. Systems of different ages. 4. Systems of different manufactures. 5. The potential for growth in sophistication (limit impact and avoid changes at other locations).1.4 Structure ODETTE-FTP is modelled on the OSI reference model. It is designed to use the Network Service provided by level 3 of the model and provide a File Service to the users. Thus the protocol spans levels 4 to 7 of model. The description of the ODETTE-FTP contained in this memo is closely related to the original 'X.25' specification of the protocol and in the spirit of the OSI model describes: 1. A File Service provided to a user monitor. 2. A protocol for the exchange of information between peer ODETTE-FTP entities. A major consideration in adapting the protocol to use the Transmission Control Protocol (TCP) was the desire to make no changes to the existing protocol by adding the functionality required to allow implementors to support internet communication with only minor changes to existing ODETTE-FTP engines. To this end an additional header has been added to the start of each exchange buffer to allow the TCP byte stream to be broken up into the discrete exchange buffers expected by the ODETTE-FTP protocol.1.5 Virtual Files Information is always exchanged between ODETTE-FTP entities in a standard representation called a Virtual File. This allows data transfer without regard for the nature of the communicating systems. The mapping of a file between a local and virtual representation will vary from system to system and is not defined here.Nash Informational [Page 4]RFC 2204 ODETTE File Transfer Protocol September 1997 o---------o Site | Local | A | File A | o---------o | o----------------------- Mapping A ------------------------o | | | | o---------o | | | Virtual | | | | File | | | o---------o | | o------------------------------------------------o | | | | | | | ODETTE-FTP | | | | | | | o------------------------------------------------o | | o---------o o---------o | | | Virtual | | Virtual | | | | File | | File | | | o---------o o----+----o | | | | | o------ Mapping B ------------------------ Mapping C ------o | | o---------o o----+----o | Local | Site Site | Local | | File B | B C | File C | o---------o o---------o A Virtual File is described by a set of attributes identifying and defining the data to be transferred. The main attributes are:1.5.1 Organisation: Sequential Logical records are presented one after another. The ODETTE-FTP must be aware of the record boundaries.1.5.2 Identification Dataset Name Dataset name of the Virtual File being transfered, assigned by bilateral agreement.Nash Informational [Page 5]RFC 2204 ODETTE File Transfer Protocol September 1997 Time stamp (HHMMSS) A file qualifier indicating the time the Virtual File was made available for transmission. Date stamp (YYMMDD) A file qualifier indicating the date the Virtual File was made available for transmission. The Dataset Name, Date and Time attributes are assigned by a Virtual File's Originator and are used to uniquely identify the file. They must not be changed by intermediate locations. The Date attribute represents the decade and year in a two digit field. Since the ODETTE-FTP only uses this information to identify a particular Virtual File it will continue to operate correctly in the year 2000 and beyond. The User Monitor may use the Virtual File Date attribute in local processes involving date comparisons and calculations. Any such use falls outside the scope of this protocol and year 2000 handling is a local implementation issue.1.5.3 Record Format Four record formats are defined. Fixed (F) Each record in the file has the same length. Variable (V) The records in the file can have different lengths. Unstructured (U) The file contains a stream of data. No structure is defined. Text File (T) A Text File is defined as a sequence of ASCII characters, containing no control characters except CR/LF which delimits lines. A line will not have more than 2048 characters.Nash Informational [Page 6]RFC 2204 ODETTE File Transfer Protocol September 19971.5.4 Restart ODETTE-FTP can negotiate the restart of an interrupted Virtual File transmission. Fixed and Variable format files are restarted on record boundaries. For Unstructured and Text files the restart position is expressed as a file offset in 1K (1024 octet) blocks. The restart position is always calculated relative to the Virtual File.1.6 Service Description ODETTE-FTP provides a file transfer service to a user monitor and in turn uses the Internet transport layer stream service to communicate between peers. These services are specified in this memo using service primitives grouped into four classes as follows: Request (RQ) An entity asks the service to do some work. Indication (IND) A service informs an entity of an event. Response (RS) An entity responds to an event. Confirm (CF) A service informs an entity of the response. Services may be confirmed, using the request, indication, response and confirm primitives, or unconfirmed using just the request and indication primitives.2. Network Service (TCP Transport Service)2.1 Introduction
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -