RFC2204 - ODETTE File Transfer Protocol(3)

时间:2005-02-15 来源: 作者: 点击:
D | 1 F_ABORT_IND(Received | ESID Reason,AO=D) | N_DISC_RQ IDLE ---+----------------------------------------------------------------- E | 4 F_EERP_IND | 8 See Note 2 | RTR IDLELI ---+----------------
  
D | 1 F_ABORT_IND(Received
| ESID Reason,AO=D)
| N_DISC_RQ IDLE
---+-----------------------------------------------------------------
E | 4 F_EERP_IND
| 8 See Note 2
| RTR IDLELI
---+-----------------------------------------------------------------
F | 1 F_RELEASE_IND
| N_DISC_RQ IDLE
---+-----------------------------------------------------------------
G | F_EERP_IND
| 8 See Note 2
| RTR IDLELI
---+-----------------------------------------------------------------
H | P4: User Error UE
| P2,not P4: 1,2 SFPA OPI
| not(P2,P4): 1,2 SFNA IDLELI
---+-----------------------------------------------------------------
I | P5: 1,2 ESID(R=02)
| F_ABORT_IND(R,A0=L) WF_NDISC
| not(P5,P6): 1,2,5 F_DATA_IND OPI
| not P5,P6: 1,2 F_DATA_IND
| 6,7 See Note 1
| CDT OPI
---+-----------------------------------------------------------------
J | 1,2 F_CLOSE_FILE_IND CLIP
---+-----------------------------------------------------------------
K | P2,P3: 1,2 EFPA(CD-Req) WF_CD
| P2,not P3: 1,2 EFPA(no CD) IDLELI
| not P2: 1,2 EFNA IDLELI
---+-----------------------------------------------------------------
U | User Error UE
---------------------------------------------------------------------

8.12.3 Predicates and Actions.

Predicate P1: (I.SFID.Restart-pos > 0) AND (V.Restart = No)

Note: Invalid Start File command

Predicate P2: Positive Response

Predicate P3: I.F_CLOSE_FILE_RS(+).Speaker = Yes

Predicate P4: I.F_START_FILE_RS(+).Restart-pos > V.Restart

Predicate P5: V.Credit_L - 1 < 0

Note: Protocol Error because the Speaker has exceeded it's
available transmission credit.

Predicate P6: V.Credit_L - 1 = 0

Note: The Speaker's credit must be reset before it can send
further Data Exchange buffers.

Action 1: Stop inactivity timer.

Action 2: Start inactivity timer

Action 3: Build F_START_FILE_IND from I.SFID
V.Restart-pos = I.SFID.Restart-pos

Action 4: Build F_EERP_IND from I.EERP

Action 5: V.Credit_L = V.Credit_L - 1

Action 6: Wait for sufficient resources to receive up to
V.Window Data Exchange Buffers.

Action 7: V.Credit_L = V.Window

Action 8: Wait for resources required to process a new EERP.

Note 1: Flow control in case of reception.

The ODETTE-FTP Listener must periodically send new
credit to the Speaker. The timing of this operation
will depend on:

1. The User Monitor's capacity the receive data.
2. The number of buffers available to ODETTE-FTP.

3. The Speaker's available credit, which must be
equal to zero.

Note 2: Generally, the ODETTE-FTP Listener will send RTR
immediately after receiving EERP. If required, it can
delay the RTR until the resources required to process
a new EERP are available.

8.13 Example

Consider an ODETTE-FTP entity that has sent a Start File (SFID)
command and entered the Open Out Pending (OPOP) state. It's response
on receiving a Positive Answer (SFPA) is documented in Speaker State
Table 1 which shows that transition 'K' should be applied and is
interpreted as follows:

if (I.SFPA.Restart-pos > V.Restart-pos) then
begin // invalid restart
Actions: Stop inactivity timer, // reset timer
Start inactivity timer;
Output: ESID(R=02), // to peer ODETTE-FTP
F_ABORT_IND(R,AO=L); // to user monitor
New State: WF_NDISC;
end
else begin
Actions: Stop inactivity timer, // reset timer
Start inactivity timer;
Build F_START_FILE_CF(+) from I.SFPA
V.Credit_S = V.Window // initialise credit
Output: F_START_FILE_CF(+); // to user monitor
New State: OPO;
end

