�g�b�v�y�[�W - �|��h�L�������g - RFC 959
�����Fftp://ftp.rfc-editor.org/in-notes/rfc959.txt
2006/03/20 0.1.0 ����
�\�[�V�����u�b�N�}�[�N�F
�T�C�g���֘A�����N�F
RFC 2577 FTP �Z�L�����e�B�l�@ (���{���)
���̕����� File Transfer Protocol (FTP) �̌����Ȏd�l�ł���B���̕����̔z�z�͖������ł���B
�{�d�l�̂��̃o�[�W�����ɂ́A�ȉ��̐V�����I�v�V�����R�}���h���܂܂�Ă���F
CDUP (�e�f�B���N�g���Ɉړ�) SMNT (�\���}�E���g) STOU (��ӕۑ�) RMD (�f�B���N�g���폜) MKD (�f�B���N�g���쐬) PWD (�f�B���N�g���\��) SYST (�V�X�e��)
���̎d�l�͉ߋ��̃o�[�W�����ƌ݊����������Ƃɒ��ӂ��Ăق����B
FTP �̖ړI�́A1) �t�@�C��(�R���s���[�^�v���O������f�[�^)�̋��L�𐄐i���邱�ƁA2) �����[�g�R���s���[�^�̊ԐړI���p�܂��͈ÖٓI���p�𐄐i���邱�ƁA3) �z�X�g�Ԃ̃t�@�C���V�X�e���̈Ⴂ���烆�[�U�[��ی삷�邱�ƁA4) �f�[�^���m���������I�ɓ]�����邱�ƁA�ȏ�� 4 �_�ł���BFTP �͒[�����[�U�[�ɂ�钼�ڗ��p���\�����A��Ƀv���O�����ɂ��g�p���Ӑ}���Đv����Ă���B
���̎d�l�̎��݂́A�ŏ�ʃz�X�g�E�Œ�ʃz�X�g�E�p�[�\�i�����[�N�X�e�[�V�����ETAC �̗��p�҂���̗l�X�ȗv�����A�P���ŗe�ՂɎ����ł���v���g�R���v�ɂ���Ė��������Ƃł���B
���̕����� Transmission Control Protocol (TCP) [2] �� Telnet Protocol [3] �̒m����O��Ƃ��Ă���B�����̕����� ARPA-Internet protocol handbook [1] �Ɋ܂܂�Ă���B
���̃Z�N�V�����ł́AFTP �̗��j�E�p��E���f���ɕt���ċc�_����B���̃Z�N�V�����Œ�`����Ă���p��� FTP �ɂ����ē��ʂȈӖ��������̂����ł���B�p��̈ꕔ�� FTP ���f���ɓ������Ă��邽�߁A�ǎ҂͂��̗p��W���Q�Ƃ��Ă���ԂɁuFTP ���f���v�Z�N�V�������Q�Ƃ��Ă��悢�B
FTP �͒��N�ɂ킽����ǂ���Ă����B�t�^ III �� FTP �Ɋ֘A���� RFC �����̗��j�I�ȕҏW���ł���B�����ɂ� 1971 �N�� M.I.T. �̃z�X�g��̎��������ɊJ�����ꂽ�ŏ��̃t�@�C���]�����J�j�Y��(RFC 114)�ƁARFC 141 �ł̃R�����g�Ƌc�_�Ƃ��܂܂�Ă���B
RFC 172 �̓z�X�g�R���s���[�^��(�^�[�~�i�� IMP ���܂�)�̃t�@�C���]���̂��߂̃��[�U�[���x���w���v���g�R��������B�lj��̃��r���[���A���̉���łł��� RFC 265 �� FTP ���X�V�����B�܂�����ŁARFC 281 ������Ȃ�ύX�����������B1982 �N 1 ���ARFC 294 �ɂ����� "�f�[�^�^�ݒ�(Set Data Type)" ��������Ă��ꂽ�B
RFC 354 �� RFC 264 �� RFC 265 �Ƃ�����x��ɂ����BFile Transfer Protocol �͌��� ARPANET ��̃z�X�g�ԂŃt�@�C���]�����s�����߂̃v���g�R���Ƃ��Ē�`����Ă���AFTP �̎�v�ȋ@�\�̓z�X�g�Ԃ̌����I���M���ł���t�@�C���]���ƁA�����[�g�̃t�@�C���X�g���[�W�\�̗͂L�����p���\�ɂ��邱�Ƃƒ�`����Ă���B���⋭�����ׂ��_�A���̃v���g�R���ւ̒lj��ɂ��čX�Ȃ�R�����g�� RFC 385 ���s��������ŁA�ғ����̃T�[�o�[ FTP �ƃ��[�U�[ FTP �ƂɊւ���X�e�[�^�X���|�[�g�� RFC 414 �������B(������ɂ͑��߂��鑼�� RFC �̒��ł�)1973 �N�Ɍ��J���ꂽ RFC 430 �́AFTP �ɕt���Ă���Ȃ�R�����g������B�ŏI�I�� "����(official)" �� FTP ������ RFC 454 �Ƃ��� ���J���ꂽ�B
FTP �̍ŏI�o�[�W�������� 1973 �N 7 ���܂ł̊Ԃɑ����̏d�v�ȕύX���s��ꂽ���A��{�I�\���͓����܂܂ł������B�����̕ύX�f�����V���� "����(official)" �d�l�� RFC 542 �Ƃ��Č��J���ꂽ�B�������Ȃ���Â��d�l�Ɋ�Â��������̎����͍X�V����Ȃ������B
1974 �N�ARFC 607 �� RFC 614 �Ƃ��A�������� FTP �Ɋւ���R�����g���s�����B����Ȃ�v�ύX�Ɣ�r�I�d�v�łȂ����ǂƂ� RFC 624 ����Ă����B1975 �N�A"Leaving Well Enough Alone" �Ƒ肳�ꂽ RFC 686 ���AFTP �̏����E����S�Ẵo�[�W�����Ԃ̍��قɂ��ċc�_�����BRFC 686 �̃t�@�C������̘b��Ɋւ��鏬���ȉ���� RFC 691 �������B
���w�v���g�R���� NCP ���� TCP �ւƕω��������Ƃ����������ɁATCP ��ŗ��p���� FTP �̎d�l�Ƃ��āA�O�q�̊����̒����� RFC 765 �ɂ����ĕs���������܂ꂽ�B
FTP �d�l�̂��̃o�[�W�����͂������̔�r�I�d�v�łȂ������̊ԈႢ��������A�ꕔ�̃v���g�R���@�\�̐��������P���A�������̐V�����I�v�V������lj����邱�Ƃ�ړI�Ƃ��Ă���B
�{�d�l�̂��̃o�[�W�����ɂ́A��̓I�Ɉȉ��̐V�����I�v�V�����R�}���h���܂܂�Ă���B
CDUP - �e�f�B���N�g���ւ̈ړ� SMNT - �\���}�E���g STOU - ��ӕۑ� RMD - �f�B���N�g���폜 MKD - �f�B���N�g���쐬 PWD - �f�B���N�g���\�� SYST - �V�X�e��
���̎d�l�͈ȑO�̃o�[�W�����ƌ݊��������B�ȑO�̎d�l�ɓK�����Ď������ꂽ�v���O�����͎����I�ɂ��̎d�l�ɂ��K������͂��ł���B
����܂ł̒�`��O���ɒu���ƁAFTP �T�[�r�X�͈ȉ��̂悤�ɐ}�����ł���B
+-----------+ |+---------+| ||���[�U�[ || +--------+ ||I/F |<--->|���[�U�[| |+----^----+| +--------+ +----------+ | | | |+--------+| FTP �R�}���h |+----V----+| ||�T�[�o�[|<---------------->|���[�U�[ || || PI || FTP ���v���C || PI || |+---^----+| |+----^----+| | | | | | | +--------+ |+---V----+| �f�[�^�ڑ� |+----V----+| +--------+ |�t�@�C��|<--->|�T�[�o�[|<---------------->|���[�U�[ |<--->|�t�@�C��| |�V�X�e��| || DTP || || DTP || |�V�X�e��| +--------+ |+--------+| |+---------+| +--------+ +----------+ +-----------+ �T�[�o�[�� FTP ���[�U�[�� FTP ���ӁF1. �f�[�^�ڑ��͗������Ɏg�p����� 2. �f�[�^�ڑ��͏펞�K�v�Ȃ킯�ł͂Ȃ� �}1 FTP �g�p�̃��f��
�} 1 �̃��f���ɂ����āA���[�U�[�v���g�R���C���^�[�v���^���R���g���[���ڑ����J�n����B�R���g���[���ڑ��� Telnet �v���g�R���ɏ]���B���[�U�[�̎�����ɂ�� user-PI �͕W�� FTP �R�}���h�����A�R���g���[���ڑ��o�R�ł�����T�[�o�[�v���Z�X�ւƑ��M����B(�Ⴆ�� TAC �[������T�[�o�[�� FTP �ւƃ��[�U�[�����ڃR���g���[���ڑ����m�����A�Ǝ��� FTP �R�}���h�����Ă��悢�B���̏ꍇ���[�U�[�� FTP �v���Z�X���I�邱�ƂɂȂ�B) �R�}���h�ւ̉����Ƃ��āA�R���g���[���ڑ���ʂ��ăT�[�o�[�� PI ���烆�[�U�[�� PI �ւƕW�����v���C�����M�����B
FTP �R�}���h�̓f�[�^�ڑ��̂��߂̃p�����[�^(�f�[�^�|�[�g�E�]�����[�h�E�\���^�C�v�E�\��)�ƁA�t�@�C���V�X�e���̑���(�ۑ��E�擾�E�lj��E�폜�Ȃ�)�Ƃ��w�肷��B���[�U�[�� DTP �܂��͂��̑�ւ͎w�肳�ꂽ�f�[�^�|�[�g�� "�҂���(listen)" ��ׂ��ł���A�T�[�o�[���f�[�^�ڑ����J�n���A�w�肳�ꂽ�p�����[�^�ɂ��������ăf�[�^�]�����J�n����B�R���g���[���ڑ��o�R�� FTP �R�}���h�s����z�X�g�Ɠ����z�X�g���f�[�^�|�[�g���J���K�v�͂Ȃ����A���[�U�[�܂��̓��[�U�[�� FTP �v���Z�X�͎w��̃f�[�^�|�[�g�� "�҂���(listen)" �邱�Ƃ��m���ɂ��Ȃ���Ȃ�Ȃ����Ƃɒ��ӂ��Ăق����B�f�[�^�ڑ��͑��M�Ǝ�M���ɍs���邱�Ƃɂ����ӂ���ׂ��ł���B
���[�J���z�X�g�ł͂Ȃ� 2 �z�X�g�ԂŃt�@�C���]�����������ƃ��[�U�[�͍l���邩������Ȃ��B���̏ꍇ���[�U�[�� 2 ��̃T�[�o�[�ƃR���g���[���ڑ����m�����A���̌セ���̊Ԃ̃f�[�^�ڑ�����z����B���̕��@�ɂ����ăR���g���[�����̓��[�U�[�� PI �ւƓn����邪�A�f�[�^�� 2 ��̃T�[�o�[�̃f�[�^�]���v���Z�X�Ԃœ]�������B���̂悤�ȃT�[�o�[ - �T�[�o�[�̑Θb�̃��f�����ȉ��Ɏ����B
�R���g���[�� +----------------+ �R���g���[�� +--------->| ���[�U�[�� FTP |<----------+ | | ���[�U�[�� PI | | | | "C" | | V +----------------+ V +----------------+ +----------------+ | �T�[�o�[�� FTP | �f�[�^�ڑ� | �T�[�o�[�� FTP | | "A" |<---------------------->| "B" | +----------------+ �|�[�g(A) �|�[�g(B) +----------------+ �} 2
FTP �̓f�[�^�]�����ɃR���g���[���ڑ����J����Ă��邱�Ƃ�v������B���ۂɃR���g���[���ڑ������̂̓T�[�o�[�����AFTP �T�[�r�X�̗��p���I�������Ƃ��ɃR���g���[���ڑ������v�����o���̂̓��[�U�[���̐ӔC�ł���B�R�}���h�Ȃ��ɃR���g���[���ڑ�������ꂽ�ꍇ�A�T�[�o�[�̓f�[�^�]���𒆎~���Ă��悢�B
FTP �� Telnet �Ƃ̊W�F
�R���g���[���ڑ���ɂ����� FTP �� Telnet �v���g�R�����g�p����B����͓��ނ̕��@�Ŏ����ł���F���́A���[�U�[�� PI �܂��� �T�[�o�[�� PI �����g�̋@�\�̒��ɒ��� Telnet �v���g�R���̋K�����������邱�ƁA���́A���[�U�[�� PI �܂��̓T�[�o�[�� PI ���V�X�e�����̊����� Telnet ���W���[�����g�p���邱�Ƃł���B
�����̗e�Ղ��A�R�[�h�̋��L�A���W���[���v���O���~���O�Ȃǂ͑��̕��@���x������B���������ˑ����Ȃǂ͑��̕��@���w������B���ۂ̂Ƃ��� FTP �� Telnet �v���g�R���ɂ킸�������ˑ����Ă��Ȃ����߁A���̕��@�ł���ʂ̃R�[�h��K�v�Ƃ���킯�ł͂Ȃ��B
�t�@�C���̓f�[�^�ڑ��o�R�ł̂ݓ]�������B�R���g���[���ڑ��̓R�}���h(���s�����ׂ��@�\��\��)�̑��M�ƁA�����̃R�}���h�ւ̃��v���C(�uFTP ���v���C�v�Z�N�V�����Q��)�̑��M�ƂɎg�p�����B�������̃R�}���h���z�X�g�Ԃ̃f�[�^�]���Ɋ֘A����B���̂悤�ȃf�[�^�]���R�}���h�ɂ́A�f�[�^�r�b�g���]���������@���w�肷�� MODE �R�}���h��A�f�[�^�̕\�����@���`���� STRU �R�}���h�ETYPE �R�}���h���܂܂��B��{�I�ɂ��̓]���ƕ\���͓Ɨ��������̂����A"�X�g���[��(Stream)" �]�����[�h�̓t�@�C���\���̑����Ɉˑ����邵�A"���k(Compressed)" �]�����[�h���g�p�����ꍇ�ɂ́A�t�B���[�p�o�C�g�̓��e�͂��̕\���^�Ɉˑ�����B
�f�[�^�͑��M���z�X�g�̋L�����u�����M���z�X�g�̋L�����u�ւƓ]�������B�����̏ꍇ���̓�̃V�X�e���Ԃ̃f�[�^�ۑ��`���͈قȂ邽�߁A�f�[�^�ɉ��炩�̕ϊ����s���K�v������B�Ⴆ�� NVT-ASCII �͈قȂ�V�X�e����ł͈قȂ�ۑ��`�������BDEC TOPS-20 �͒ʏ� 36 �r�b�g���[�h���ɍ��l���ꂽ 7 �r�b�g ASCII �����Ƃ��� NVT-ASCII ��ۑ�����BIBM �̃��C���t���[���� 8 �r�b�g�� EBCDIC �R�[�h�Ƃ��� NVT-ASCII ��ۑ�����BMultics �� 36 �r�b�g���[�h���� 9 �r�b�g�����Ƃ��� NVT-ASCII ��ۑ�����B�قȂ�V�X�e���ԂŃe�L�X�g�𑗐M����ꍇ�A�W���I�� NVT-ASCII �\���ւƕ�����ϊ����邱�Ƃ��]�܂����B���M���T�C�g����ю�M���T�C�g�́A���̓����\���ƕW���I�\���Ƃ̊ԂŕK�v�Ƃ����ϊ����s�����ƂɂȂ�B
�قȂ郏�[�h�������z�X�g�V�X�e���Ԃ�(�����R�[�h�ł͂Ȃ�)�o�C�i���f�[�^�𑗐M����ꍇ�A�\���`���Ɋ֘A����ʂ̖�肪��������B���M�����f�[�^�𑗐M������@�Ǝ�M���������ۑ�������@�Ƃ́A��ɖ��m�Ȃ킯�ł͂Ȃ��B�Ⴆ���[�h���� 32 �r�b�g�̃V�X�e������ 36 �r�b�g�̃V�X�e���ւ� 32 �r�b�g�o�C�g�̃f�[�^�𑗐M����ꍇ�A��҂̃V�X�e���ł͂��� 32 �r�b�g�o�C�g�� 36 �r�b�g���[�h���ɉE�l�߂��ĕۑ����邱�Ƃ�(�������◘���̂��߂�)�]�܂�����������Ȃ��B������ɂ��Ă��A�f�[�^�\���ƕϊ��@�\�Ƃ��w�肷��I�����̓��[�U�[�����ׂ��ł���BFTP �͔��Ɍ���ꂽ�f�[�^�^�̕\���������Ȃ����Ƃɒ��ӂ���ׂ��ł���B���̌���ꂽ�\�͈ȏ�̕ϊ��́A���[�U�[�ɂ���Ē��ڎ��s�����ׂ��ł���B
FTP �ɂ�����f�[�^�\���́A�\���^���w�肷�郆�[�U�[�ɂ���ď��������B���̕\���^�� "�_���o�C�g��(logical byte size)" �Ƃ��Č��y�������߂̂��߂̃o�C�g����(ASCII �܂��� EBCDEC �Ƃ���)�ÖٓI�ɁA�܂���(���[�J���o�C�g�Ƃ���)�����I�ɒ�`����\��������B�f�[�^�ڑ����]������� "�]���o�C�g��(transfer byte size)" �ƌĂ��o�C�g���Ƃ��̃o�C�g���Ƃ͖��W�ł��邱�Ƃɒ��ӂ��Ăق����B����� 2 �̃o�C�g�����������Ă͂Ȃ�Ȃ��B�Ⴆ�� NVT-ASCII �̘_���o�C�g���� 8 �r�b�g�ł���B�\���^�����[�J���o�C�g�̏ꍇ�ATYPE �R�}���h�� 2 �Ԗڂ̃p�����[�^�ɂ��̘_���o�C�g�����w�肵�Ȃ���Ȃ�Ȃ��B�]���o�C�g���͏�� 8 �r�b�g�ł���B
����̓f�t�H���g�̌^�ł���A�S�Ă� FTP �����ɂ���Ď�����Ȃ���Ȃ�Ȃ��B���z�X�g���Ƃ��� EBCDIC �^�̂ق����s���̂悢�ꍇ�������A����͎�Ƀe�L�X�g�t�@�C���̓]�����Ӑ}���Ă���B
���M���͓����I�ȕ����\����W���I�� 8 �r�b�g�� NVT-ASCII �\���ւƕϊ�����(Telnet �d�l�Q��)�B��M���͂��̃f�[�^��W���`�����玩���̓����`���ւƕϊ����邱�ƂɂȂ�B
�e�L�X�g�s�̏I�[��\���Ȃ���Ȃ�Ȃ��Ƃ���ł́ANVT �W���ɂ��������ăV�[�P���X <CRLF> ���g�p�����ׂ��ł���B(�u�f�[�^�̕\���ƕۑ��v�̍ŏI�Z�N�V�����ɂ���t�@�C���\���̋c�_�Q��)
�W���ł��� NVT-ASCII �\�����g�p����Ƃ������Ƃ́A�f�[�^�� 8 �r�b�g�o�C�g�Ƃ��ĉ��߂���Ȃ���Ȃ�Ȃ��Ƃ������Ƃ��Ӗ����Ă���B
ASCII �^�� EBCDIC �^�Ƃ̂��߂̏����p�����[�^�͈ȉ��ŋc�_����Ă���B
���������\���Ƃ��� EBCDIC ���g�p����z�X�g�ԂŌ����悭�]�����邱�Ƃ�ړI�Ƃ����^�ł���B
�]�����A�f�[�^�� 8 �r�b�g�� EBCDIC �����Ƃ��ĕ\�������BEBCDIC �^�� ASCII �^�Ƃ̋@�\�d�l�̈Ⴂ�́A���̕����R�[�h�����ł���B
�\���������ړI�� EBCDIC �^�Ƌ���(���R�[�h�I�[(�\���̋c�_�Q��)�ł͂Ȃ�)�s�I�[���g�p����邱�Ƃ͋H�ł��邪�A�K�v�ȏꍇ�ɂ͕��� <NL> ���g�p����ׂ��ł���B
�]���f�[�^�� 8 �r�b�g���̓]���o�C�g�ɋl�߂�ꂽ�A���r�b�g�Ƃ��đ��M�����B��M���T�C�g�͂��̃f�[�^��A���r�b�g�Ƃ��ĕۑ����Ȃ���Ȃ�Ȃ��B�ۑ��V�X�e���̍\���́A���炩�̓s���̂悢���E(�o�C�g�E���[�h�E�u���b�N)�̂��߂ɁA�t�@�C����(�܂��̓��R�[�h�\���t�@�C���̏ꍇ�͊e���R�[�h��)�p�f�B���O��K�v�Ƃ��邩������Ȃ��B���̃p�f�B���O�͑S�ă[���łȂ���Ȃ炸�A�t�@�C���̏I�[�ɂ̂���邱�Ƃ��������B�܂��t�@�C�����擾�����Ƃ��Ƀp�f�B���O����菜�����Ƃ��o����悤�ɁA�p�f�B���O�r�b�g����肷���i���Ȃ���Ȃ�Ȃ��B�ۑ��T�C�g�̃t�@�C�������[�U�[�������ł���悤�ɁA���̃p�f�B���O�ϊ��͍L�����J�����ׂ��ł���B
�C���[�W�^�́A�����t�@�C���̌����I�Ȏ擾�ƕۑ��A����уo�C�i���f�[�^�̓]����ړI�Ƃ��Ă���B�S�Ă� FTP ���������̌^��������邱�Ƃ𐄏������B
�f�[�^�́A�K�{�̑������ł���o�C�g���Ŏw�肳���_���o�C�g���œ]�������B���̃o�C�g���̒l�� 10 �i�����łȂ���Ȃ炸�A�f�t�H���g�l�͑��݂��Ȃ��B�_���o�C�g�����]���o�C�g���Ɠ����ł���K�v�͂Ȃ��B�����̃o�C�g�����قȂ�ꍇ�A���̘_���o�C�g�͓]���o�C�g�̋��E�Ƃ͖��W�ɁA�I�[�ɕK�v�ȃp�f�B���O��t���ĘA���I�ɋl�߂���ׂ��ł���B
��M���ɓ͂����f�[�^�́A���̘_���o�C�g���Ƃ��̓���̃z�X�g�ƂɈˑ�����`�ŕϊ������B���̕ϊ����@�͉t�I(���Ȃ킿�A�����p�����[�^���g�p����Γ���̃t�@�C�����擾�ł���)�łȂ���Ȃ炸�AFTP �̎����҂ɂ���čL�����J�����ׂ��ł���B
�Ⴆ�� 36 �r�b�g�̕��������_���l�� 32 �r�b�g���[�h�̃z�X�g�ւƑ��M����ꍇ�A���[�U�[�͂��̃f�[�^�� 36 �r�b�g�̘_���o�C�g���������[�J���o�C�g�Ƃ��đ��M���邱�Ƃ��ł���B���̌��M���z�X�g�́A�e�ՂɈ�����悤�ɂ��̘_���o�C�g��ۑ����������낤�B���̗�̏ꍇ�Ȃ�A36 �r�b�g�̘_���o�C�g�� 64 �r�b�g�̃_�u�����[�h�ւƒu�����Ƃŏ\���Ȃ͂��ł���B
�ʂ̗�Ƃ��āA36 �r�b�g���[�h�������z�X�g���m�́ATYPE L 36 ���g�p���邱�ƂŌ݂��Ƀ��[�h�Ńf�[�^�𑗐M���邱�Ƃ��o����B���̃f�[�^�� 8 �r�b�g���̓]���o�C�g�ɋl�߂���A9 �]���o�C�g�� 2 �z�X�g���[�h���^�Ԃ��ƂɂȂ邾�낤�B
ASCII �^�� EBCDIC �^�́A���ɑ���(�C�ӂ�)���������B����̓t�@�C���Ɋ֘A���鐂�������̎�ނ�\�����߂̂��̂ł���BFTP �ł͈ȉ��̃f�[�^�\���^����`����Ă���B
�����t�@�C���� 1)����̂��߁A2)��������ۑ����Č�Ɏ擾���邽�߁A3)�������邽�߁A���̂����� 1 ��ړI�Ƃ��ăz�X�g�ւƑ��M����邾�낤�B����̂��߂Ƀt�@�C�������M����� 1 �ڂ̃P�[�X�ł́A�����������ǂ̂悤�ɕ\������Ă���̂�����M���z�X�g���m��Ȃ���Ȃ�Ȃ��B2 �Ԗڂ̃P�[�X�ł́A�z�X�g�Ƀt�@�C����ۑ����A���̌セ��𐳊m�ɓ����`�Ŏ擾�ł��Ȃ���Ȃ�Ȃ��B�Ō�̃P�[�X�ł́A����t�@�C��������z�X�g����ʂ̃z�X�g�ւƈړ����A��҂̃z�X�g��ʼnߓx�̃g���u���Ȃ��ɂ��̃t�@�C���������ł���ׂ��ł���BASCII �܂��� EBCDIC �̌`�������ł́A�����S�Ă̏����������Ƃ��ł��Ȃ��B���̂��߂����̌^�́A�ȉ��̎O�̌`���̂ЂƂ���肷����̈��������B
����͑���(����)�������ȗ����ꂽ�ꍇ�Ɏg�p�����f�t�H���g�`���ł���BNon-print �`���͑S�Ă� FTP �����ɂ���Ď�����Ȃ���Ȃ�Ȃ��B
�t�@�C���ɐ��������̏�܂܂��K�v�͂Ȃ��B���̃t�@�C��������v���Z�X�ɓn���ꂽ�ꍇ�A����v���Z�X�͌�Ԃƃ}�[�W���ƂɕW���I�Ȓl�����肵�Ă悢�B
��ʓI�ɂ��̌`���́A��������邱�Ƃ��ړI�̃t�@�C���A�܂��͕ۑ����邱�Ƃ������ړI�̃t�@�C���Ƌ��Ɏg�p�����B
�t�@�C���̓v�����^�v���Z�X���K�ɉ��߂���ł��낤 ASCII/EBCDIC �̐�����������(���Ȃ킿�A<CR>�E<LF>�E<NL>�E<VT>�E<FF>)���܂ށB<CRLF> ��(���m�ɂ��̏����̏ꍇ�ɂ̂�)�s�I�[��\���B
�t�@�C���� ASA (FORTRAN) �̐����������䕶�����܂�(RFC 740 �� Appendix C �ƁA1964 �N 10 ���� Communications of the ACM, Vol. 7, No. 10, p. 606 �Ƃ��Q��)�BASA �W���ɂ��������ď��������ꂽ�s�܂��̓��R�[�h�ł́A�擪�̕����͈������Ȃ��B�擪�����͗p���̐����ړ������肷�邽�߂Ɏg�p�����ׂ����̂ł���A���̓���̓��R�[�h�̎c��̕�������������O�ɍs����ׂ��ł���B
ASA �W���͈ȉ��̐��䕶�����`���Ă���F
���� | �����Ԋu���� |
�� | �p���� 1 �s����Ɉړ����� |
0 | �p���� 2 �s����Ɉړ����� |
1 | �p�������y�[�W�̐擪�܂ňړ����� |
+ | �ړ����Ȃ��A�܂�d�ˑł����� |
�\�������ꂽ���̂̏I�����v�����^�v���Z�X�����f���邽�߂́A���炩�̎�i���Ȃ���Ȃ�Ȃ����Ƃ͖��炩�ł���B�t�@�C�������R�[�h�\��(��q)�ł���A�]��������ѕۑ����Ɋe���R�[�h�ɖ����I�Ɉt�����邽�߁A����͖��ɂȂ�Ȃ��B�t�@�C�������R�[�h�\���������Ȃ��ꍇ�A����s����邽�߂ɍs�I�[�V�[�P���X <CRLF> ���g�p�����B�������Ȃ���A���̂悤�ȏ������䕶���� ASA ���䕶���ɂ���ď㏑�������B
�l�X�ȕ\���^�ɉ����āAFTP �̓t�@�C���\���̎w��������Ă���BFTP �ł� 3 �̃t�@�C���\������`����Ă���F
STRU �R�}���h���g�p����Ȃ������ꍇ�ɂ̓f�t�H���g�Ńt�@�C���\���Ƃ݂Ȃ���邪�A"�e�L�X�g(text)" �t�@�C��(���Ȃ킿 TYPE ASCII �܂��� TYPE EBCDIC ���t�@�C��)�̂��߂̃t�@�C���\���ƃ��R�[�h�\���Ƃ͋��ɁA�S�Ă� FTP �����ɂ���Ď�����Ȃ���Ȃ�Ȃ��B�t�@�C���̍\���́A�t�@�C���̓]�����[�h(�u�]�����[�h�v�Z�N�V�������Q��)�Ƃ��̃t�@�C���̉��߁E�ۑ��Ƃ̗����ɉe�����邾�낤�B
�t�@�C���� "�{����(natural)" �\���́A���̃t�@�C����ۑ�����z�X�g�Ɉˑ����邾�낤�BIBM ���C���t���[���ł̓\�[�X�R�[�h�t�@�C���͌Œ蒷���R�[�h�ɕۑ�����邪�ADEC TOPS-20 �ł�(�Ⴆ�� <CRLF> �ɂ����)�s�P�ʂɋ��ꂽ�����̃X�g���[���Ƃ��ĕۑ������B���̂悤�Ȗ{���I�ɈقȂ�T�C�g�Ԃł̃t�@�C���]����L�p�Ȃ��̂ɂ���ɂ́A����̃T�C�g�̃t�@�C���Ɋւ��鉼�����������̃T�C�g���m����@���Ȃ���Ȃ�Ȃ��B
�{���I�Ƀt�@�C���w���̃T�C�g�ƁA�{���I�Ƀ��R�[�h�w���̃z�X�g�Ƃ����݂���B����\���̃t�@�C�����A����ƈقȂ�\���̎w�������z�X�g�ւƑ��M����ꍇ�ɖ�肪��������\��������B���R�[�h�\���̃e�L�X�g�t�@�C�����t�@�C���w���̃z�X�g�ւƑ��M�����ꍇ�A���̃z�X�g�͂��̃t�@�C���ɑ��A���R�[�h�\���Ɋ�Â��������ϊ���K�p����ׂ��ł���B���炩�ɂ��̕ϊ��͕֗��Ȃ��̂ł���ׂ������A���R�[�h�\�����g�p���Ă�����̃t�@�C�����擾�ł���悤�ɁA�t�I�łȂ���Ȃ�Ȃ��B
�t�@�C���\�������t�@�C�������R�[�h�w���̃z�X�g�ւƑ��M����ꍇ�A���̃z�X�g�����[�J���ŏ����\�ȃ��R�[�h�ւƁA�ǂ̂悤�ȏ����Ńt�@�C��������ׂ����Ƃ�����肪����B���̕������K�v�ȏꍇ�AFTP �����͋�蕶���Ƃ��čs�I�[�V�[�P���X(ASCII �e�L�X�g�t�@�C���Ȃ� <CRLF>�AEBCDIC �e�L�X�g�t�@�C���Ȃ� <NL>)���g�p����ׂ��ł���BFTP ���������̎�@���̗p����Ȃ�A���̃t�@�C�����t�@�C���\���Ŏ擾�����ꍇ�ɔ����A�t�����ɕϊ����鏀�����o���Ă��Ȃ���Ȃ�Ȃ��B
�t�@�C�\���� STRU �R�}���h���g�p����Ȃ������ꍇ�Ƀf�t�H���g�ƌ��Ȃ����\���ł���B
�t�@�C���\���ɂ͓����\�������݂����A�t�@�C���̓f�[�^�o�C�g�̘A���I�ȃV�[�P���X�ƌ��Ȃ����B
"�e�L�X�g(text)" �t�@�C���̂��߂ɁA�S�Ă� FTP �����ɂ���ă��R�[�h�\����������Ȃ���Ȃ�Ȃ��B
���R�[�h�\���̏ꍇ�A�t�@�C���͘A���I�ȃ��R�[�h����\�������B
�s�A���ȃt�@�C����]�����邽�߂ɁAFTP �̓y�[�W�\�����`���Ă���B���̎�̃t�@�C���͎��� "�����_���A�N�Z�X�t�@�C��(random access files)"�A�܂��� "���̂���t�@�C��(holey files)" �ƌĂ��B�����̃t�@�C���Q�̒��ɂ͎��X�A�S�̂Ƃ��Ẵt�@�C���Ɋ֘A������(�Ⴆ�t�@�C���f�X�N���v�^)��A�t�@�C������ 1 �Z�N�V�����Ɋ֘A������(�Ⴆ�y�[�W�A�N�Z�X�R���g���[��)�A�܂��͂��̗����̏���݂���B�t�@�C���̂����̋敪�̂��Ƃ��AFTP �ł̓y�[�W�ƌĂԁB
�l�X�ȃy�[�W�T�C�Y�Ƃ���Ɋ֘A������Ƃ���邽�߂ɁA�e�y�[�W�̓y�[�W�w�b�_�Ƌ��ɑ��M�����B�y�[�W�w�b�_�͈ȉ��̒�`�ς݃t�B�[���h�����F
�S�Ẵt�B�[���h�� 1 �_���o�C�g�ł���B���̘_���o�C�g���� TYPE �R�}���h�Ŏw�肳���B�y�[�W�\���Ɋւ��邳��Ȃ�ڍׂƓ��ʂȏꍇ�ƂɊւ��ẮA�t�^ I ���Q�Ƃ��Ăق����B
�p�����[�^�Ɋւ��钍�ӁF���M�����t�@�C���Ɠ���̃t�@�C�����擾�������ꍇ�A���̃t�@�C���͓����p�����[�^�ŕۑ��E�擾���Ȃ���Ȃ�Ȃ��B�t�Ɍ����� FTP �����́A�ۑ��E�擾�Ɏg�p���ꂽ�p�����[�^�������ł���A���̃t�@�C���Ɠ����t�@�C����Ԃ��Ȃ���Ȃ�Ȃ��B
�f�[�^�]���̃��J�j�Y���́A�K�ȃ|�[�g�ւ̃f�[�^�ڑ��̃Z�b�g�A�b�v�ƁA�]���p�����[�^�̑I���Ƃ���\�������B���[�U�[�� DTP �ƃT�[�o�[�� DTP �͂��ꂼ��f�t�H���g�̃f�[�^�|�[�g�������Ă���B���[�U�[���v���Z�X�̃f�t�H���g�f�[�^�|�[�g�̓R���g���[���ڑ��|�[�g(�܂� U)�Ɠ����ł���B�T�[�o�[���v���Z�X�̃f�t�H���g�f�[�^�|�[�g�̓R���g���[���ڑ��|�[�g�̒��O�̃|�[�g(�܂� L - 1)�ł���B
�]���o�C�g���� 8 �r�b�g�ł���B���̃o�C�g���͎��ۂɓ]�������f�[�^�ɂ̂݊W���A�z�X�g�̃t�@�C���V�X�e�����̃f�[�^�\���Ƃ͖��W�ł���B
��M���̃f�[�^�]���v���Z�X(����̓��[�U�[�� DTP �܂��͑� 2 �̃T�[�o�[�� DTP �̉\��������)�́A�]����v������R�}���h�𑗂�̂ɐ旧���āA�f�[�^�|�[�g�� "�҂���(listen)" �Ȃ���Ȃ�Ȃ��BFTP �̃��N�G�X�g�R�}���h���f�[�^�]���̕��������肷��B�]�����N�G�X�g����M�����T�[�o�[�́A���̃|�[�g�ɑ��ăf�[�^�ڑ����J�n����B�f�[�^�ڑ����m������� DTP �ԂŃf�[�^�]�����J�n����A�T�[�o�[�� PI �̓��[�U�[�� PI �ւƊm�F�����𑗐M����B
�f�t�H���g�̃f�[�^�|�[�g�̎g�p�͑S�Ă� FTP �������T�|�[�g���Ȃ���Ȃ�Ȃ��B�f�t�H���g�ł͂Ȃ��|�[�g�ւ̕ύX�̓��[�U�[�� PI �������v���ł���B
PORT �R�}���h���g�p���邱�ƂŁA���[�U�[�͑�ւ̃f�[�^�|�[�g���w�肷�邱�Ƃ��o����B�t�@�C���� TAC ���C���v�����^�Ƀ_���v������A��O�̃z�X�g����擾���邱�Ƃ����[�U�[�͖]�ނ�������Ȃ��B��҂̏ꍇ�A����̃T�[�o�[�́A��������̃T�[�o�[���J�n����ł��낤�ڑ��� "�҂���(listen)" ��悤��(FTP �̃R�}���h�ɂ����)�w�������B���[�U�[�� PI �͈���̃T�[�o�[�� PI �ɑ��A��������̃T�[�o�[�̃f�[�^�|�[�g������ PORT �R�}���h�𑗐M����B�Ō�ɓK�ȓ]���R�}���h�����҂ɑ��M�����B���[�U�[���R���g���[���Ƃ����̃T�[�o�[�Ƃ̊Ԃ̃R�}���h�E���v���C�̐��m�ȃV�[�P���X�́uFTP ���v���C�v�Z�N�V�����Œ�`����Ă���B
��ʂɁA�f�[�^�ڑ��̕ێ�(���̊J�n�ƏI��)�̓T�[�o�[�̐ӔC�ł���B��O�́AEOF ���������߂ɂ͕����Ȃ���Ȃ�Ȃ��ڑ���K�v�Ƃ���]�����[�h�Ń��[�U�[�� DTP ���f�[�^�𑗐M����ꍇ�ł���B�ȉ��̂悤�ȏ̏ꍇ�A�T�[�o�[���f�[�^�ڑ�����Ȃ���Ȃ�Ȃ�(MUST)�F
����ȊO�̏ꍇ�A�ڑ������̂̓T�[�o�[�̑I���ƂȂ�B�T�[�o�[�͂��̌��ʂ� 250 ���v���C�܂��� 226 ���v���C�ɂ���ă��[�U�[���v���Z�X�֎����Ȃ���Ȃ�Ȃ��B
�f�t�H���g�̃f�[�^�ڑ��|�[�g�F�f�t�H���g�̃f�[�^�|�[�g�̎g�p�͑S�Ă� FTP �������T�|�[�g���Ȃ���Ȃ�Ȃ��B�f�t�H���g�ł͂Ȃ��|�[�g�ւ̕ύX�̓��[�U�[�� PI �������v���ł���B
�f�t�H���g�ł͂Ȃ��f�[�^�|�[�g�̌��F���[�U�[�� PI �� PORT �R�}���h�ɂ���āA�f�t�H���g�ł͂Ȃ����[�U�[���f�[�^�|�[�g���w�肷�邱�Ƃ��o����B�܂����[�U�[�� PI �� PASV �R�}���h�ɂ���āA�T�[�o�[�ɑ��ăf�t�H���g�ł͂Ȃ��T�[�o�[���f�[�^�|�[�g��v�����邱�Ƃ��o����B�����̃R�}���h�ɂ���ăf�[�^�ڑ��̗��[�ɂ����ĐV�����|�[�g���g�p���邱�Ƃ��ł���B�ڑ��̓A�h���X�̑g�ɂ���Ē�`����邽�߁A�قȂ�f�[�^�ڑ���ɂ͂����̃A�N�V�����̂ǂ��炩�����ŏ\���ł���B
�f�[�^�ڑ��̍ė��p�F�X�g���[�����[�h�̃f�[�^�]�����g�p����ꍇ�A�t�@�C���̏I���͐ڑ�����邱�Ƃɂ���Ď�����Ȃ���Ȃ�Ȃ��B�M���ł���ʐM��ۏ��邽�߂� TCP �̓^�C���A�E�g�̂��߂̐ڑ��L�^��ێ����Ȃ���Ȃ�Ȃ����߁A�Z�b�V�������ɕ����̃t�@�C����]�����悤�Ƃ���Ɩ�肪��������B���������Ă��̐ڑ��������ɍĊJ���邱�Ƃ͏o���Ȃ��B
���̖��̉�����͓����B�ЂƂ̓f�t�H���g�ȊO�̃|�[�g����������@�A�����ЂƂ͕ʂ̓]�����[�h���g�p������@�ł���B
�]�����[�h�ɂ��Ă̒��߁B�ڑ��̏I�������킾�����̂������������̂��f�ł��Ȃ����߁A�{���I�ɃX�g���[���]�����[�h�͐M���ł�����̂ł͂Ȃ��B���̓]�����[�h(�u���b�N�A���k)�́A�t�@�C���̏I�����������߂ɐڑ�����邱�Ƃ͂Ȃ��B�����̓]�����[�h�́A�f�[�^�ڑ��̓��e����͂��邱�ƂŃt�@�C���̏I����ł��� FTP �G���R�[�h�����B���������Ă����̃��[�h���g�p����ƁA�����̃t�@�C����]�����邽�߂Ƀf�[�^�ڑ����J�����܂܂ɂ��Ă������Ƃ��o����B
�f�[�^�]���ɂ����Ď��ɍl�����ׂ��́A�K�ȓ]�����[�h�̑I���ł���B3 �̃��[�h�����݂���F�f�[�^���`�������邱�ƂōĊJ�������\�ɂ��郂�[�h�A�����I�ȓ]���̂��߂Ƀf�[�^�����k���郂�[�h�A�قƂ��(���邢�͑S��)�������s�킸�Ƀf�[�^��]�����郂�[�h�ł���B�Ō�̃��[�h�́A�����̎�ނ����肷�邽�߂ɂ��̍\�������Ƒ��݂ɉe���������B���k���[�h�ɂ�����\���^�́A�t�B���[�o�C�g�����肷��B
�S�Ẵf�[�^�]���́A�����I�Ɏ������t�@�C���I�[(EOF)���A�f�[�^�ڑ�����邱�Ƃɂ��ÖٓI�ȃt�@�C���I�[(EOF)���ɂ���Ċ������Ȃ���Ȃ�Ȃ��B���R�[�h�\�������t�@�C���ł́A�Ō�̂��̂��܂ޑS���R�[�h�I�[�}�[�J�[(EOR)�͖����I�ł���B�y�[�W�\���œ]�������t�@�C���ł́A�y�[�W�^�C�v "�ŏI�y�[�W(last-page)" ���g�p�����B
���ӁF���̃Z�N�V�����̂���ȍ~�ɂ����ăo�C�g�Ƃ́A�����I�ɑ��̈Ӗ����q�ׂĂ��Ȃ����� "�]���o�C�g(transfer byte)" ���Ӗ�����B
�W�������ꂽ�]���̂��߂ɁA���M���z�X�g�͎��g�̓����I�ȍs�[��R�[�h�[�̕\�����A�]�����[�h��t�@�C���\���ɂ���ċK�肳�ꂽ�\���ւƕϊ����A��M���z�X�g�͎��g�̓����\���ւ̋t�ϊ����s���BIBM ���C���t���[���̃��R�[�h�J�E���g�t�B�[���h�͑��̃z�X�g�ł͔F������Ȃ��\�������邽�߁A���R�[�h�I�[���́A�X�g���[�����[�h�ł� 2 �o�C�g�̐���R�[�h�Ƃ��āA�u���b�N���[�h�܂��͈��k���[�h�ł̓t���O�r�b�g�Ƃ��ē]������邾�낤�B���R�[�h�\���������Ȃ� ASCII �t�@�C�����܂��� EBCDIC �t�@�C�����̍s�[�́A���ꂼ�� <CRLF> ���邢�� <NL> �Ŏ������ׂ��ł���B�ꕔ�̃V�X�e���ɂƂ��Ă����̕ϊ��͗]���ȍ�Ƃ��ۂ���邱�ƂɂȂ邽�߁A���R�[�h�\���������Ȃ��e�L�X�g�t�@�C����]�����铯��̃V�X�e���́A�o�C�i���\���ƃX�g���[�����[�h�Ƃ��g�p���邱�Ƃ�]�ނ�������Ȃ��B
FTP �ł͈ȉ��̓]�����[�h����`����Ă���F
�f�[�^�̓o�C�g�̃X�g���[���Ƃ��ē]�������B�g�p�����\���^�ɐ����͖����A���R�[�h�\�����������B
���R�[�h�\���̃t�@�C���̏ꍇ�AEOR �� EOF �͂��ꂼ�� 2 �o�C�g�̐���R�[�h�ŕ\�����B���̐���R�[�h�� 1 �o�C�g�ڂ͑S�r�b�g�� 1 �̃G�X�P�[�v�����ł���B2 �o�C�g�ڂ́A�ʼn��ʃr�b�g�̂� 1 �Ȃ� EOF���A�ʼn��ʂ��� 2 �Ԗڂ̃r�b�g�̂� 1 �Ȃ� EOF ��\���B�܂肱�̃o�C�g�́AEOR �Ȃ�l 1�AEOF �Ȃ�l 2 �ƂȂ�B���� 2 �r�b�g������ 1 �ɂ���(�܂�l 3 �ɂ���)���Ƃɂ���āAEOR �� EOF �Ƃ��ɕ\�����Ƃ��ł���B�S�Ẵr�b�g�� 1 �̃o�C�g���f�[�^�Ƃ��Ĉ��������ꍇ�A���̎��̃o�C�g�ɂ������l���J��Ԃ��Ȃ���Ȃ�Ȃ��B
�t�@�C���\���ɂ����� EOF �͑��M���z�X�g���f�[�^�ڑ�����邱�Ƃɂ���ĕ\����A�S�Ẵo�C�g���f�[�^�o�C�g�ł���B
�t�@�C���� 1 �o�C�g�ȏ�̃w�b�_�o�C�g�ɑ�����A�̃f�[�^�u���b�N�Ƃ��ē]�������B�w�b�_�o�C�g�ɂ̓J�E���g�t�B�[���h�Ǝ��ʎq�R�[�h�Ƃ��܂܂��B�J�E���g�t�B�[���h�̓f�[�^�u���b�N�S�̂̒������o�C�g�P�ʂŕ\���A���������Ď��̃f�[�^�u���b�N�̊J�n�ʒu��\���Ă���(�t�B���[�r�b�g�͖���)�B���ʎq�R�[�h�́A�t�@�C���̍ŏI�u���b�N(EOF)�A���R�[�h�̍ŏI�u���b�N(EOR)�A�ĊJ�}�[�J�[(�G���[�̉ƍĊJ�̃Z�N�V�������Q��)�A�s�ǃf�[�^(�܂�]������Ă���f�[�^�ɂ̓G���[�̋^��������A�M���ł��Ȃ��Ƃ�������)���`����B���̍Ō�̃R�[�h�� FTP �ɂ�����G���[������Ӑ}�������̂ł͂Ȃ��B����́A���ɏd�v�ȃf�[�^(�Ⴆ�Βn�k��C�ۂ̃f�[�^)����������T�C�g���A���[�J���̃G���[�����Ăł��S�Ẵf�[�^�𑗎�M�������ꍇ�ɁA�]���f�[�^�̂��̕������s�ǂł��邱�Ƃ��������߂ɓ�������Ă���B���̃��[�h�ł̓��R�[�h�\����������Ă���B�܂��C�ӂ̕\���^���g�p���Ă悢�B
�w�b�_�� 3 �o�C�g�ł���B�w�b�_�� 24 �r�b�g�̂������� 16 �r�b�g�̓o�C�g����\���Ȃ���Ȃ炸�A��� 8 �r�b�g�͌�q�̎��ʎq�R�[�h��\���Ȃ���Ȃ�Ȃ��B
�u���b�N�̃w�b�_ +----------------+----------------+----------------+ | ���ʎq | �o�C�g�� | | 8 �r�b�g | 16 �r�b�g | +----------------+----------------+----------------+
���ʎq�R�[�h�͎��ʎq�o�C�g���̃r�b�g�t���O�ɂ���ĕ\�����B4 �̃R�[�h�����蓖�čς݂ł���A�ȉ��̊e�R�[�h�̓o�C�g���̑Ή�����r�b�g��\���� 10 �i���l�ł���B
�R�[�h | �Ӗ� |
128 | �f�[�^�u���b�N�̏I���� EOR �ł��� |
64 | �f�[�^�u���b�N�̏I���� EOF �ł��� |
32 | �f�[�^�u���b�N�ɃG���[�̋^�������� |
16 | �f�[�^�u���b�N�͍ĊJ�}�[�J�[�ł��� |
���̕�������p���邱�ƂŁA2 �ȏ�̏�Ԃ�\�����ʎq�� 1 �̃u���b�N���ɑ��݂����邱�Ƃ��ł���B�K�v�Ȃ����r�b�g�𗧂Ă�悢�B
�ĊJ�}�[�J�[�� 8 �r�b�g���̃o�C�g�̐����l�Ƃ��ăf�[�^�X�g���[���̒��ɖ��ߍ��܂�A�R���g���[���ڑ���Ŏg�p����Ă��錾��(�f�t�H���g�ł� NVT-ASCII)�ɂ��������\�����ŕ\�������B�ĊJ�}�[�J�[���� <SP> (�K�Ȍ���ɂ��������)���g�p���Ă͂Ȃ�Ȃ��B
�Ⴆ�� 6 �����̃}�[�J�[�𑗐M����ꍇ�ɂ́A�ȉ��̓��e�����M����邾�낤�F
+----------+--------+--------+ |���ʎq | �o�C�g�� | |�R�[�h= 16| = 6 | +----------+--------+--------+ +----------+----------+----------+ | �}�[�J�[ | �}�[�J�[ | �}�[�J�[ | | 8 �r�b�g | 8 �r�b�g | 8 �r�b�g | +----------+----------+----------+ +----------+----------+----------+ | �}�[�J�[ | �}�[�J�[ | �}�[�J�[ | | 8 �r�b�g | 8 �r�b�g | 8 �r�b�g | +----------+----------+----------+
3 ��ނ̏���M�����F�o�C�g������Ƃ��đ��M�����ʏ�f�[�^�A�J��Ԃ��܂��̓t�B���[���܂ވ��k�f�[�^�A2 �o�C�g�̃G�X�P�[�v�V�[�P���X�Ƃ��đ��M����鐧����ł���Bn > 0 �o�C�g(�ő� 127 �o�C�g)�̒ʏ�f�[�^�𑗐M����ꍇ�A���� n �o�C�g�̑O�ɁA�ŏ�ʃr�b�g�� 0 �ʼn��� 7 �r�b�g�ɐ��l n ���܂� 1 �o�C�g�𑗐M����B
�o�C�g������F 1 7 8 8 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ |0| n | | d(1) | ... | d(n) | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ ^ ^ |---n �o�C�g---| �̃f�[�^ d(1)�`d(n) �� n �f�[�^�o�C�g�̕����� n �͐����łȂ���Ȃ�Ȃ��B
�f�[�^�o�C�g d �� n ��̌J��Ԃ�����Ȃ镶��������k����ɂ́A�ȉ��� 2 �o�C�g�𑗐M����F
�o�C�g�̌J��Ԃ��F 2 6 8 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ |1 0| n | | d | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
n �̃t�B���[�o�C�g����Ȃ镶����� 1 �o�C�g�Ɉ��k���邱�Ƃ��o����B�t�B���[�o�C�g�̓��e�͕\���^�ɂ���ĈقȂ�B�\���^�� ASCII �܂��� EBCDIC �̏ꍇ�A�t�B���[�o�C�g�� <SP>(�AASCII �R�[�h 32�AEBCDIC �R�[�h 64)�ł���B�\���^���C���[�W�܂��̓��[�J���o�C�g�̏ꍇ�A�t�B���[�̓[���ł���B
�t�B���[������F 2 6 +-+-+-+-+-+-+-+-+ |1 1| n | +-+-+-+-+-+-+-+-+
�G�X�P�[�v�V�[�P���X�� 2 �o�C�g�ł���A1 �o�C�g�ڂ̓G�X�P�[�v�o�C�g(�S�ă[��)�A2 �o�C�g�ڂɂ̓u���b�N���[�h�Œ�`����Ă��鎯�ʎq�R�[�h���܂܂��B���ʎq�R�[�h�̓u���b�N���[�h�ɂ����ĂƓ����Ӗ��������A�㑱�̃o�C�g������ɓK�p�����B
�킸���� CPU �R�X�g�Ŕ��ɑ傫�ȓ]���ш敝�̑�����̂Ɉ��k���[�h�͗L���ł���B����͗Ⴆ�ARJE �z�X�g�ɂ���Đ������ꂽ����t�@�C���̃T�C�Y���팸����悤�ȏꍇ�ɍł����ʓI�ɗ��p�ł��邾�낤�B
�f�[�^�]���ɂ�����r�b�g������r�b�g�����̌��o�͒���Ȃ��B���̃��x���̌�萧��� TCP �ɂ���čs����B�������Ȃ���V�X�e���S�̂̏�Q(�z�X�g�� FTP �v���Z�X�≺�w�l�b�g���[�N�Ȃǂ̏�Q���܂�)���烆�[�U�[��ی삷�邽�߂ɁA�ĊJ�葱��������Ă���B
�ĊJ�葱���̓u���b�N���[�h�ƈ��k���[�h�Ƃ̂��߂ɂ̂ݒ�`����Ă���B����ɂ́A���炩�̃}�[�J�[�������ʂȃ}�[�J�[�R�[�h���f�[�^�̑��M�҂��f�[�^�X�g���[���ɑ}�����邱�Ƃ�K�v�Ƃ���B���̃}�[�J�[���͂��̑��M�҂ɂƂ��Ă݈̂Ӗ��̂�����̂����A�f�t�H���g�Ȃ����\�ȕ�������\������A�����łȂ���R���g���[���ڑ��Ō����ꂽ����(ASCII �܂��� EBCDIC)����\������Ȃ���Ȃ�Ȃ��B���̃}�[�J�[�̓r�b�g����R�[�h���A���邢�̓V�X�e�����f�[�^�`�F�b�N�|�C���g�Ƃ��ĔF���ł���C�ӂ̑��̏���\�����Ƃ��ł���B�ĊJ�葱�������������M���V�X�e���́A�ʒu�ɑΉ�����}�[�J�[����M���V�X�e�����ɋL�^���A���[�U�[�ɂ��̏���Ԃ����낤�B
�V�X�e����Q�����������ꍇ�AFTP �̍ĊJ�葱���Ƌ��ɂ��̃}�[�J�[�|�C���g���w�肷�邱�ƂŁA���[�U�[�̓f�[�^�]�����ĊJ���邱�Ƃ��ł���B�ȉ��A���p���čĊJ�葱���̗��p���@�𖾂炩�ɂ���B
�f�[�^���M�҂̓f�[�^�X�g���[���̓s���̗ǂ��ʒu�ɓK�ȃ}�[�J�[�u���b�N��}������B��M���z�X�g�́A�t�@�C���V�X�e�����̑Ή�����f�[�^�ʒu���L�^���A���ڂ܂��̓R���g���[���ڑ���ʂ��� 110 ���v���C�̉��ꂩ(���M�������ꂩ�ɂ��)�ɂ���āA�Ō�̊��m�̑��M���E��M���}�[�J�[�������[�U�[�ɒm�点��B�V�X�e����Q�����������ꍇ�A�ĊJ�R�}���h�̈����ɃT�[�o�[�̃}�[�J�[�R�[�h�𑗐M���邱�ƂŁA���[�U�[�܂��̓R���g���[���v���Z�X�͍Ō�̃T�[�o�[�}�[�J�[����ĊJ���悤�Ƃ���B���̍ĊJ�R�}���h�̓R���g���[���ڑ���ʂ��đ��M����A��Q�����������Ƃ��Ɏ��s���������R�}���h(RETR�ASTOR�ALIST�Ȃ�)�����̒���ɑ����B
���[�U�[�� PI ����T�[�o�[�� PI �ւ̒ʐM�`���l���́A���[�U�[����W���T�[�o�[�|�[�g�ւ� TCP �ڑ��Ƃ��Ċm�������B���[�U�[���v���g�R���C���^�[�v���^�́AFTP �R�}���h�̑��M�ƁA��M�������v���C�̉��߂ƂɐӔC�����B�T�[�o�[�� PI �̓R�}���h�����߂��A���v���C�𑗐M���ADTP ���f�[�^�ڑ����Z�b�g�A�b�v����悤�Ɏd�����A�f�[�^��]������B���̌�T�[�o�[�� PI �́A�f�[�^�]���̑���(���̓]���v���Z�X)�����[�U�[�� DTP �ł�����[�U�[�� FTP �z�X�g�̓����v���g�R���ɏ]���ĊǗ�����A���҂��T�[�o�[�� DTP �ł�����[�U�[�� PI ����̃R�}���h�Ɋ�Â��Ď��g�� PI �ɂ���ĊǗ������BFTP ���v���C�ɕt���Ă͎��̃Z�N�V�����ŋc�_����B���̃Z�N�V�����ɂ����邢�����̃R�}���h�̐����́A�\���̂��郊�v���C�ɂ��Ė��炩�ɂ��邽�߂̎菕���ɂȂ�B
�ȉ��̃R�}���h���A�N�Z�X�R���g���[���̎��ʎq���w�肷��(�R�}���h�R�[�h�͊��ʓ��Ɏ�����Ă���)�B
�S�Ẵf�[�^�]���p�����[�^�ɂ̓f�t�H���g�l������B�f�t�H���g�l��ύX����K�v������ꍇ�ɂ̂݁A�f�[�^�]���p�����[�^���w�肷��R�}���h���K�v�ƂȂ�B�f�t�H���g�l�͍Ō�Ɏw�肳�ꂽ�l���A�l���w�肳��Ă��Ȃ������ꍇ�ɂ͂����ŏq�ׂ��Ă���悤�ȕW���̃f�t�H���g�l�ƂȂ�B����́A�K�ȃf�t�H���g�l���T�[�o�[�� "�o����(remember)" �����Ȃ���Ȃ�Ȃ��Ƃ������Ƃ��Ӗ�����BFTP �T�[�r�X�̗v���O�łȂ���Ȃ�Ȃ����Ƃ������A�����̃R�}���h�͔C�ӂ̏����Ŏg�p����Ă悢�B�f�[�^�]���p�����[�^���w�肷��R�}���h�͈ȉ��̒ʂ�F
PORT h1,h2,h3,h4,p1,p2������ h1 �̓C���^�[�l�b�g�z�X�g�A�h���X�̏�� 8 �r�b�g�ł���B
�_ �^ A - ASCII | | N - Non-print |-><-| T - Telnet �������䕶�� E - EBCDIC| | C - ���s���� (ASA) �^ �_ I - Image L <�o�C�g��> -���[�J���o�C�g�̃o�C�g��
FTP �T�[�r�X�R�}���h�́A���[�U�[�ɂ���ėv�������t�@�C���]����t�@�C���V�X�e���̋@�\���`����B�ʏ�AFTP �T�[�r�X�R�}���h�̈����̓p�X���ł���B�p�X���̕��@�́A�T�[�o�[���T�C�g��(�K�p�\�ŕW���I�ȃf�t�H���g��)����ƁA�R���g���[���ڑ��̌���̊���Ƃɏ]��Ȃ���Ȃ�Ȃ��B���������f�t�H���g�̏����́A�Ō�Ɏw�肳�ꂽ�f�o�C�X��f�B���N�g���A�t�@�C�������g�p���邩�A���[�J�����[�U�[�̂��߂ɒ�`����Ă���W���I�ȃf�t�H���g���g�p���邱�Ƃł���B"rename to" �R�}���h�� "rename from" �R�}���h�̎��ɗ��Ȃ���Ȃ�Ȃ����ƂƁA�ĊJ�R�}���h�̎��ɂ͒��f���ꂽ�T�[�r�X�R�}���h(STOR�ARETR �Ȃ�)�����Ȃ���Ȃ�Ȃ����ƂƂ������A�e�R�}���h�͔C�ӂ̏����Ŏg�p���邱�Ƃ��ł���BFTP �T�[�r�X�R�}���h�ւ̉����Ƃ��ē]�������f�[�^�́A����������̃��v���C�������A��Ƀf�[�^�ڑ���ʂ��đ��M�����ׂ��ł���BFTP �T�[�r�X��v������R�}���h�͈ȉ��̒ʂ�F
(1) �̏ꍇ�A�T�[�o�[��(�����J���Ă����)�f�[�^�ڑ�����AABOR �R�}���h������ɏ������ꂽ���Ƃ�\�� 226 ���v���C��Ԃ��B
(2) �̏ꍇ�A�T�[�o�[�͐i�s���� FTP �T�[�r�X�𒆒f���A�f�[�^�ڑ�����A�T�[�r�X�v�����ُ�I���������Ƃ�\�����߂� 426 ���v���C��Ԃ��B���̌�T�[�o�[�́AABOR �R�}���h������ɏ������ꂽ���Ƃ�\�� 226 ���v���C�𑗐M����B
�R���g���[���ڑ���̑S�Ă̒ʐM�ɂ����āA�t�@�C���]���v���g�R���� Telnet �v���g�R���̎d�l�ɏ]���BTelnet �̒ʐM�Ɏg�p����錾��͌��\�ȃI�v�V�����ł��邽�߁A�ȉ��� 2 �̃Z�N�V�����ł� "Telnet ����(Telnet language)" �Ƃ���ɑΉ����� "Telnet �s���R�[�h(Telnet end-of-line code)" �Ƃ��Q�Ƃ��Ă���B���݂̂Ƃ��낻���� NVT-ASCII �� <CRLF> �Ƃ��Ӗ�������̂ƍl���Ă悢�BTelnet �v���g�R���̑��̎d�l�ɂ��Ă͌��y���Ă��Ȃ��B
FTP �R�}���h�� "Telnet �s���R�[�h(Telnet end-of-line code)" �ŏI������ "Telnet ������(Telnet strings)" �ł���B�R�}���h�R�[�h���̂́A�����������ꍇ�� <SP> (����)�ŏI�����A�����łȂ���� Telnet-EOL �ŏI������A���t�@�x�b�g�����Q�ł���B�R�}���h�R�[�h�ƃR�}���h�̈Ӗ��͂��̃Z�N�V�����Ő�������Ă���B�R�}���h�̏ڍׂȕ��@�́u�R�}���h�v�Z�N�V�����ŋK�肳��Ă���B���v���C�V�[�P���X�́u�R�}���h�E���v���C�̃V�[�P���X�v�Z�N�V�����ŋc�_����Ă���B�R�}���h�̎g�p���@���������V�i���I�́u�T�^�I�� FTP �V�i���I�v�Z�N�V�����Œ���Ă���B
FTP �R�}���h�́A�A�N�Z�X�R���g���[���̎��ʂ��w�肷����́E�f�[�^�]���p�����[�^���w�肷����́EFTP �T�[�r�X�v�����w�肷����̂ւƁA�ו������邱�Ƃ��o����B�ꕔ�̃R�}���h(ABOR�ASTAT�AQUIT �Ȃ�)�̓R���g���[���ڑ���ʂ��ăf�[�^�]�����ɑ��M����Ă��悢�B�R���g���[���ڑ��ƃf�[�^�ڑ��Ƃ��ɊĎ��ł��Ȃ��T�[�o�[�����݂��邩������Ȃ��B���̂悤�ȏꍇ�A�T�[�o�[�̒��ӂ��������߂ɉ��炩�̓��ʂȃA�N�V�������K�v�ɂȂ邾�낤�B�b��I�Ɉȉ��̕��@����������Ă���F
(�ʏ�̃T�[�o�[�͂�����K�v�Ƃ��Ȃ����낤���A��L�̃A�N�V�����ňُ���N�����ׂ��ł͂Ȃ��B)
�t�@�C���]���v���g�R���̃R�}���h�ɑ��郊�v���C�́A�t�@�C���]�������ɂ�����v���Ɠ���Ƃ̓������m���ɂ��A���[�U�[���v���Z�X����ɃT�[�o�[�̏�Ԃ�m���Ă��邱�Ƃ�ۏł���悤�ɍl�����Ă���B�e�R�}���h�͏��Ȃ��Ƃ� 1 �̃��v���C�����Ȃ���Ȃ炸�A�����ł����Ă��悢�B��҂̏ꍇ�A�������v���C�͊ȒP�ɋ�ʂł��Ȃ���Ȃ�Ȃ��B����Ɉꕔ�̃R�}���h(�Ⴆ�� USER�EPASS�EACCT �� RNFR�ERNTO)�͈�A�̑g�Ƃ��Ď��s�����B��Ɏ��s���ꂽ�R�}���h����������A����ɑ��郊�v���C�͒��ԓI�ȏ�Ԃɂ��邱�Ƃ�\�����ƂɂȂ�B���̈�A�̎菇�̓r���Ŏ��s�����ꍇ�A���̎菇�S�̂��ŏ�����J��Ԃ��K�v������B
�R�}���h�E���v���C�̃V�[�P���X�ɕt���Ă̏ڍׂ́A��q�̏�Ԑ}�Ɏ�����Ă���B
FTP ���v���C�� 3 ���̐��l(3 �����̉p�����Ƃ��ē]�������)�̌�ɉ��炩�̃e�L�X�g�������`���ł���B���l�͎��ɓ����Ԃ������I�ɔ��f���邽�߂̂��̂ł���A�e�L�X�g�͐l�Ԃ̗��p�Ҍ����ł���B���� 3 ���̐��l�́A���[�U�[���v���Z�X(���[�U�[�� PI)���e�L�X�g�ׂ�K�v���Ȃ��قǏ\���ɕ��������ꂽ�����܂ނ��Ƃ�ړI�Ƃ��Ă���A���������ăe�L�X�g�͕K�v�ɉ����Ĕj�����邩���p�҂ɓn�������Ă悢�B�e�L�X�g�̓T�[�o�[�Ɉˑ����邽�߁A�e���v���C�R�[�h���ƂɈقȂ���̂ƂȂ邾�낤�B
���v���C�� 3 ���̐��l�R�[�h���܂݁A���̎��ɋ��� <SP>�A���Ƀe�L�X�g�s(���炩�̍ő咷����`����Ă���)�A������ Telnet �s���R�[�h�ɂ���ďI��������̂ƒ�`�����B�������Ȃ��� 1 �s��蒷���ꍇ�����邾�낤�B���̂悤�ȏꍇ�A�����̃��v���C�̓ǂݎ����~�߂�(�܂�R���g���[���ڑ�����̓��͏������~�߂�)���̏������s���悢�̂������[�U�[�v���Z�X��������悤�ɁA�e�L�X�g�S�̂��ЂƂ܂Ƃ߂ɂ��Ȃ���Ȃ�Ȃ��B���̂��߂ɂ́A��ɍs���������Ƃ�\�����߂ɐ擪�s�ɁA�����čŏI�s�ł��邱�Ƃ�\�����߂ɍŏI�s�ɁA���ꂼ����ʂȏ������K�v�ƂȂ�B����������߂ɁA�擪�s�ƍŏI�s�Ƃ͋��ɓ����R�[�h�łȂ���Ȃ�Ȃ��ƌ��߂��Ă���B
�����s���v���C�̐擪�s�̏����͕K�{�̃��v���C�R�[�h�Ŏn�܂�A���̒���Ƀn�C�t�� "-" (�}�C�i�X�L���Ƃ��Ă��m����)�A���Ƀe�L�X�g�������B�ŏI�s�͂���Ɠ����R�[�h�Ŏn�܂�A����ɋ��� <SP>�A�C�ӂ̃e�L�X�g�A�Ō�� Telnet �s���R�[�h�������B
��F
123-First line Second line 234 A line beginning with numbers 123 The last line
����ɑ����[�U�[�v���Z�X�́A�s���������R�[�h�Ŏn�܂蒼��� <SP> (����)�������s��T���Ȃ���A�Ԃ̑S�Ă̍s��P���ɖ�������悢�B�Ԃ̍s�� 3 ���̐����Ŏn�܂�ꍇ�A����������邽�߂ɃT�[�o�[�͂��̑O�Ƀp�f�B���O�����Ȃ���Ȃ�Ȃ��B
���̕��@�́A"�l�דI��(artificial)" �擪�s�ƍŏI�s��lj����邱�ƂŃ��v���C���(�Ⴆ�� STAT �ւ̃��v���C�Ȃ�)�Ɏg�p�ł���W���I�ȃV�X�e�����[�`���̍쐬���\�ɂ��Ă���B�܂�ȃP�[�X�ł͂��邪�A���̃��[�`���� 3 ���̐����Ƌ����ƂŎn�܂�s�������邽�߁A�e�e�L�X�g�s�̐擪�͉��炩�̖��Q�ȃe�L�X�g(�����Ȃ�)�ɂ���ăI�t�Z�b�g�����ׂ��ł���B
���̕��@�͕����s���v���C�̃l�X�g��z�肵�Ă��Ȃ��B
���v���C�� 3 ���̐����͂��ꂼ����ʂȈӖ������B����̓��[�U�[�v���Z�X�ɂ����ɒP���ȉ���������ɕ��G�ȉ����܂ł��J�o�[���邱�Ƃ�ړI�Ƃ��Ă���B1 ���ڂ̐����́A���̉����̐����E���s�E��������\���B��ԑJ�ڐ}���Q�Ƃ��邱�ƂŁA�P���ȃ��[�U�[�v���Z�X�͂��� 1 ���ڂׂ邾���Ŏ��̍s�������肷�邱�Ƃ��ł��邾�낤(�\��ʂ�i�߂�E��蒼���E�k������Ȃ�)�B���������G���[�̂����悻�̎��(�Ⴆ�t�@�C���V�X�e���̃G���[�A�R�}���h�̕��@�G���[�Ȃ�)��m�肽�����[�U�[�v���Z�X�́A2 ���ڂ̐����ׂ�悢�B3 ���ڂ̐����͏��̏ڍׂȃ��x����\�����߂ɗ\��Ă���(�Ⴆ�ARNFR �R�}���h��Ȃ� RNTO �R�}���h�Ȃ�)�B
���v���C�R�[�h�� 1 ���ڂɂ� 5 �̒l������F
2 ���ڂ̐����͈ȉ��̋@�\�O���[�v��\���Ă���F
3 ���ڂ̐����́A2 ���ڂ̐����ɂ���ē��肳���e�J�e�S���̂��ڍׂȈӖ���\���B�ȉ��̃��v���C�̈ꗗ�ł����𖾂炩�ɂ���B�e���v���C�ɂ����ăe�L�X�g�͕K�{�ł͂Ȃ����A�����͂���A�Ή�����R�}���h�ɏ]���ĕύX����邱�Ƃ������������B����ŁA���v���C�R�[�h�͍ŏI�Z�N�V�����̎d�l�Ɍ����ɏ]��Ȃ���Ȃ�Ȃ��B�܂�T�[�o�[�����́A�����Ő�������Ă�����̂Ə��������قȂ�̂��߂ɐV�����R�[�h�����̂ł͂Ȃ��A��`�ς݂̃R�[�h�ɓK��������ׂ����Ƃ������Ƃł���B
TYPE �� ALLO �̂悤�ɁA����Ȏ��s�����[�U�[���v���Z�X�ɐV����������Ȃ��R�}���h�́A200 ���v���C��Ԃ����낤�B�����̃V�X�e���ɊW���Ȃ��Ƃ������R�ŃT�[�o�[�� FTP �v���Z�X���R�}���h���������Ă��Ȃ��ꍇ(�Ⴆ�� TOPS20 �T�C�g�ł� ALLO �R�}���h)�A����ł����[�U�[�v���Z�X���A������A�N�V�������p���ł���悤�ɁA�m�芮�����v���C��Ԃ����Ƃ��]�܂��B���̂悤�ȏꍇ�ɂ� 202 ���v���C���g�p�����(���v���C�e�L�X�g�ɂ͗Ⴆ�� "No storage allocation necessary.(�̈�̊��蓖�Ă͕s�v)" ���g�p�����)�B�t�ɁA��T�C�g�ŗL�A�N�V������v������R�}���h����������Ă��Ȃ��ꍇ�A���̉����� 502 �ƂȂ�B���̉��ǔł́A�R�}���h�͎�������Ă��邪���̈�������������Ă��Ȃ��ꍇ�� 504 ���v���C�ł���B
200 Command okay. (�R�}���h����) 500 Syntax error, command unrecognized. (���@�G���[�A���̃R�}���h�͔F������Ȃ�) �R�}���h�s����������Ƃ������G���[������Ɋ܂܂�ėǂ��B 501 Syntax error in parameters or arguments. (�p�����[�^������̕��@�G���[) 202 Command not implemented, superfluous at this site. (���̃R�}���h�͂��̃T�C�g�ł͕s�v�ł���A��������Ă��Ȃ�) 502 Command not implemented. (���̃R�}���h�͎�������Ă��Ȃ�) 503 Bad sequence of commands. (�R�}���h�̏������s��) 504 Command not implemented for that parameter. (���̃R�}���h�ɑ��邻�̈����͎�������Ă��Ȃ�) 110 Restart marker reply. (�ĊJ�}�[�J�[���v���C) ���̃e�L�X�g�����͓���̎����Ɉˑ�������̂ł����Ă͂Ȃ炸�A �ȉ��̌`���łȂ���Ȃ�Ȃ��F MARK yyyy = mmmm ������ yyyy �̓��[�U�[�v���Z�X�̃f�[�^�X�g���[���}�[�J�[�A mmmm �͂���ɑΉ�����T�[�o�[���̃}�[�J�[�ł���B (�}�[�J�[�� "=" �Ƃ̊Ԃ̋����ɒ���) 211 System status, or system help reply. (�V�X�e����ԁA�܂��̓V�X�e���w���v�̃��v���C) 212 Directory status. (�f�B���N�g���̏��) 213 File status. (�t�@�C���̏��) 214 Help message. (�w���v���b�Z�[�W) �T�[�o�[�̎g�p���@�����̔�W���R�}���h�̈Ӗ��������B ���̃��v���C�͐l�Ԃ̃��[�U�[�ɂƂ��Ă̂ݗL�p�ł���B 215 NAME system type. (�V�X�e���^�C�v NAME) ������ NAME �́AAssigned Numbers document �Ɏ�����Ă�������� �V�X�e�����ł���B 120 Service ready in nnn minutes. (�T�[�r�X�� nnn ���ȓ��ɗ��p�\�ɂȂ�) 220 Service ready for new user. (�V�������[�U�[�ɑ���T�[�r�X�̏�������) 221 Service closing control connection. (�T�[�r�X�̓R���g���[���ڑ�����悤�Ƃ��Ă���) �K�Ȃ烍�O�A�E�g����B 421 Service not available, closing control connection. (�T�[�r�X�͗��p�s�ł���A�R���g���[���ڑ��͕����悤�Ƃ��Ă���) �V���b�g�_�E�����Ȃ���Ȃ�Ȃ����Ƃ��T�[�r�X���������Ă���ꍇ�A ����͔C�ӂ̃R�}���h�ɑ��郊�v���C�ƂȂ肤��B 125 Data connection already open; transfer starting. (�f�[�^�ڑ��͂��łɊJ����Ă���B�]�����J�n�����B) 225 Data connection open; no transfer in progress. (�f�[�^�ڑ��͊J���ꂽ�B���s���̓]���͂Ȃ��B) 425 Can't open data connection. (�f�[�^�ڑ����J���Ȃ�) 226 Closing data connection. (�f�[�^�ڑ��͕����悤�Ƃ��Ă���) �v�����ꂽ�t�@�C������͐�������(�Ⴆ�t�@�C���]���⒆�f)�B 426 Connection closed; transfer aborted. (�ڑ��͕���ꂽ�B�]�������f���ꂽ) 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). (�p�b�V�u���[�h�ɓ��� (h1,h2,h3,h4,p1,p2)) 230 User logged in, proceed. (���[�U�[�̓��O�C�������B���̏�����) 530 Not logged in. (���O�C�����Ă��Ȃ�) 331 User name okay, need password. (���[�U�[���͐���B�p�X���[�h���K�v) 332 Need account for login. (���O�C���ɂ͉ۋ���K�v) 532 Need account for storing files. (�t�@�C����ۑ�����ɂ͉ۋ���K�v) 150 File status okay; about to open data connection. (�t�@�C����Ԃ͐���B�f�[�^�ڑ����J�����Ƃ��Ă���) 250 Requested file action okay, completed. (�v�����ꂽ�t�@�C������͐���Ɋ�������) 257 "PATHNAME" created. "PATHNAME" ���쐬���ꂽ 350 Requested file action pending further information. (�v�����ꂽ�t�@�C������͕ۗ�����Ă���B�X�ɏ�K�v) 450 Requested file action not taken. (�v�����ꂽ�t�@�C������͎��s����Ȃ�) �t�@�C�����g�p�ł��Ȃ�(�Ⴆ�Ύg�p���Ȃ�) 550 Requested action not taken. (�v�����ꂽ����͎��s����Ȃ�) �t�@�C�����g�p�ł��Ȃ�(�Ⴆ�t�@�C����������Ȃ��A�A�N�Z�X�s�Ȃ�) 451 Requested action aborted. Local error in processing. (�v�����ꂽ����͒��~���ꂽ�B�������Ƀ��[�J���G���[����) 551 Requested action aborted. Page type unknown. (�v�����ꂽ����͒��~���ꂽ�B�y�[�W�^�C�v���s���ł���) 452 Requested action not taken. (�v�����ꂽ����͎��s����Ȃ�) �V�X�e���ɏ\���ȋ̈悪�Ȃ� 552 Requested file action aborted. (�v�����ꂽ�t�@�C������͒��~���ꂽ) ���݂̃f�B���N�g����f�[�^�Z�b�g�̂��߂�)�ۑ��̈�߂��� 553 Requested action not taken. (�v�����ꂽ����͎��s����Ȃ�) ������Ȃ��t�@�C����
(�F���4.2.1�Ɠ������e�ŕ��я����Ⴄ�����ł��B��͏ȗ����܂��B)
110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm Where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "="). 120 Service ready in nnn minutes. 125 Data connection already open; transfer starting. 150 File status okay; about to open data connection. 200 Command okay. 202 Command not implemented, superfluous at this site. 211 System status, or system help reply. 212 Directory status. 213 File status. 214 Help message. On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document. 220 Service ready for new user. 221 Service closing control connection. Logged out if appropriate. 225 Data connection open; no transfer in progress. 226 Closing data connection. Requested file action successful (for example, file transfer or file abort). 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 230 User logged in, proceed. 250 Requested file action okay, completed. 257 "PATHNAME" created. 331 User name okay, need password. 332 Need account for login. 350 Requested file action pending further information. 421 Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down. 425 Can't open data connection. 426 Connection closed; transfer aborted. 450 Requested file action not taken. File unavailable (e.g., file busy). 451 Requested action aborted: local error in processing. 452 Requested action not taken. Insufficient storage space in system. 500 Syntax error, command unrecognized. This may include errors such as command line too long. 501 Syntax error in parameters or arguments. 502 Command not implemented. 503 Bad sequence of commands. 504 Command not implemented for that parameter. 530 Not logged in. 532 Need account for storing files. 550 Requested action not taken. File unavailable (e.g., file not found, no access). 551 Requested action aborted: page type unknown. 552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset). 553 Requested action not taken. File name not allowed.
�s�v�ȃG���[���b�Z�[�W�Ȃ��� FTP �삳���邽�߂ɁA�S�ẴT�[�o�[�ɍŒ���ȉ��̎������K�{�ł���F
�^ - ASCII Non-print ���[�h - �X�g���[�� �\�� - �t�@�C���A���R�[�h �R�}���h - USER, QUIT, PORT, TYPE, MODE, STRU,(�f�t�H���g�l�̂��߂̂���) RETR, STOR, NOOP.
�]���p�����[�^�̃f�t�H���g�l�F
TYPE - ASCII Non-print MODE - �X�g���[�� STRU - �t�@�C��
�S�Ẵz�X�g�͕W���I�ȃf�t�H���g�Ƃ��ď�L�̒l������Ȃ���Ȃ�Ȃ��B
�T�[�o�[���v���g�R���C���^�[�v���^�́A�|�[�g L �� "�҂���(listen)" �ׂ��ł���B���[�U�[�܂��̓��[�U�[���v���g�R���C���^�[�v���^�͑S��d�̃R���g���[���ڑ����J�n����ׂ��ł���B�T�[�o�[���v���Z�X�ƃ��[�U�[���v���Z�X�́AARPA-Internet Protocol Handbook [1] �ŋK�肳��Ă��� Telnet �v���g�R���̊���ɏ]���ׂ��ł���B�R�}���h�s�̕ҏW���s���`���̓T�[�o�[�ɂ͂Ȃ��A�T�[�o�[�̓��[�U�[�z�X�g�ɂ����Ă��ꂪ�s���邱�Ƃ�v�����Ă��悢�B�S�Ă̓]���ƃ��v���C�Ƃ�����������A�R���g���[���ڑ��̓��[�U�[����̗v���Ɋ�Â��ăT�[�o�[�ɂ���ĕ�����ׂ��ł���B
���[�U�[�� DTP �͎w�肳�ꂽ�f�[�^�|�[�g��� "�҂���(listen)" �Ȃ���Ȃ�Ȃ��B���̃f�[�^�|�[�g�̓f�t�H���g�̃��[�U�[���|�[�g(U)���APORT �R�}���h�Ŏw�肳�ꂽ�|�[�g�ł���B�T�[�o�[�͎w�肳�ꂽ���[�U�[���f�[�^�|�[�g���g�p���āA���g�̃f�t�H���g�f�[�^�|�[�g(L-1)����f�[�^�ڑ����J�n����ׂ��ł���B�]���̕����Ǝg�p�����|�[�g�́AFTP �T�[�r�X�R�}���h�ɂ���Č��肳���B
�f�t�H���g�|�[�g���g�p����f�[�^�]���́A�S�Ă� FTP �����ɂ���ăT�|�[�g����Ȃ���Ȃ�Ȃ����Ƃɒ��ӂ��Ăق����B���[�U�[�� PI �݂̂���f�t�H���g�|�[�g�̎g�p���J�n���邱�Ƃ��ł���B
2 ��̃T�[�o�[ A�EB �ԂŃf�[�^��]������ꍇ(�} 2 �Q��)�A���[�U�[�� PI �ł��� C �́AA�EB �����̃T�[�o�[�� PI �Ƃ̃R���g���[���ڑ����m������B����̃T�[�o�[(���� A �Ƃ���)�͎��ɁA�]���T�[�r�X�R�}���h����M�����Ƃ��ɐڑ����J�n����̂ł͂Ȃ��A�f�[�^�|�[�g��� "�҂���(listen)" �ׂ��ł��邱�Ƃ�`���� PASV �R�}���h����M����B���[�U�[�� PI ������ PASV �R�}���h(����ɂ͑҂���(listen)�Ă���z�X�g�ƃ|�[�g�̎��ʂ��܂܂��)�̗�������M����ƁA���[�U�[�� PI �� PORT �R�}���h�ɂ���� A �̃|�[�g a �� B �ւƑ��M���A����ɑ��ă��v���C���Ԃ����B���̎��_�Ń��[�U�[�� PI �́AA �� B �Ƃɑ��ăT�[�r�X�R�}���h�𑗐M���邱�Ƃ��ł���B�T�[�o�[ B ���ڑ����J�n���A�]�����s����B���̃R�}���h-���v���C�̃V�[�P���X���ȉ��Ɏ����B�����Ŋe���b�Z�[�W�͏c�����ɂ͓����I�ł��邪�A�������ɂ͔��ł���B
���[�U�[�� PI - �T�[�o�[ A ���[�U�[�� PI - �T�[�o�[ B ------------------ ------------------ C->A : �ڑ� C->B : �ڑ� C->A : PASV A->C : 227 Entering Passive Mode. A1,A2,A3,A4,a1,a2 C->B : PORT A1,A2,A3,A4,a1,a2 B->C : 200 Okay C->A : STOR C->B : RETR B->A : �z�X�g A �̃|�[�g a �ɐڑ� �} 3
�f�[�^�ڑ��́u�f�[�^�ڑ��̊m���v�Z�N�V�����Ő�������Ă�������Ɋ�Â��āA�T�[�o�[���ɂ���ĕ�����ׂ��ł���B�t�@�C���̏I�����������߂Ƀf�[�^�ڑ������K�v���Ȃ��f�[�^�]���ɂ����Đڑ�����悤�Ƃ���ꍇ�A�T�[�o�[���͂����ɂ�����s��Ȃ���Ȃ�Ȃ��B���[�U�[���v���Z�X�̓f�[�^�ڑ��� "�҂���(listen)" �Ȃ���Ȃ�Ȃ����ǂ������m�F�ς݂ł��邽�߁A���̓]���R�}���h�܂őҋ@���邱�Ƃ͋�����Ȃ�(�]���v���𑗐M����O�ɁA���[�U�[���͕���ꂽ�f�[�^�|�[�g��� "�҂���(listen)" �Ȃ���Ȃ�Ȃ����Ƃ��v���o���Ăق���)�B�����悤�ȏ�����邽�߂ɁA�f�[�^�ڑ��������ɃT�[�o�[�� 226 ���v���C��Ԃ� (�܂��͐ڑ����J�����܂܂ɂ���ꍇ�� 250 ���v���C("file transfer completed(�t�@�C���]������)")��Ԃ��A���[�U�[�� PI �͐V�����]���R�}���h�s����O�ɂ����̃��v���C��҂�)�B
���葤�ɂ���Đڑ��������悤�Ƃ��Ă��邱�Ƃ����[�U�[���܂��̓T�[�o�[�����m�F�����Ƃ��͂��ł��A���̐ڑ��ɂ����ăL���[�C���O����Ă���c��̑S�f�[�^���ɓǂݎ��A���g�̑�������ׂ��ł���B
�R�}���h�́uFTP �R�}���h�v�Z�N�V�����Ő�������Ă���ʂ�� Telnet ������ł���A�R���g���[���ڑ����]�������B�R�}���h�̋@�\�Ɠ���́u�A�N�Z�X�R���g���[���R�}���h�v�u�]���p�����[�^�R�}���h�v�uFTP �T�[�r�X�R�}���h�v�u���̑��̃R�}���h�v�̊e�Z�N�V�����Ő�������Ă���B�R�}���h�̕��@�͂����ŋK�肳��Ă���B
�R�}���h�̓R�}���h�R�[�h�Ŏn�܂�A���̌�Ɉ����t�B�[���h�������B�R�}���h�R�[�h�� 4 �����ȉ��̃A���t�@�x�b�g�ł���B�A���t�@�x�b�g�̑啶���E�������͓����悤�Ɉ����Ȃ���Ȃ�Ȃ��B���������āA�ȉ��̃R�}���h�͑S�Ď擾�R�}���h(RETR)��\���Ă���F
RETR Retr retr ReTr rETr
ASCII �^��\�� A �܂��� a �̂悤�ȁA�p�����[�^�l��\���V���{���ɂ�����͓K�p�����B�R�}���h�R�[�h�ƈ����t�B�[���h�Ƃ� 1 �ȏ�̋����ŋ����B
�����t�B�[���h�͉ϒ��̕�����\������ANVT-ASCII �\���̏ꍇ <CRLF> (���A�E���s)�ŏI������B���̌��ς���̏ꍇ�ɂ͈قȂ�s���������g�p����Ă��ǂ��B�s���R�[�h����M����܂ŃT�[�o�[��������J�n���Ȃ����Ƃɒ��ӂ���ׂ��ł���B
NVT-ASCII �ɂ�镶�@���ȉ��Ɏ����B�����t�B�[���h���̑S�Ă̕����� ASCII �����ł���AASCII �\���ɂ�� 10 �i�������܂܂�Ă���B�p���ʂ̓I�v�V�����̈����t�B�[���h��\���B�I�v�V�������g�p����Ȃ������ꍇ�A�K�ȃf�t�H���g�����肳���B
FTP �R�}���h�͈ȉ��̒ʂ�F
USER <SP> <���[�U�[��> <CRLF> PASS <SP> <�p�X���[�h> <CRLF> ACCT <SP> <�ۋ����> <CRLF> CWD <SP> <�p�X��> <CRLF> CDUP <CRLF> SMNT <SP> <�p�X��> <CRLF> QUIT <CRLF> REIN <CRLF> PORT <SP> <�z�X�g-�|�[�g> <CRLF> PASV <CRLF> TYPE <SP> <�^�R�[�h> <CRLF> STRU <SP> <�\���R�[�h> <CRLF> MODE <SP> <���[�h�R�[�h> <CRLF> RETR <SP> <�p�X��> <CRLF> STOR <SP> <�p�X��> <CRLF> STOU <CRLF> APPE <SP> <�p�X��> <CRLF> ALLO <SP> <10 �i����> [<SP> R <SP> <10 �i����>] <CRLF> REST <SP> <�}�[�J�[> <CRLF> RNFR <SP> <�p�X��> <CRLF> RNTO <SP> <�p�X��> <CRLF> ABOR <CRLF> DELE <SP> <�p�X��> <CRLF> RMD <SP> <�p�X��> <CRLF> MKD <SP> <�p�X��> <CRLF> PWD <CRLF> LIST [<SP> <�p�X��>] <CRLF> NLST [<SP> <�p�X��>] <CRLF> SITE <SP> <������> <CRLF> SYST <CRLF> STAT [<SP> <�p�X��>] <CRLF> HELP [<SP> <������>] <CRLF> NOOP <CRLF>
��L�̈����t�B�[���h�̕��@���ȉ��Ɏ���(�K�p�\�ȏꍇ�ɂ� BNF �\�L��p���Ă���)�F
<���[�U�[��> ::= <������> <�p�X���[�h> ::= <������> <�ۋ����> ::= <������> <������> ::= <����> | <����><������> <����> ::= <CR> <LF> �������S�Ă� ASCII ���� <�}�[�J�[> ::= <�\������> <�\������> ::= <�\����> | <�\����><�\������> <�\����> ::= ASCII �R�[�h 33 ���� 126 �̈���\���� <�o�C�g�T�C�Y> ::= <���l> <�z�X�g-�|�[�g> ::= <�z�X�g�ԍ�>,<�|�[�g�ԍ�> <�z�X�g�ԍ�> ::= <���l>,<���l>,<���l>,<���l> <�|�[�g�ԍ�> ::= <���l>,<���l> <���l> ::= 1 ���� 255 �܂ł� 10 �i���� <�����R�[�h> ::= N | T | C <�^�R�[�h> ::= A [<sp> <�^�R�[�h>] | E [<sp> <�^�R�[�h>] | I | L <sp> <�o�C�g�T�C�Y> <�\���R�[�h> ::= F | R | P <���[�h�R�[�h> ::= S | B | C <�p�X��> ::= <������> <10 �V���l> ::= �C�ӂ� 10 �i����
���[�U�[�E�T�[�o�[�Ԃ̒ʐM�́A���݂̉�b�ƂȂ�悤�ɈӐ}����Ă���B���[�U�[���� FTP �R�}���h�s���A�T�[�o�[�������₩�Ɏ�v�ȃ��v���C�ʼn�������Ƃ����`�ł���B�V���ȃR�}���h�𑗐M����O�ɁA���[�U�[�͂��̍ŏ��̎�v�Ȑ����܂��͎��s�̃��v���C��҂ׂ��ł���B
�����̃R�}���h�́A��������l�Ƀ��[�U�[���҂ׂ� 2 �Ԗڂ̃��v���C��K�v�Ƃ���B�����̃��v���C�́A�Ⴆ�t�@�C���]���̐i�s�⊮���A���邢�̓f�[�^�ڑ���������Ƃ����悤�Ȃ��Ƃ������̂ł���B�����̓t�@�C���]���R�}���h�ɑ���� 2 �̃��v���C�ł���B
�ʒm���v���C�̏d�v�ȃO���[�v�̂ЂƂɁA�ڑ��̈��A������B�ʏ�̊��ł́A�ڑ������������Ƃ��A�T�[�o�[�� 220 ���v���C("awaiting input(���͑ҋ@��)")�𑗐M���邾�낤�B���[�U�[�̓R�}���h�𑗐M����O�ɂ��̈��A���b�Z�[�W��҂ׂ��ł���B�����ɓ��͂�������Ȃ��ꍇ�A�T�[�o�[�͑����� 120 ���v���C("expected delay(�x����]��)")�𑗐M���A�����������������_�� 220 ���v���C�𑗐M����ׂ��ł���B�������邱�Ƃɂ�胆�[�U�[�́A�������x�������Ƃ��ł��n���O�A�b�v�����̂ł͂Ȃ����Ƃ�m�邱�Ƃ��ł���B
�C�ӂ̃��v���C
���� "�V�X�e��(the system)" �́A���[�U�[����(�ʏ�͑S�Ẵ��[�U�[��)������ׂ����b�Z�[�W�����R�����I�ɐ������邱�Ƃ�����B�Ⴆ�� "System going down in 15 minutes(�V�X�e���� 15 ����ɒ�~����)" �Ȃǂł���BFTP �ł́A�T�[�o�[�����烆�[�U�[���ւƂ��̂悤�Ȏ��R�����I���𑗐M�����i�͒���Ă��Ȃ��B���̂悤�ȏ��� �T�[�o�[�� PI �ɃL���[�C���O����A���̃��v���C���Ƀ��[�U�[�� PI �ւƑ��M����邱�Ƃ����������B
�e�R�}���h�ɑ��鐬���E���s�̃��v���C�̑I�������ȉ��Ɏ����B�����͌����Ɏ���Ȃ���Ȃ�Ȃ��B���v���C���̃e�L�X�g�̓T�[�o�[�ɂ���Ēu���������Ă��悢���A�R�[�h�ԍ��Ɠ���̃R�}���h�E���v���C�V�[�P���X�Ƃɂ���ĉۂ����Ӗ��Ɠ���͕ύX����Ă͂Ȃ�Ȃ��B
�R�}���h-���v���C�V�[�P���X
���̃Z�N�V�����ł̓R�}���h-���v���C�V�[�P���X�������B�e�R�}���h�͕Ԃ����\���̂��郊�v���C�Ƌ��Ƀ��X�g����Ă���A����ɃR�}���h�O���[�v�����X�g����Ă���B�������v���C���擪��(�㑱�̃��v���C�̓C���f���g����Ă��̉���)������Ă���A���ɍm�胊�v���C�E�ے胊�v���C�A�Ō�ɁA�㑱�̃R�}���h�Ƌ��ɒ��ԃ��v���C��������Ă���B���̃��X�g�͕ʓr������Ă����Ԑ}�̊�b�ɂȂ��Ă���B
�ڑ��m�� 120 220 220 421 ���O�C�� USER 230 530 500, 501, 421 331, 332 PASS 230 202 530 500, 501, 503, 421 332 ACCT 230 202 530 500, 501, 503, 421 CWD 250 500, 501, 502, 421, 530, 550 CDUP 200 500, 501, 502, 421, 530, 550 SMNT 202, 250 500, 501, 502, 421, 530, 550 ���O�A�E�g REIN 120 220 220 421 500, 502 QUIT 221 500 �]���p�����[�^ PORT 200 500, 501, 421, 530 PASV 227 500, 501, 502, 421, 530 MODE 200 500, 501, 504, 421, 530 TYPE 200 500, 501, 504, 421, 530 STRU 200 500, 501, 504, 421, 530 �t�@�C������R�}���h ALLO 200 202 500, 501, 504, 421, 530 REST 500, 501, 502, 421, 530 350 STOR 125, 150 (110) 226, 250 425, 426, 451, 551, 552 532, 450, 452, 553 500, 501, 421, 530 STOU 125, 150 (110) 226, 250 425, 426, 451, 551, 552 532, 450, 452, 553 500, 501, 421, 530 RETR 125, 150 (110) 226, 250 425, 426, 451 450, 550 500, 501, 421, 530 LIST 125, 150 226, 250 425, 426, 451 450 500, 501, 502, 421, 530 NLST 125, 150 226, 250 425, 426, 451 450 500, 501, 502, 421, 530 APPE 125, 150 (110) 226, 250 425, 426, 451, 551, 552 532, 450, 550, 452, 553 500, 501, 502, 421, 530 RNFR 450, 550 500, 501, 502, 421, 530 350 RNTO 250 532, 553 500, 501, 502, 503, 421, 530 DELE 250 450, 550 500, 501, 502, 421, 530 RMD 250 500, 501, 502, 421, 530, 550 MKD 257 500, 501, 502, 421, 530, 550 PWD 257 500, 501, 502, 421, 550 ABOR 225, 226 500, 501, 502, 421 �ʒm�R�}���h SYST 215 500, 501, 502, 421 STAT 211, 212, 213 450 500, 501, 502, 421, 530 HELP 211, 214 500, 501, 502, 421 ���̑��̃R�}���h SITE 200 202 500, 501, 530 NOOP 200 500 421
�����ŁA���ɒP���� FTP �����̂��߂̏�Ԑ}�����B���v���C�R�[�h�� 1 ���ڂ������g�p����BFTP �R�}���h�̃O���[�v�܂��͊e�R�}���h�V�[�P���X���Ƃ� 1 �̏�Ԑ}�����B
�R�}���h�̃O���[�v�����́A�܂��e�R�}���h�̃��f�����\�z���A���ɍ\���㓯��̃��f�������R�}���h���W�߂邱�Ƃōs���Ă���B
�e�R�}���h��e�R�}���h�V�[�P���X�ɂ� 3 ��ނ̏o�͂��l������F����(S)�A���s(F)�A�G���[(E)�ł���B�ȉ��̏�Ԑ}�ł́A"�J�n(begin)" �̈Ӗ��ŃV���{�� B ���A"���v���C�҂�(wait for reply)" �̈Ӗ��ŃV���{�� W ���g�p���Ă���B
�܂��ŏ��ɁAFTP �R�}���h�̒��ł��ł��傫���O���[�v��\����Ԑ}�������F
1,3 +---+ ----------->| E | | +---+ | +---+ cmd +---+ 2 +---+ | B |---------->| W |---------->| S | +---+ +---+ +---+ | | 4,5 +---+ ----------->| F | +---+
���̏�Ԑ}�͈ȉ��̃R�}���h�����f�������Ă���F
ABOR, ALLO, DELE, CWD, CDUP, SMNT, HELP, MODE, NOOP, PASV, QUIT, SITE, PORT, SYST, STAT, RMD, MKD, PWD, STRU, TYPE
�����ЂƂʂ̑傫�ȃR�}���h�O���[�v���A���̂悤�Ȕ��ɂ悭������Ԑ}�ŕ\�����F
3 +---+ ----------->| E | | +---+ | +---+ cmd +---+ 2 +---+ | B |---------->| W |---------->| S | +---+ --->+---+ +---+ | | | | | | 4,5 +---+ | 1 | ----------->| F | ----- +---+
���̏�Ԑ}�͈ȉ��̃R�}���h�����f�������Ă���F
APPE, LIST, NLST, REIN, RETR, STOR, STOU
���̃��f���͍ŏ��̃R�}���h�O���[�v��\�����Ƃ��ł��邱�Ƃɒ��ӂ��Ăق����B�ŏ��̃O���[�v�Ƃ̗B��̈Ⴂ�́A�ŏ��̃O���[�v�ł� 100 �ԑ�̃��v���C�͗\������Ă��炸�A���������ăG���[��������邪�A��ڂ̃O���[�v�ł� 100 �ԑ�̃��v���C�͗\������邱�Ƃł���(�ꕔ�̃R�}���h�ł͕K�{�ł���)�B100 �ԑ�̃��v���C�͊e�R�}���h���Ƃɍő�ł��ЂƂ���������邱�Ƃ��v���o���Ăق����B
�c��̏�Ԑ}�̓R�}���h�V�[�P���X�����f�����������̂ł���A���̒��ōł��P���Ȃ��̂́A�����炭�ȉ��̖��̕ύX�̃V�[�P���X�ł���F
+---+ RNFR +---+ 1,2 +---+ | B |---------->| W |---------->| E | +---+ +---+ -->+---+ | | | 3 | | 4,5 | -------------- ------ | | | | +---+ | ------------->| S | | | 1,3 | | +---+ | 2| -------- | | | | V | | | +---+ RNTO +---+ 4,5 ----->+---+ | |---------->| W |---------->| F | +---+ +---+ +---+
���̏�Ԑ}�͍ĊJ�R�}���h�̒P���ȃ��f���ł���F
+---+ REST +---+ 1,2 +---+ | B |---------->| W |---------->| E | +---+ +---+ -->+---+ | | | 3 | | 4,5 | -------------- ------ | | | | +---+ | ------------->| S | | | 3 | | +---+ | 2| -------- | | | | V | | | +---+ cmd +---+ 4,5 ----->+---+ | |---------->| W |---------->| F | +---+ -->+---+ +---+ | | | 1 | ------
�}���� "cmd" �́AAPPE �܂��� STOR�APETR �ł���B
��L�� 3 �̃��f�����悭���Ă��邱�Ƃ��w�E���Ă������B�ĊJ�R�}���h�Ɩ��̕ύX�R�}���h�Ƃ̗B��̈Ⴂ�́A�� 2 �i�K�ł� 100 �ԑ�̃��v���C�̈����ł���B��ڂ̃O���[�v�� 100 �ԑ�̃��v���C��\�����Ă���(�ꕔ�̃R�}���h�ł͕K�{�ł���)�B�e�R�}���h���Ƃ� 100 �ԑ�̃��v���C�͍ő�łЂƂ���������邱�Ƃ��v���o���Ăق����B
�����Ƃ����G�Ȃ̂̓��O�C���V�[�P���X�̏�Ԑ}�ł���B
1 +---+ USER +---+------------->+---+ | B |---------->| W | 2 ---->| E | +---+ +---+------ | -->+---+ | | | | | 3 | | 4,5 | | | -------------- ----- | | | | | | | | | | | | | | --------- | | 1| | | | V | | | | +---+ PASS +---+ 2 | ------>+---+ | |---------->| W |------------->| S | +---+ +---+ ---------->+---+ | | | | | 3 | |4,5| | | -------------- -------- | | | | | | | | | | | | ----------- | 1,3| | | | V | 2| | | +---+ ACCT +---+-- | ----->+---+ | |---------->| W | 4,5 -------->| F | +---+ +---+------------->+---+
�Ō�ɁA�R�}���h�E���v���C�̂�������ʉ�������Ԑ}�������Ă����F
------------------------------------ | | �J�n | | | V | | +---+ cmd +---+ 2 +---+ | -->| |------->| |---------->| | | | | | W | | S |-----| -->| | -->| |----- | | | | +---+ | +---+ 4,5 | +---+ | | | | | | | | | | | 1| |3 | +---+ | | | | | | | | | | | | ---- | ---->| F |----- | | | | | | | | +---+ ------------------- | | V �I��
�z�X�g U ��̃��[�U�[���A�z�X�g S �Ƃ̊ԂŃt�@�C����]������ꍇ�F
��ʂɃ��[�U�[�́A���[�U�[�� FTP �v���Z�X����ăT�[�o�[�ƒʐM����B�ȉ��Ɏ����͓̂T�^�I�ȃV�i���I�ł���B���[�U�[�� FTP �̃v�����v�g�͊��ʓ��Ɏ�����Ă���B'---->' �̓z�X�g U ���� �z�X�g S �ւ̃R�}���h��\���A'<----' �̓z�X�g S ����z�X�g U �ւ̃��v���C��\���Ă���B
���[�J�����[�U�[�ɂ��R�}���h �s���铮�� ftp (host) multics<CR> �z�X�g S �̃|�[�g L �ɐڑ����A �R���g���[���ڑ����m�� <---- 220 Service ready <CRLF>. username Doe <CR> USER Doe<CRLF>----> <---- 331 User name ok, need password<CRLF>. password mumble <CR> PASS mumble<CRLF>----> <---- 230 User logged in<CRLF>. retrieve (local type) ASCII<CR> (local pathname) test 1 <CR> ���[�U�[�� FTP �� ASCII �`���� ���[�J���t�@�C�����J�� (for. pathname) test.pl1<CR> RETR test.pl1<CRLF> ----> <---- 150 File status okay; about to open data connection<CRLF>. �T�[�o�[���|�[�g U �ւƃf�[�^�ڑ��� �m�� <---- 226 Closing data connection, file transfer successful<CRLF>. type Image<CR> TYPE I<CRLF> ----> <---- 200 Command OK<CRLF> store (local type) image<CR> (local pathname) file dump<CR> ���[�U�[�� FTP ���C���[�W�`���� ���[�J���t�@�C�����J�� (for.pathname) >udd>cn>fd<CR> STOR >udd>cn>fd<CRLF> ----> <---- 550 Access denied<CRLF> terminate QUIT <CRLF> ----> �T�[�o�[���S�Ă̐ڑ������
FTP �̃R���g���[���ڑ��̓��[�U�[���v���Z�X�̃|�[�g U �� �T�[�o�[���v���Z�X�̃|�[�g L �Ƃ̊Ԃ� TCP �o�R�Ŋm�������B���̃v���g�R���̓T�[�o�[�̃|�[�g�� 21 (8 �i�� 25)�����蓖�ĂĂ���B���Ȃ킿�AL = 21 �ł���B
FTP ���y�[�W�\�����T�|�[�g���闝�R�́ATOPS-20 �V�X�e���ԂŃt�@�C��(��̓I�ɂ� NLS �ɂ���Ďg�p�����t�@�C��)�̌����I�ȓ]�����T�|�[�g����K�v���ɗR�����Ă���B
TOPS-20 �̃t�@�C���V�X�e���̓y�[�W�̊T�O�Ɋ�Â��Ă���A�t�@�C�����y�[�W�Ƃ��Ĉ����Ƃ��ɃI�y���[�e�B���O�V�X�e���͂����Ƃ��������悭�Ȃ�B�����̃A�v���P�[�V�������t�@�C����A���I�ȕ����̃X�g���[���ƌ��Ȃ���悤�ɁA�I�y���[�e�B���O�V�X�e���̓t�@�C�V�X�e���ւ̃C���^�[�t�F�C�X����Ă���B�������Ȃ��牺�w�̃y�[�W�\���ڗ��p����A�v���P�[�V���������Ȃ��炸���݂��A�����̈ꕔ�͕s�A��(holey)�t�@�C��������B
TOPS-20 �̃f�B�X�N��̃t�@�C���� 4 �̗v�f����\�������F�p�X���A�y�[�W�e�[�u���A�y�[�W�̏W��(������蓾��)�A�����̏W���ł���B
�p�X���� RETR �R�}���h�܂��� STOR �R�}���h�ɂ����Ďw�肳���B�p�X���ɂ̓f�B���N�g�����A�t�@�C�����A�g���q�A����ԍ�(generation number)���܂܂��B
�y�[�W�e�[�u���ɂ͍ő�� 2**18 �̃G���g���[���܂܂��B�e�G���g���[�͋�(EMPTY)���A�y�[�W���w���������Ƃ��ł���B�G���g���[����łȂ���A�����Ƀy�[�W�ŗL�̃A�N�Z�X�r�b�g�����݂���B1 �t�@�C�����̑S�Ẵy�[�W�������A�N�Z�X�ی�����K�v�͂Ȃ��B
1 �y�[�W�͘A������ 512 ���[�h�ł���A1 ���[�h�� 36 �r�b�g�ł���B
�t�@�C���f�X�N���v�^�u���b�N(FDB)���ɂ���t�@�C�������ɂ́A�쐬�����A�����ݎ����A�Ǎ��ݎ����A�����݃o�C�g���A�t�@�C���I�[�|�C���^�A�Ǎ��݉A�����݉A�o�b�N�A�b�v�V�X�e���e�[�v�ԍ��Ȃǂ��܂܂��B
�y�[�W�e�[�u�����̃G���g���[���A�����Ă���K�v�͂Ȃ����Ƃɒ��ӂ��Ăق����B�y�[�W�e�[�u�����̎g�p���̃X���b�g���m�̊ԂɁA�X���b�g�������Ă��悢�B�܂��A�t�@�C���I�[�ւ̃|�C���^�͒P���Ȑ��l�ł���B����̓t�@�C�����̎��ۂ� "�Ō��(last)" �f�[�^���w���K�v�͂Ȃ��BTOPS-20 �ɂ����鏇�����o�͌Ăяo���̃t�@�C���I�[�|�C���^�͍ŏI�f�[�^�̏�����܂ŕۗ�����邪�A����̃v���O���~���O�V�X�e�����]�ނ̂ł���A���̑���ł͂����ł���K�v�͂Ȃ��B
�����̓��ʂȃP�[�X("�s�A��(holey)" �t�@�C���ƁA�t�@�C���̏I�[���w���Ȃ��t�@�C���I�[�|�C���^��)�́ANLS �f�[�^�t�@�C���Ŏ��ۂɔ�������B
TOPS-20 �̃y�[�W�t�@�C���͎��� FTP �]���p�����[�^�ő��M���邱�Ƃ��o����FTYPE L 36�ASTRU P�AMODE S (���ۂɂ̓��[�h�͉��ł��悢)�B
�e�y�[�W�̓w�b�_�������Ă���BTYPE �� L 36 �Ȃ̂ŁA1 �_���o�C�g�ł���e�w�b�_�t�B�[���h�� TOPS-20 �� 1 ���[�h�ł���B
�e�w�b�_�t�B�[���h�͈ȉ��̒ʂ�F
�w�b�_�̌�ɂ́u�f�[�^���v�̒��������f�[�^���[�h�������B���݂̂Ƃ���f�[�^���́A�f�[�^�y�[�W�� 512�AFDB �� 31 �ł���B�f�[�^���� 512 �����ɂ��邱�ƂŁA�f�B�X�N�t�@�C���y�[�W���̌㑱�̃[���͔j�������B
UNIX �̓f�B���N�g����ʏ�̃t�@�C���̂悤�ɊȒP�Ɉ�����c���[��̃f�B���N�g���\���������Ă��邽�߁AUNIX �}�V����� FTP �T�[�o�[���f�B���N�g���쐬�R�}���h���܂ނ悤�Ɋg�����邱�Ƃ͗L�p�ł���BAPRA-�C���^�[�l�b�g��ɂ̓c���[�\���̃f�B���N�g���������̃z�X�g(TOPS-20 �� Multics ���܂܂��)�����݂��邽�߁A�����̃R�}���h�͉\�Ȍ����ʉ�����Ă���B
4 �̃f�B���N�g���֘A�R�}���h�� FTP �ɒlj�����Ă���F
�Ⴆ�� "�p�X��" ����p�X�̏ꍇ��ATOPS-20 �ɑ��� "<abso.lute.path>" �Ȃǂ̂悤�ɁA"�p�X��" �̕����T�[�o�[�ɂƂ��ăT�u�f�B���N�g���ȊO�̈Ӗ���\���̂ɏ\���ȏ����܂ޏꍇ�������A ������ "�p�X��" �͌��݂̍�ƃf�B���N�g���̃T�u�f�B���N�g���Ƃ��č쐬(�폜)�����ׂ��ł���B
MKD MYDIR CWD MYDIR���̐V�����f�B���N�g���� "���(absolute)" ���̂ɂ���Ă̂ݎQ�Ƃł���B�Ⴆ�f�B���N�g�� <DFRANKLIN> �ɐڑ����Ă���Ƃ��ɏ�L�� MKD �R�}���h�����s���ꂽ�ꍇ�A�V�����T�u�f�B���N�g���� <DFRANKLIN.MYDIR> �Ƃ������O�ɂ���Ă̂ݎQ�Ƃł���B
CWD /usr/dm 200 directory changed to /usr/dm MKD pathname 257 "/usr/dm/pathname" directory created
MKD foo"bar 257 "/usr/dm/foo""bar" directory created CWD /usr/dm/foo"bar 200 directory changed to /usr/dm/foo"bar
CWD /usr/dm 200 directory changed to /usr/dm MKD pathname 521-"/usr/dm/pathname" directory already exists; 521 taking no action.
CWD <some.where> 200 Working directory changed MKD overrainbow 257 "<some.where.overrainbow>" directory created CWD overrainbow 431 No such directory CWD <some.where.overrainbow> 200 Working directory changed CWD <some.where> 200 Working directory changed to <some.where> MKD <unambiguous> 257 "<unambiguous>" directory created CWD <unambiguous>
Bhushan, Abhay, "A File Transfer Protocol", RFC 114 (NIC 5823),
MIT-Project MAC, 16 April 1971.
Harslem, Eric, and John Heafner, "Comments on RFC 114 (A File
Transfer Protocol)", RFC 141 (NIC 6726), RAND, 29 April 1971.
Bhushan, Abhay, et al, "The File Transfer Protocol", RFC 172
(NIC 6794), MIT-Project MAC, 23 June 1971.
Braden, Bob, "Comments on DTP and FTP Proposals", RFC 238 (NIC 7663),
UCLA/CCN, 29 September 1971.
Bhushan, Abhay, et al, "The File Transfer Protocol", RFC 265
(NIC 7813), MIT-Project MAC, 17 November 1971.
McKenzie, Alex, "A Suggested Addition to File Transfer Protocol",
RFC 281 (NIC 8163), BBN, 8 December 1971.
Bhushan, Abhay, "The Use of "Set Data Type" Transaction in File
Transfer Protocol", RFC 294 (NIC 8304), MIT-Project MAC,
25 January 1972.
Bhushan, Abhay, "The File Transfer Protocol", RFC 354 (NIC 10596),
MIT-Project MAC, 8 July 1972.
Bhushan, Abhay, "Comments on the File Transfer Protocol (RFC 354)",
RFC 385 (NIC 11357), MIT-Project MAC, 18 August 1972.
Hicks, Greg, "User FTP Documentation", RFC 412 (NIC 12404), Utah,
27 November 1972.
Bhushan, Abhay, "File Transfer Protocol (FTP) Status and Further
Comments", RFC 414 (NIC 12406), MIT-Project MAC, 20 November 1972.
Braden, Bob, "Comments on File Transfer Protocol", RFC 430
(NIC 13299), UCLA/CCN, 7 February 1973.
Thomas, Bob, and Bob Clements, "FTP Server-Server Interaction",
RFC 438 (NIC 13770), BBN, 15 January 1973.
Braden, Bob, "Print Files in FTP", RFC 448 (NIC 13299), UCLA/CCN,
27 February 1973.
McKenzie, Alex, "File Transfer Protocol", RFC 454 (NIC 14333), BBN,
16 February 1973.
Bressler, Bob, and Bob Thomas, "Mail Retrieval via FTP", RFC 458
(NIC 14378), BBN-NET and BBN-TENEX, 20 February 1973.
Neigus, Nancy, "File Transfer Protocol", RFC 542 (NIC 17759), BBN,
12 July 1973.
Krilanovich, Mark, and George Gregg, "Comments on the File Transfer
Protocol", RFC 607 (NIC 21255), UCSB, 7 January 1974.
Pogran, Ken, and Nancy Neigus, "Response to RFC 607 - Comments on the
File Transfer Protocol", RFC 614 (NIC 21530), BBN, 28 January 1974.
Krilanovich, Mark, George Gregg, Wayne Hathaway, and Jim White,
"Comments on the File Transfer Protocol", RFC 624 (NIC 22054), UCSB,
Ames Research Center, SRI-ARC, 28 February 1974.
Bhushan, Abhay, "FTP Comments and Response to RFC 430", RFC 463
(NIC 14573), MIT-DMCG, 21 February 1973.
Braden, Bob, "FTP Data Compression", RFC 468 (NIC 14742), UCLA/CCN,
8 March 1973.
Bhushan, Abhay, "FTP and Network Mail System", RFC 475 (NIC 14919),
MIT-DMCG, 6 March 1973.
Bressler, Bob, and Bob Thomas "FTP Server-Server Interaction - II",
RFC 478 (NIC 14947), BBN-NET and BBN-TENEX, 26 March 1973.
White, Jim, "Use of FTP by the NIC Journal", RFC 479 (NIC 14948),
SRI-ARC, 8 March 1973.
White, Jim, "Host-Dependent FTP Parameters", RFC 480 (NIC 14949),
SRI-ARC, 8 March 1973.
Padlipsky, Mike, "An FTP Command-Naming Problem", RFC 506
(NIC 16157), MIT-Multics, 26 June 1973.
Day, John, "Memo to FTP Group (Proposal for File Access Protocol)",
RFC 520 (NIC 16819), Illinois, 25 June 1973.
Merryman, Robert, "The UCSD-CC Server-FTP Facility", RFC 532
(NIC 17451), UCSD-CC, 22 June 1973.
Braden, Bob, "TENEX FTP Problem", RFC 571 (NIC 18974), UCLA/CCN,
15 November 1973.
McKenzie, Alex, and Jon Postel, "Telnet and FTP Implementation -
Schedule Change", RFC 593 (NIC 20615), BBN and MITRE,
29 November 1973.
Sussman, Julie, "FTP Error Code Usage for More Reliable Mail
Service", RFC 630 (NIC 30237), BBN, 10 April 1974.
Postel, Jon, "Revised FTP Reply Codes", RFC 640 (NIC 30843),
UCLA/NMC, 5 June 1974.
Harvey, Brian, "Leaving Well Enough Alone", RFC 686 (NIC 32481),
SU-AI, 10 May 1975.
Harvey, Brian, "One More Try on the FTP", RFC 691 (NIC 32700), SU-AI,
28 May 1975.
Lieb, J., "CWD Command of FTP", RFC 697 (NIC 32963), 14 July 1975.
Harrenstien, Ken, "FTP Extension: XSEN", RFC 737 (NIC 42217), SRI-KL,
31 October 1977.
Harrenstien, Ken, "FTP Extension: XRSQ/XRCP", RFC 743 (NIC 42758),
SRI-KL, 30 December 1977.
Lebling, P. David, "Survey of FTP Mail and MLFL", RFC 751, MIT,
10 December 1978.
Postel, Jon, "File Transfer Protocol Specification", RFC 765, ISI,
June 1980.
Mankins, David, Dan Franklin, and Buzz Owen, "Directory Oriented FTP
Commands", RFC 776, BBN, December 1980.
Padlipsky, Michael, "FTP Unique-Named Store Command", RFC 949, MITRE,
July 1985.
[1] Feinler, Elizabeth, "Internet Protocol Transition Workbook",
Network Information Center, SRI International, March 1982.
[2] Postel, Jon, "Transmission Control Protocol - DARPA Internet
Program Protocol Specification", RFC 793, DARPA, September 1981.
[3] Postel, Jon, and Joyce Reynolds, "Telnet Protocol
Specification", RFC 854, ISI, May 1983.
[4] Reynolds, Joyce, and Jon Postel, "Assigned Numbers", RFC 943,
ISI, April 1985.
�g�b�v�y�[�W - �|��h�L�������g - RFC 959