The ODETTE-FTP checks the restart position in the received Start File
Positive Answer (SFPA) command. If it is invalid it aborts the
session by sending an End Session (ESID) command to it's peer and an
Abort indication (F_ABORT_IND) to it's User Monitor. If the restart
position is valid a Start File confirmation (F_START_FILE_CF) is
built and sent to the User Monitor, the credit window is initialised
and the Open Out (OPO) state is entered.

9. Security Considerations

ODETTE-FTP exchanges user identity and password information in clear
text. It is therefore recommended that a lower layer (session,
network or linkage) security protocol is used to protect the session
from casual identity collection.

Appendix A. Virtual File Mapping Example

This example demonstrates the mapping of a Virtual File into a
sequence of ODETTE-FTP Data Exchange Buffers and shows how each
Stream Transmission Buffer is built from an ODETTE-FTP Data Exchange
Buffer prefixed by a Stream Transmission Header.

Each line in this extract from 'The Hunting of the Snark' by Lewis
Carroll [SNARK] is considered to be a separate record in a file
containing variable length records. Note that it does not represent
a text file and CR/LF record separators are not used. The blank line
is represented by a zero length record.

"It's a Snark!" was the sound that first came to their ears,
And seemed almost too good to be true.
Then followed a torrent of laughter and cheers:
Then the ominous words "It's a Boo-"

Then, silence. Some fancied they heard in the air
A weary and wandering sigh
Then sounded like "-jum!" but the others declare
It was only a breeze that went by.

Assuming that the minimum exchange buffer length of 128 octets has
been negotiated the result of mapping the text into Stream
Transmission Buffers may be as follows.

Stream Transmission Buffer 1

Text : ....D."It' s a Snark! " was the sound that first cam
Hex-H : 10084B2472 7262566762 2276727662 7676627667 2667772666
Hex-L : 00044C2947 30103E12B1 2071304850 3F5E404814 069234031D
Key : ----D!.... .......... .......... .......... ..........

Text : e to their ears,. .A nd seemed almost too good to b
Hex-H : 6276276667 26677242A4 6627666662 6666772766 2666627626
Hex-L : 504F048592 05123C5061 E40355D540 1CDF3404FF 07FF404F02
Key : .......... ......!.!. .......... .......... ..........

Text : e true..Th en followe d a torren t
Hex-H : 6277762156 6626666676 6262767766 72
Hex-L : 504255E848 5E06FCCF75 40104F225E 40
Key : .......!.. .......... .......... ..

Text : ....D.of l aughter an d cheers:. .Then the ominous w
Hex-H : 1007496626 6766767266 6266667734 2A56662766 2666667727
Hex-L : 000847F60C 157845201E 40385523A5 04485E0485 0FD9EF5307
Key : ----D!.... .......... .........! .!........ ..........

Text : ords "It's a Boo-".. Then, sile nce. Some fancied t
Hex-H : 6767224727 262466228B 5666227666 6662225666 2666666627
Hex-L : F243029473 0102FFD202 485EC039C5 E35E003FD5 061E395404
Key : .......... ........!! .......... .......... ..........

Text : hey heard in the air
Hex-H : 6672666762 6627662667
Hex-L : 8590851240 9E04850192
Key : .......... ..........

Stream Transmission Buffer 3

Text : ....D. .A weary and wandering sigh.Then sounded li
Hex-H : 1007442942 7667726662 7666676662 7666B56662 7676666266
Hex-L : 0008450A10 7512901E40 71E4529E70 39780485E0 3F5E4540C9
Key : ----D!.!.. .......... .......... ....!..... ..........

Text : ke "-jum!" but the o thers decl are. .It w as only a
Hex-H : 6622267622 2677276626 7667726666 67642A4727 6726667262
Hex-L : B502DA5D12 025404850F 485230453C 1255029407 130FEC9010
Key : .......... .......... .......... ...!.!.... ..........

Text : breeze tha t went by.
Hex-H : 6766762766 7276672672
Hex-L : 2255A50481 4075E4029E
Key : .......... ..........

Notes:
Hex-H High order bits of octet
Hex-L Low order bits of octet
Key: ---- Stream Transmission Header
D Data Exchange Buffer command code 'D'
! Subrecord header octet
. Place holder
All headers are represented with a period in the Text line.

Each Data Exchange Buffer is preceded by a Stream Transmission
Header.

In the above mapping the first Data Exchange Buffer is 128 octets in
length. The last record has been continued in the second buffer.

The second Data Exchange Buffer has been truncated at 116 octets to
finish at the end of a record. The following record being completely
contained in the third buffer. This is an alternative to spanning
the record as shown between the first and second Data Exchange
Buffers.

The blank line has been encoded as a single header octet of '80' hex,
indicating a zero length subrecord with the end of record flag set.

The indented lines have been compressed.

Appendix B. ISO 646 Character Subset

o-----------------------------------------------------------------o
| | 7| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| | B -+-----+-----+-----+-----+-----+-----+-----+-----|
| | I 6| 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| | T -+-----+-----+-----+-----+-----+-----+-----+-----|
| | 5| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| |----+-----+-----+-----+-----+-----+-----+-----+-----|
| | | | | | | | | | |
| | | | | | | | | | |
|------------| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| BIT | | | | | | | | | |
| 4 3 2 1 | | | | | | | | | |
|============o====o=====+=====+=====+=====+=====+=====+=====+=====|
| 0 0 0 0 | 0 | | | SP | 0 | | P | | |
|------------|----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 0 0 1 | 1 | | | | 1 | A | Q | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 0 1 0 | 2 | | | | 2 | B | R | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 0 1 1 | 3 | | | | 3 | C | S | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 1 0 0 | 4 | | | | 4 | D | T | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 1 0 1 | 5 | | | | 5 | E | U | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 1 1 0 | 6 | | | & | 6 | F | V | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 0 1 1 1 | 7 | | | | 7 | G | W | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 0 0 0 | 8 | | | ( | 8 | H | X | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 0 0 1 | 9 | | | ) | 9 | I | Y | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 0 1 0 | 10 | | | | | J | Z | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 0 1 1 | 11 | | | | | K | | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 1 0 0 | 12 | | | | | L | | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 1 0 1 | 13 | | | - | | M | | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 1 1 0 | 14 | | | . | | N | | | |
|------------+----|-----+-----+-----+-----+-----+-----+-----+-----|
| 1 1 1 1 | 15 | | | / | | O | | | |
o-----------------------------------------------------------------o

Acknowledgements

This document draws extensively on revision 1.3 of the ODETTE File
Transfer Specification [OFTP].

Numerous people have contributed to the development of this protocol
and their work is hereby acknowledged. The extensions required to
utilise the Transmission Control Protocol were formulated and agreed
by the current members of ODETTE Working Group Four, who also
provided helpful reviews and comments on this document.

References

[OFTP] Organisation for Data Exchange by Tele Transmission in
Europe, Odette File Transfer Protocol, Revision 1.3:1993

[RFC-739] Postel, J., Transmission Control Protocol, STD 7, RFC739,
September 1981

[ISO-646] International Organisation for Standardisation, ISO
Standard 646:1991, "Information technology -- ISO 7-bit coded
character set for information interchange", 1991

[ISO-6523] International Organisation for Standardisation, ISO
Standard 6523:1984, "Data interchange -- Structures for the
identification of organisations", 1984

[ISO-8601] International Organisation for Standardisation, ISO
Standard 8601:1988 "Data elements and interchange formats --
Information interchange -- Representation of dates and times", 1988

[NIFTP] High Level Protocol Group, "A Network Independent File
Transfer Protocol", 1981

[SNARK] Carroll, Lewis "The Hunting of the Snark", 1876

ODETTE Address

The ODETTE File Transfer Protocol is a product of Working Group Four
of the Organisation for Data Exchange by Tele Transmission in Europe.
The working group can be contacted via the ODETTE Secretariat:

ODETTE Secretariat
Forbes House
Halkin Street
London
SW1X 7DS
United Kingdom

Phone: +44 (0)171 344 9227
Fax: +44 (0)171 235 7112
EMail odette@odette.org
keith.oxley@odette.org
stephanie.bioux@odette.org

Author's Address

The author can be contacted at

David Nash
Ford Motor Company Limited
Room 1/148, Central Office
Eagle Way
Warley
Brentwood
Essex
CM13 3BW
United Kingdom

Phone: +44 (0)1277 253043
EMail: dnash@ford.com
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容