RFC: 793
September 1981
prepared for
Defense Advanced Research Projects Agency
Information Processing Techniques Office
1400 Wilson Boulevard
Arlington, Virginia 22209
by
Information Sciences Institute
University of Southern California
4676 Admiralty Way
Marina del Rey, California 90291
TABLE OF CONTENTS
����
1. ����
�@1.1 ���@
�@1.2 �T�v
�@1.3 ���̃h�L�������g�ɂ���
�@1.4 �C���^�t�F�[�X
�@1.5 �I�y���[�V����
2. ����
�@2.1 ���ݓ���V�X�e���̗v�f
�@2.2 �I�y���[�V�����̃��f��
�@2.3 �z�X�g��
�@2.4 �C���^�t�F�[�X
�@2.5 ���̃v���g�R���Ƃ̊W
�@2.6 �M���ł���ʐM
�@2.7 �R�l�N�V�����̊m���Ɖ��
�@2.8 TITLE="2.8"�f�[�^�ʐM
�@2.9 �D��x�ƃZ�L�����e�B
�@2.10 �拭���̌���
3. �@�\�K��
�@�@3.1 �w�b�_�`��
�@�@3.2 �p��
�@�@3.3 �V�[�P���X�ԍ�
�@�@3.4 �R�l�N�V�����m��
�@�@3.5 �R�l�N�V�������
�@�@3.6 �D��x�ƃZ�L�����e�B
�@�@3.7 �f�[�^�ʐM
�@�@3.8 �C���^�t�F�[�X
�@�@3.9 �C�x���g����
�p��
�Q��
���̃h�L�������g�́ADoD �W�� Transmission Control Protocol (TCP) ���K�肵�Ă���B���̕W������Â��Ă��� �O�� ARPA TCP �K��́A9 �̔ł��������B�����Č��݂̃e�L�X�g�́A������������Ă���B�T�O��e�L�X�g�̗����Ɋւ��āA���̍�Ƃɑ����̊��������B���̕ҏW�́A����̏ڍׂނ��Ă���B�����āA�I�[�����̃o�b�t�@�T�C�Y�̒��� (end-of-letter buffer-size adjustments) ���폜���A�������J�j�Y���� push �@�\�Ƃ��čċK�肵�Ă���B
Jon Postel
Editor
�]������v���g�R�� (TCP: Transmission Control Protocol) �́A�p�P�b�g�����R���s���[�^�ʐM�l�b�g���[�N���ŁA�����Ă��̗l�ȃl�b�g���[�N�̑��ݐڑ��V�X�e���ɂ����āA�z�X�g�Ԃ̍����M���ł��� host-to-host �v���g�R���Ƃ��Ďg�p���邱�Ƃ��Ӑ}���Ă���B
���̃h�L�������g�́ATransmission Control Protocol �ɂ���Ď��s�����@�\�A�������������v���O�����A���̃T�[�r�X��v������v���O���������p�҂ւ̃C���^�t�F�[�X�ɂ��ċL�q���Ă���B
�R���s���[�^�ʐM�V�X�e���͌R���A�����A�s�����ɂ����đ�������d�v�Ȗ�����S���Ă���B���̃h�L�������g�͊�{�I�ɁA�R���R���s���[�^�ʐM�̗v���A���ɐM���̖����ʐM�ɂ�����M�����̋����A���G���̌������ɓI���i���Ă���B�����̖��͂̑����́A�s������̏�ʂł�������B
�헪�I�A��p�I�R���s���[�^�ʐM�l�b�g���[�N���J�����ꓱ�������ɂ�āA�����𑊌ݐڑ������i��A�L�͈͂ȃA�v���P�[�V�������T�|�[�g�ł���W���I�ȑ��ݏ����ʐM�v���g�R������邱�Ƃ��s���ɂȂ��Ă���B���̗l�ȕW���̕K�v�������z���āA���h���������Z�p�ψ��� (Deputy Undersecretary of Defense for Research and Engineering) �́A�����ŋK�肳��Ă��� Transmission Control Protocol (TCP) ���ADoD-wide �ȑ��ݏ����ʐM�v���g�R���W���̊�b�ł��邱�Ƃ�錾�����B
TCP �́A�R�l�N�V�����^�ŃG���h�c�[�G���h�̐M���ł���v���g�R���ł���A�}���`�l�b�g���[�N�A�v���P�[�V�������T�|�[�g����v���g�R���̑w�ɕ����ꂽ�K�w�ɍ��킹�邽�߂ɐv���ꂽ�BTCP �́A�ʁX�������݂ɐڑ����ꂽ�R���s���[�^�ʐM�l�b�g���[�N�ɐڑ����ꂽ�z�X�g�R���s���[�^�ŁA��g�̃v���Z�X�Ԃ̐M���ł��鑊�ݏ����ʐM�����BTCP �w�ȉ��̒ʐM�v���g�R���̐M�����ɂ��ẮA�قƂ�Ǒz�肵�Ă��Ȃ��BTCP �́A���ʃ��x���̃v���g�R������A�P���Ő��ݓI�ɐM���ł��Ȃ��f�[�^�O�����T�[�r�X�����邱�Ƃ�z�肵�Ă���B�����I�ɁATCP �̓n�[�h�g�ݍ��ݐڑ�����p�P�b�g�����A���͉�������l�b�g���[�N�܂ł́A�L�͈͂ȒʐM�V�X�e���̃X�y�N�g����ň�����ׂ��ł���B
TCP �́A[1] �� Cerf and Kahn �ɂ���čŏ��ɋK�肳�ꂽ�T�O�Ɋ�Â��Ă���BTCP �͊�{�I�� Internet Protocol [2] �̒���ɁA�w�ŕ�����ꂽ�v���g�R���̌n�ɓK�����Ă���AInternet Protocol �� TCP ���C���^�[�l�b�g�f�[�^�O������ "����" �ɓ������ꂽ�A�ϒ��̏��̃Z�O�����g�𑗎�M������@�����B�C���^�[�l�b�g�f�[�^�O�����́A�قȂ�l�b�g���[�N���ɂ��鑗�M���ƈ���� TCP ���A�h���X�t�������i�����BInternet Protocol �͖��A�����̃l�b�g���[�N�⑊�ݐڑ��Q�[�g�E�F�C��ʂ��ē]���Ɣz�����������邽�߂ɗv�����ꂽ TCP �Z�O�����g�̃Z�O�����g���ƍđg�ݗ��Ă������Ă���B����� Internet Protocol �́ATCP �Z�O�����g�̗D��x�A�Z�L�����e�B���ށA�敪�Ɋւ�������^�ԁB����Ă��̏��́A�����̃l�b�g���[�N�ɓn���ăG���h�c�[�G���h�ɓ`�B���邱�Ƃ��ł���B
+---------------------+ | higher-level | +---------------------+ | TCP | +---------------------+ | internet protocol | +---------------------+ |communication network| +---------------------+ Figure 1
���̃h�L�������g�̑唼�́A�z�X�g�R���s���[�^���̏�ʃ��x���v���g�R���Ɠ������Ă��� TCP �����̃R���e�L�X�g�ŋL�q����Ă���B����R���s���[�^�V�X�e���́A�l�b�g���[�N����\�t�g�E�F�A�����łȂ��ATCP �� Internet Protocol ����������Ă��� front-end �R���s���[�^���o�R���ăl�b�g���[�N�ɐڑ�����邩������Ȃ��BTCP �K��́A�K�� host-to-front-end �v���g�R������������Ă������Afront-end �̏ꍇ�����������ł���悤�ȏ�ʃ��x���v���g�R���ւ̃C���^�t�F�[�X���K�肵�Ă���B
TCP �́A�}���`�l�b�g���[�N���ł́A�M���ł��� process-to-process �ʐM�T�[�r�X����邱�Ƃ��Ӑ}���Ă���BTCP �́A�����̃l�b�g���[�N�ŋ��ʂŎg�p����� host-to-host �̃v���g�R���ł��邱�Ƃ��Ӑ}���Ă���B
���̃h�L�������g�́A��ʃ��x���v���g�R���Ƃ̑��ݓ���ƁA���� TCP �Ƃ̑��ݓ���̗��ʂɊւ���S�Ă� TCP �̎����ɗv�����ꂽ�U�镑���̋K���\���Ă���B���̐߂̎c��́A�v���g�R���C���^�t�F�[�X�Ə����̔��ɊȌ��Ȋϓ_����Ă���B�� 2 �߂́ATCP �v�̍��{�I�v�z��v�Ă���B�� 3 �߂́A�l�X�ȃC�x���g (�V���ȃZ�O�����g�̓��B�A���p�҂̃R�[���A�G���[��) �������������� TCP �ɗv�����ꂽ����̏ڍׂȋK��� TCP �Z�O�����g�̃t�H�[�}�b�g�̏ڍׂ̗�������Ă���B
TCP �́A����ł͗��p�҂��A�v���P�[�V�����̃v���Z�X�ւ́A��������ł͗Ⴆ�� Internet Protocol �̗l�ȉ��ʃ��x���v���g�R���ւ̋��n��������B
�A�v���P�[�V�����v���Z�X�� TCP �Ԃ̃C���^�t�F�[�X�́A�����I�ɏڂ����}������Ă���B���̃C���^�t�F�[�X�́A�t�@�C�����������߂ɃI�y���[�e�B���O�V�X�e�����A�v���P�[�V�����v���Z�X�ɒ��Ă���R�[���ɁA���ɂ悭�����R�[���̃Z�b�g����\�������B�Ⴆ�A�m�����ꂽ�R�l�N�V������Ńf�[�^�𑗎�M���邽�߂ɁA�R�l�N�V�������I�[�v��/�N���[�Y����R�[��������B�� TCP �́A���ŃA�v���P�[�V�����v���O�����ƒʐM�ł��邱�Ƃ����҂���Ă���B�������̃I�y���[�e�B���O�V�X�e�����ɓK�����C���^�t�F�[�X��v���邽�߂ɁA���Ȃ�̎��R�x�� TCP �̎����҂ɋ�����Ă��邪�A�S�Ă̐����������� TCP/user �C���^�t�F�[�X�ɂ����āA�ŏ����̋@�\���͋��߂���B
TCP �Ɖ��ʃ��x���v���g�R���Ԃ̃C���^�t�F�[�X�́A2 �̃��x�������݂��ɔ��ɏ���n���������J�j�Y�������݂���Ƃ����z��������A�{���I�ɋK�肵�Ȃ��B��ʓI�ɁA���ʃ��x���̃v���g�R���ł��̃C���^�[�t�F�[�X���K�肷�邱�Ƃ����҂����BTCP �́A���ݐڑ����ꂽ���Ɉ�ʓI�Ȋ��œ��삷�邽�߂ɐv����Ă���B���̃h�L�������g��ʂ��đz�肳��鉺�ʃ��x���̃v���g�R���́AInternet Protocol [2] �ł���B
��L�Ŏ�����Ă���l�ɁATCP �̎�v�ړI�́A��g�̃v���Z�X�ԂŐM���ł��ĕۏł���_������T�[�r�X�A���邢�̓R�l�N�V�����T�[�r�X����邱�Ƃł���B�M�����̔����C���^�[�l�b�g�ʐM�V�X�e���̍ŏ�ʂł��̃T�[�r�X����邽�߂ɁA�ȉ��̕���ɂ�����ݔ����K�v�ł���B
��{�f�[�^�]�� (Basic Data Transfer)
�M���� (Reliability)
�t���[���� (Flow Control)
���d�� (Multiplexing)
�R�l�N�V���� (Connections)
�D��x�ƃZ�L�����e�B (Precedence and Security)
�����̕���̊e�X�ɂ����� TCP �̊�{�����́A�ȉ��̃p���O���t�ɋL�q����Ă���B
TCP �́A���̃I�N�e�b�g���C���^�[�l�b�g�V�X�e����ʂ��ē]�����邽�߂̃Z�O�����g�Ƀp�b�P�[�W���O���邱�Ƃɂ���āA�I�N�e�b�g�̘A���I�X�g���[���𗘗p�ҊԂ̊e�X�̕����ɓ]�����邱�Ƃ��ł���B�ʏ� TCP �́A���f�[�^���u���b�N������]�����邩�����g�̕X�Ō��肷��B
���X���p�҂́ATCP �ɓn�����f�[�^�̑S�Ă��]�����ꂽ���Ƃ��m���߂�K�v������B���̖ړI�̂��߂� push �@�\����`����Ă���BTCP �ɓn���ꂽ�f�[�^�����ۂɓ]�����ꂽ���Ƃ��m���߂邽�߂ɁA���M�����p�҂� TCP �ɁA��M�����p�҂� push ����Ǝw������Bpush �́ATCP �ɂ��̃|�C���g�܂ł̃f�[�^����M���ɑ����ɑ��M/�z��������B���m�� push �|�C���g�͎�M�����p�҂ɂ͌����Ȃ���������Ȃ��B�܂� push �@�\�́A���R�[�h���E�̃}�[�J���������Ȃ��B
TCP �́A�C���^�[�l�b�g�ʐM�V�X�e���ɂ���Ĕj��������A����������A�d��������A���Ԓʂ�ɔz������Ă��Ȃ��f�[�^�������Ȃ���Ȃ�Ȃ��B����́A�]������e�X�̃I�N�e�b�g�ɃV�[�P���X�ԍ������蓖�āA��M�� TCP ����̍m�艞�� (ACK: positive acknowledgment) ��v�����邱�Ƃɂ���Ď��������B���� �^�C���A�E�g�Ԋu�ȓ��� ACK ����M���Ȃ���A���̃f�[�^�͍đ������B��M���ł́A���Ԓʂ�Ɏ�M���Ă��Ȃ���������Ȃ��Z�O�����g�𐳂��������t������A�d������菜�����߂ɃV�[�P���X�ԍ����g�p����B�j���́A�]������Z�O�����g�̊e�X�Ƀ`�F�b�N�T����t�����A��M���ł�����`�F�b�N���āA�j��������Z�O�����g�͔j�����邱�Ƃɂ���ď��������B
TCP ���K�ɋ@�\�������A�C���^�[�l�b�g�V�X�e�������S�ɕ�������Ȃ�����A�]���G���[������ȃf�[�^�̔z���ɉe�����邱�Ƃ͂Ȃ����낤�BTCP �́A�C���^�[�l�b�g�ʐM�V�X�e���ُ̈킩�������B
TCP �́A��M�҂����M�҂ɂ���đ��M�����f�[�^�ʂ�}�������i�����B����́A����Ɏ�M�����ŏI�Z�O�����g�ȍ~�̎���ł���V�[�P���X�ԍ��͈̔͂������S�Ă� ACK �ŁA"�E�B���h�E" ��Ԃ����Ƃɂ���Ď��������B�E�B���h�E�́A���M�҂����̋�����O�ɓ]�����Ă��悢�I�N�e�b�g���������B
�P��̃z�X�g���ő����̃v���Z�X�� TCP �ʐM�ݔ����Ɏg�p�\�ɂ��邽�߂ɁATCP �͊e�z�X�g���ŃA�h���X���|�[�g�̃Z�b�g�����B�C���^�[�l�b�g�ʐM�w����̃l�b�g���[�N�ƃz�X�g�̃A�h���X��A�����āA�\�P�b�g���`������B�\�P�b�g�̃y�A�͊e�X�̃R�l�N�V���������j�[�N�Ɏ��ʂ���B���Ȃ킿�A�\�P�b�g�͕����̃R�l�N�V�����œ����Ɏg�p���Ă��悢�B
�|�[�g�̃v���Z�X�ւ̌��ѕt�� (binding) �́A�e�X�̃z�X�g�ɂ���ēƗ����ď��������B�������A�����Ύg�p�����v���Z�X (�Ⴆ�� "logger" �⎞�����T�[�r�X) ���A���ɒm���Ă���Œ�̃\�P�b�g�Ɋ��蓖�Ă邱�Ƃ́A�֗��ł��邱�Ƃ��������Ă���B�����̃T�[�r�X�́A���m�̃A�h���X��ʂ��ăA�N�Z�X���邱�Ƃ��ł���B���̃v���Z�X�̃|�[�g�A�h���X��݂�����m�邱�Ƃ́A��蓮�I�ȃ��J�j�Y������������Ȃ��B
��L�Ɏ�����Ă���M�����ƃt���[���䃁�J�j�Y���́ATCP ���e�X�̃f�[�^�X�g���[���ɑ��邠��X�e�[�^�X�������������Ĉێ����邱�Ƃ�K�v�Ƃ���B�\�P�b�g��V�[�P���X�ԍ��A�E�B���h�E�T�C�Y���܂ނ����̏��̃R���r�l�[�V�����́A�R�l�N�V�����ƌĂ��B�e�X�̃R�l�N�V�����́A���҂����ʂ����̃\�P�b�g�ɂ���ă��j�[�N�Ɏw�肳���B
2 �̃v���Z�X���ʐM���邱�Ƃ�]�ގ��A������ TCP �͂܂��n�߂ɃR�l�N�V�������m�����Ȃ���Ȃ�Ȃ� (�e�X�̑��ŃX�e�[�^�X��������������)�B�����̒ʐM�������������A�R�l�N�V�������I�����̓N���[�Y���āA���Ŏg�p���邽�߂Ɏ������������B
�R�l�N�V�����́A�M���ł��Ȃ��z�X�g�ԂŁA�M���ł��Ȃ��C���^�[�l�b�g�ʐM�V�X�e����Ŋm�����Ȃ���Ȃ�Ȃ��̂ŁA�N���b�N�Ɋ�Â��V�[�P���X�ԍ����������n���h�V�F�[�N���J�j�Y�����A�R�l�N�V�����̏������ُ������邽�߂ɗ��p�����B
TCP �̗��p�҂́A���̒ʐM�̃Z�L�����e�B�ƗD��x���w�����Ă��悢�B�����̓������K�v�łȂ����Ɏg�p�����f�t�H���g�l���݂����Ă���B
���݃l�b�g���[�N���́A�Q�[�g�E�F�C���o�R���đ��ݐڑ������l�b�g���[�N�ɐڑ����ꂽ�z�X�g�ō\�������B�l�b�g���[�N�̓��[�J���l�b�g���[�N (�Ⴆ�� Ethernet) ����K�̓l�b�g���[�N (�Ⴆ�� ARPANET) �̂ǂ��炩�ł��邱�Ƃ��z�肳��邪�A������̃P�[�X���p�P�b�g�����Z�p�Ɋ�Â��Ă���B���b�Z�[�W��������銈���G�[�W�F���g�́A�v���Z�X�ł���B�l�b�g���[�N���̃v���g�R����Q�[�g�E�F�C��z�X�g�̗l�X�ȃ��x���́A�v���Z�X�|�[�g�Ԃ̘_���ڑ���� 2 �����f�[�^�t���[����鑊�ݏ����ʐM�V�X�e�����T�|�[�g����B
�p�P�b�g�Ƃ������t�́A�z�X�g�ƃl�b�g���[�N�Ԃ� 1 �g�����U�N�V�����̃f�[�^���Ӗ����邽�߂ɁA���̓I�ɂ����ł͎g�p�����B�l�b�g���[�N���Ō��������f�[�^�u���b�N�̃t�H�[�}�b�g�́A�ʏ��X�ɂ͊W�Ȃ��B
�z�X�g�́A�l�b�g���[�N�ƌ��т����R���s���[�^�ł���A�ʐM�l�b�g���[�N�̊ϓ_���猩��ƃp�P�b�g�̑��M���ƈ���ł���B�v���Z�X�́A�z�X�g�R���s���[�^���ł͊����������v�f�Ƃ��Č����� (���s�v���O�����Ƃ��Ẵv���Z�X�̌����ȋ��ʒ�`�ɏ]����)�B�[����t�@�C�����͑��� I/O �f�o�C�X�ł����A�v���Z�X�̎g�p��ʂ��Č݂��ɒʐM���Ă���l�Ɍ�����B����āA�S�Ă̒ʐM�͑��݃v���Z�X�ʐM�Ƃ��Č�����B
�v���Z�X�́A�������g�Ƒ��̃v���Z�X�Ƃ̊Ԃ̊���̒ʐM�X�g���[���̒��ŋ�ʂ���K�v������̂ŁA�e�X�̃v���Z�X�͐������̃|�[�g�������A������ʂ��đ��̃v���Z�X�̃|�[�g�ƒʐM���邾�낤�B
�v���Z�X�́ATCP ���Ăяo���A�A�[�M�������g�Ƃ��ăf�[�^�̃o�b�t�@��n�����Ƃɂ���ăf�[�^��]������BTCP �́A�����̃o�b�t�@����f�[�^���Z�O�����g�ɕ�ݍ��ށB��M�� TCP �́A�f�[�^���Z�O�����g�����M�����[�U�̃o�b�t�@�ɒu���A��M�����[�U�ɒʒm����BTCP �́A�M���ł��鏇���̃f�[�^�]����ۏ��邽�߂Ɏg�p���鐧������A�Z�O�����g���Ɋ܂ށB
�C���^�[�l�b�g�ʐM�̃��f���́A���[�J���l�b�g���[�N�ւ̃C���^�t�F�[�X�����e TCP �Ɍ��ѕt���� Internet Protocol ���W���[�������݂��邱�Ƃł���B���̃C���^�[�l�b�g���W���[���́ATCP �Z�O�����g���C���^�[�l�b�g�f�[�^�O�����̓����Ƀp�P�b�g�����A�����̃f�[�^�O����������C���^�[�l�b�g���W���[�����A���邢�͒��Ԃ̃Q�[�g�E�F�C�ɐU�蕪����B���[�J���l�b�g���[�N��ʂ��ăf�[�^�O������]�����邽�߂ɁA����̓��[�J���l�b�g���[�N�p�P�b�g�ɖ��ߍ��܂��B
�p�P�b�g�����́A���[�J���p�P�b�g�̈���C���^�[�l�b�g���W���[���ւ̔z����B�����邽�߂ɁA�X�Ȃ�p�P�b�g���A�Z�O�����g���A���邢�͑��̏��������s���邩������Ȃ��B
�l�b�g���[�N�Ԃ̃Q�[�g�E�F�C�ɂ����ẮA�C���^�[�l�b�g�f�[�^�O�����̓��[�J���p�P�b�g���� "��݂��J����� (unwrapped)"�A�ǂ̃l�b�g���[�N��ʂ��ăC���^�[�l�b�g�f�[�^�O���������ɑ��邩�����肵�悤�Ǝ��݂�B���̌�A�C���^�[�l�b�g�f�[�^�O�����́A���̃l�b�g���[�N�ɓK�������[�J���p�P�b�g�� "��܂� (wrapped)"�A���̃Q�[�g�E�F�C�����͍ŏI����ɐU��������B
�Q�[�g�E�F�C�́A�������̃l�b�g���[�N��ʂ��Ă̓]���ɕK�v�ł���A�C���^�[�l�b�g�f�[�^�O�������A��菬�����C���^�[�l�b�g�f�[�^�O�����̃t���O�����g�ɕ������Ă��悢�B������s�����߂ɁA�Q�[�g�E�F�C�� 1 �Z�b�g�̃C���^�[�l�b�g�f�[�^�O���������A�e�X 1 �̃t���O�����g���^�ԁB���̃t���O�����g�́A���̃Q�[�g�E�F�C�ŁA��菬�����t���O�����g�ɍX�ɕ�������邩������Ȃ��B�C���^�[�l�b�g�f�[�^�O�����̃t���O�����g�`���́A����C���^�[�l�b�g���W���[�����t���O�����g���C���^�[�l�b�g�f�[�^�O�����ɍđg�ݗ��Ăł���悤�ɐv����Ă���B
����C���^�[�l�b�g���W���[���́A(�K�v������đg�ݗ��Ă��s������) �f�[�^�O��������Z�O�����g�������A���� TCP �ɓn���B
���̒P���ȏ������f���́A�����̏ڍׂ����U���B��̏d�v�ȓ����̓T�[�r�X�^�C�v�ł���B����́A�Q�[�g�E�F�C (���̓C���^�[�l�b�g���W���[��) �ɁA���̃Q�[�g�E�F�C�ɔz������̂Ɏg�p�����T�[�r�X�p�����^��I������ۂ̎w�W�ƂȂ�������B�T�[�r�X���̃^�C�v�Ɋ܂܂����̂́A�f�[�^�O�����̗D��x�ł���B�f�[�^�O�����́A�������x���̃Z�L�����e�B���ʼn^�p�����z�X�g��Q�[�g�E�F�C���A�Z�L�����e�B���l�����ēK�Ƀf�[�^�O���������ʉ����邱�Ƃ��\�ɂ��邽�߂ɁA�Z�L�����e�B�����^�Ԃ�������Ȃ��B
TCP �́A�I�y���[�e�B���O�V�X�e�����̃��W���[���ł���Ƒz�肳���B���p�҂́A�t�@�C���V�X�e���ɃA�N�Z�X����̂ƂقƂ�Ǔ����l�� TCP �ɃA�N�Z�X����BTCP �́A�Ⴆ�f�[�^�\�����Ǘ����邽�߂ɁA���̃I�y���[�e�B���O�V�X�e���̋@�\���Ă�ł��悢�B�l�b�g���[�N�ւ̎��ۂ̃C���^�t�F�[�X�́A�f�o�C�X�h���C�o���W���[���ɂ���Đ��䂳���Ƒz�肳���BTCP �́A�l�b�g���[�N�f�o�C�X�h���C�o�ڌĂ��A����Ƀf�o�C�X�h���C�o���ĂԂł��낤�C���^�[�l�b�g�f�[�^�O�����v���g�R�����W���[�����ĂԁB
TCP �̃��J�j�Y���́Afront-end �v���Z�b�T�ɂ����� TCP �̎��������O���Ă��Ȃ��BTCP �̃��J�j�Y���́Afront-end �v���Z�b�T�ɂ����� TCP �̎��������O���Ă��Ȃ��B�������������������ł́Ahost-to-front-end �v���g�R���́A���̃h�L�������g�ŋK�肳��Ă��� TCP ���[�U�C���^�t�F�[�X�̃^�C�v���T�|�[�g����@�\����Ȃ���Ȃ�Ȃ��B
TCP/���[�U�C���^�t�F�[�X�́ATCP ��ŗ��p�҂��R�l�N�V������ OPEN �� CLOSE ������A�f�[�^�� SEND �� RECEIVE ������A�R�l�N�V�����ɂ��Ă� STATUS ���擾���邽�߂̌Ăяo�������B�����̌Ăяo���́A�Ⴆ�t�@�C���� open, read, close �̂悤�ȁA�I�y���[�e�B���O�V�X�e����̃��[�U�v���O��������̑��̌Ăяo���Ǝ������̂ł���B
TCP/internet �C���^�t�F�[�X�́A�C���^�[�l�b�g�V�X�e�����̂�����z�X�g�̒��ɂ��� TCP ���W���[���ɃA�h���X�t����ꂽ�f�[�^�O�����𑗎�M����Ăяo�������B�����̌Ăяo���́A�A�h���X��T�[�r�X�^�C�v�A�D��x�A�Z�L�����e�B�A���̐�����n���p�����^�����B
�ȉ��̐}�́A�v���g�R���K�w���ł� TCP �̏ꏊ�������Ă���B
+------+ +-----+ +-----+ +-----+ |Telnet| | FTP | |Voice| ... | | Application Level +------+ +-----+ +-----+ +-----+ | | | | +-----+ +-----+ +-----+ | TCP | | RTP | ... | | Host Level +-----+ +-----+ +-----+ | | | +-------------------------------+ | Internet Protocol & ICMP | Gateway Level +-------------------------------+ | +---------------------------+ | Local Network Protocol | Network Level +---------------------------+ Protocol Relationships Figure 2.
TCP ����ʃ��x���̃v���g�R���������I�ɃT�|�[�g�ł��邱�Ƃ����҂����BARPANET Telnet �� TCP �ւ� AUTODIN II THP �̂悤�ȁA��ʃ��x���v���g�R���ւ̃C���^�t�F�[�X�������Ƃ͊ȒP�Ȃ͂��ł���B
TCP �R�l�N�V������ő��M�����f�[�^�̃X�g���[���́A�M����������A���Ԓʂ�Ɉ���ɔz�������B
�V�[�P���X�ԍ��ƍm�艞���𗘗p���邱�Ƃɂ���āA�M���ł���]�����s����B�T�O��ł́A�f�[�^�̊e�I�N�e�b�g�ɃV�[�P���X�ԍ������蓖�Ă���B�f�[�^�̈�Ԗڂ̃I�N�e�b�g�̃Z�O�����g���̃V�[�P���X�ԍ��́A���̃Z�O�����g�Ƌ��ɓ]������A�Z�O�����g�V�[�P���X�ԍ��ƌĂ��B�Z�O�����g�́A���Ɋ��҂����t�����]���̃f�[�^�I�N�e�b�g�̃V�[�P���X�ԍ��ł���m�F�ԍ����^�ԁBTCP ���f�[�^���܂�ł���Z�O�����g��]�����鎞�A�đ��L���[�ɃR�s�[��u���A�^�C�}�[���J�n����B���̃f�[�^�ɑ���m�艞������M�������A���̃Z�O�����g���L���[����폜�����B�����^�C�}����������܂łɍm�艞������M���Ȃ���A���̃Z�O�����g�͍đ������B
TCP �ɂ��m�艞���́A�f�[�^���G���h���[�U�ɓ͂������Ƃ͕ۏ��Ă��炸�A��M�� TCP ���f�[�^���G���h���[�U�ɓ͂���ӔC�����邱�Ƃ�ۏ��Ă��邾���ł���B
TCP �Ԃ̃f�[�^�̗�������邽�߂ɁA�t���[���䃁�J�j�Y�������������B��M�� TCP �́A���M�� TCP �� "�E�B���h�E" ��ʒm����B���̃E�B���h�E�́A��M�� TCP �Ɍ��ݎ�M���鏀��������Ă���I�N�e�b�g�̐� (�m�F�ԍ�����n�܂�) �������Ă���B
TCP ��������������Ȃ��ʁX�̃f�[�^�X�g���[�������ʂ��邽�߂� TCP �̓|�[�g���ʎq�����B�|�[�g���ʎq�͊e�X�� TCP �ɂ���ēƎ��ɑI�������̂ŁA�����̓��j�[�N�łȂ��Ƃ��悢�B�e TCP ���Ń��j�[�N�ȃA�h���X����邽�߂ɁA��X�� TCP �����ʂ���C���^�[�l�b�g�A�h���X���|�[�g���ʎq�ƘA�����āA�݂��ɐڑ����ꂽ�S�Ẵl�b�g���[�N��ʂ��ă��j�[�N�ł���\�P�b�g������B
�R�l�N�V�����́A�ŏI�I�ɂ̓\�P�b�g�̃y�A�ɂ���Ċ��S�Ɏw�肳���B���[�J���\�P�b�g�́A�ʁX�̊O���̃\�P�b�g�ւ̐������̃R�l�N�V�����ɎQ�����Ă��悢�B�R�l�N�V�����͗������Ƀf�[�^���^�Ԃ̂Ɏg�p�ł���B���Ȃ킿 "�S��d" �ł���B
TCP �͂ǂ̂悤�ɑI�������ł���A���R�Ƀ|�[�g���v���Z�X�Ɋ��蓖�Ă邱�Ƃ��ł���B�������A����̊�{�I�ȊT�O���A����������ɕK�v�ł���BTCP �������i�ɂ���� "�K��" �v���Z�X�݂̂Ɋ��蓖�Ă�A�悭�m��ꂽ (well-known) �\�P�b�g�����݂��Ȃ���Ȃ�Ȃ��B�v���Z�X�̓|�[�g�� "���L" ���A�v���Z�X�͎��珊�L���Ă���|�[�g��ɂ̂݃R�l�N�V�������N���ł���Ƒz�肷��B(���L�������������i�̓��[�J���Ȗ��ł���B�������A�|�[�g�v�� (Request Port) �̃��[�U�R�}���h��A�w�肳�ꂽ�v���Z�X�ւ̃|�[�g�̃O���[�v�����j�[�N�Ɋ��蓖�Ă���@�A�Ⴆ�|�[�g���̍����r�b�g���w�肳�ꂽ�v���Z�X�Ɋ��蓖�Ă铙�A���z�肳���)�B
�R�l�N�V�����́A���[�J���|�[�g�ƊO�̃\�P�b�g�A�[�M�������g�ɂ�� OPEN �R�[���Ŏw�肳���B���Ԃ��� TCP �́A���[�U���ȍ~�̌Ăяo���ŃR�l�N�V�������Q�Ƃ��� (�Z��) ���[�J���R�l�N�V�����������B�R�l�N�V�����Ɋւ��Ċo���Ă����Ȃ���Ȃ�Ȃ����̂��������B���̏���~�ς��邽�߂ɁA��X�͓]������u���b�N (TCB: Transmission Control Block) �ƌĂ��f�[�^�\��������Ƒz������B��̎����헪�́A���̃R�l�N�V�����ɑ��� TCB �ւ̃|�C���^�ł��郍�[�J���ȃR�l�N�V�������������Ƃł���BOPEN �R�[���́A�R�l�N�V�����m����ϋɓI�ɐ��s���邩�A���ɓI�ɑ҂����w�肷��B
���ɓI OPEN �v���Ƃ́A�v���Z�X���R�l�N�V�����̋N�������݂�̂ł͂Ȃ��A���̓R�l�N�V�����v���̎�M��]��ł��邱�Ƃ��Ӗ�����B���ɓI OPEN ��v�����Ă���v���Z�X�́A�����锭�Ď҂���̃R�l�N�V�����v�����������B���̏ꍇ�A���w��̃\�P�b�g�ł��邱�Ƃ��������߂ɁA�S�� 0 �̊O���̃\�P�b�g���g�p�����B���w��̊O���\�P�b�g�͏��ɓI OPEN �݂̂Ɏg�p�ł���B
���m�̑��v���Z�X�ɑ���T�[�r�X��������v���Z�X�́A�O���\�P�b�g���w�肹���ɏ��ɓI OPEN �v���s���邾�낤�B��������A���̃��[�J���\�P�b�g�ɃR�l�N�V������v�����������Ȃ�v���Z�X�Ƃł��A�R�l�N�V�������m�����邱�Ƃ��ł���B�����A���̃��[�J���\�P�b�g�����̃T�[�r�X�Ɋ��蓖�Ă��Ă��邱�Ƃ��m���Ă���A�𗧂ł��낤�B
�悭�m��ꂽ�\�P�b�g�́A�\�P�b�g�A�h���X��W���I�ȃT�[�r�X�ɗD��I�Ɋ��蓖�Ă�̂ɕ֗��ȃ��J�j�Y���ł���B�Ⴆ�A"Telnet �T�[�r�X" �v���Z�X�́A�i�v�I�ɂ������̃\�P�b�g�Ɋ��蓖�Ă��Ă���A���̃\�P�b�g�� File Transfer �� Remote Job Entry, Text Generator, Echoer, Sink �v���Z�X�Ƃ��ė\��Ă���B(�Ō�� 3 �̓e�X�g�̂��߂̂��̂ł���B) �\�P�b�g�A�h���X�́A�V���ɍ쐬���ꂽ�T�[�r�X�������ł��낤�A�������̃\�P�b�g��Ԃ� "Look-Up" �T�[�r�X�ւ̃A�N�Z�X�Ƃ��ė\��邩������Ȃ��B
�v���Z�X�͏��ɓI OPEN �s���A���̃v���Z�X����ϋɓI OPEN ����̂�҂��Ƃ��ł���B�����āA�R�l�N�V�������m�����ꂽ���ATCP �ɂ���Ēʒm�����B�݂��ɓ����ɐϋɓI OPEN �s���� 2 �̃v���Z�X�́A�������ڑ������ł��낤�B���̗Z�ʐ��́A�R���|�[�l���g���݂��ɔ��œ��삷�镪�U�R���s���[�e�B���O�̃T�|�[�g�ɂƂ��ďd�v�ł���B
�����̏��ɓI OPEN ��O���̐ϋɓI OPEN �ł̃\�P�b�g���ƍ����邽�߂ɁA2 �̌����I�ȃP�[�X������B��ڂ́A�����̏��ɓI OPEN �����S�ɊO���̃\�P�b�g���w�肷��P�[�X�ł���B���̏ꍇ�A���m�Ɉ�v���Ȃ���Ȃ�Ȃ��B��ڂ́A�����̏��ɓI OPEN ���O���̃\�P�b�g���w�肵�Ȃ��܂܂Ƃ���P�[�X�ł���B���̏ꍇ�A�����̃\�P�b�g����v���������O���\�P�b�g������ł���B
TCB �� (���̗l�� TCB �����݂���Ȃ��) ��v����ł��낤�B �����A����̎����\�P�b�g�Ŋ���̃y���f�B���O�ɂȂ��Ă�����ɓI OPEN (TCB �ɋL�^����Ă���) �����݂���Ȃ�A�O���̐ϋɓI OPEN �́A���w��̊O���\�P�b�g�� TCB ��I������O�ɁA�O���̐ϋɓI OPEN �Ŏw�肳�ꂽ�O���\�P�b�g�� TCB �ƈ�v���邾�낤 (���̗l�� TCB �����݂���Ȃ��)�B
�R�l�N�V�������m�����邽�߂̎葱���͓��� (SYN: synchronize) ����t���O�𗘗p���A3 �̃��b�Z�[�W�������s���B���̌����� 3 �����n���h�V�F�[�N [3] �Ɩ��t�����Ă���B
�R�l�N�V�����́ASYN ���܂ރZ�O�����g�̓����ƁA���[�U OPEN �R�}���h�ɂ���Ċe�X�������ꂽ TCB �G���g���̑҂��Ƃ̑҂����킹�ɂ���ċN�������B�����ƊO���̃\�P�b�g�̏ƍ��́A���R�l�N�V�������N�����ꂽ�������肷��B���̃R�l�N�V�����́A�V�[�P���X�ԍ����������œ������Ƃ�ꂽ���� "�m���� (established)" �ɂȂ�B
�R�l�N�V�����̃N���A���Z�O�����g�̌������s���B���̏ꍇ FIN ����t���O���^�ԁB
�R�l�N�V������ɗ����f�[�^�́A�I�N�e�b�g�̃X�g���[���ƍl������B���M�����[�U�͊e�X�� SEND �R�[���ŁA���̃R�[�� (�Ƃ������s�R�[��) ���̃f�[�^���Ɏ�M�����[�U�ɉ����o���ׂ����ۂ����APUSH �t���O��ݒ肷�邱�Ƃɂ���Ďw������B
���M�� TCP �́Apush �@�\���ʒB�����܂ŁA���M�����[�U����̃f�[�^���W�߁A�Z�O�����g���̃f�[�^��s���̗ǂ����ɑ��M���邱�Ƃ��ł���Bpush �@�\���ʒB�����ƑS�Ă̖����M�f�[�^�𑗐M���Ȃ���Ȃ�Ȃ��B��M���� TCP �� PUSH �t���O�����o������A��M���̃v���Z�X�ɂ��̃f�[�^��n���O�ɑ��M�� TCP ����f�[�^���X�ɑ҂��Ă͂Ȃ�Ȃ��B
push �@�\�ƃZ�O�����g���E�̊Ԃ́A�K�������W�͂Ȃ��B�������̃Z�O�����g���̃f�[�^�́A���̑S�Ă��邢�͈ꕔ���� 1 �� SEND �R�[���̌��ʂ�������Ȃ����A������ SEND �R�[���̌��ʂ�������Ȃ��B
push �@�\�� PUSH �t���O�̖ړI�́A���M�����[�U�����M�����[�U�Ƀf�[�^�������o�����Ƃł���B�L�^�T�[�r�X�͒��Ȃ��B
push �@�\�� TCP/���[�U�C���^�t�F�[�X��n��f�[�^�̃o�b�t�@�̎g�p�͘A�������B��M�����[�U�̃o�b�t�@�ɓ������f�[�^�� PUSH �t���O���t���Ă��邽�тɁA���̃o�b�t�@�͂��Ƃ���t�ɂȂ��Ă��Ȃ��Ă��A�������邽�߂Ƀ��[�U�ɕԂ����B�����APUSH �����o����O�Ƀ��[�U�o�b�t�@����t�ɂ���f�[�^�����B������A���̃f�[�^�̓o�b�t�@�T�C�Y�̒P�ʂŃ��[�U�ɓn�����B
TCP �́A��M�������ݓǂݍ���ł���f�[�^�X�g���[���̍X�ɐ�̃|�C���g�ɋً}�̃f�[�^�����݂��邱�Ƃ��A�f�[�^�̎�M���ɒʒm�����i������BTCP �ً͋}�f�[�^�̃y���f�B���O��ʒm����ۂɁA���[�U�������I�ɉ����s�������`���邱�Ƃ͎��݂Ă��Ȃ��B�������A��M���v���Z�X���ً}�̃f�[�^�������ɏ������铮������s���邾�낤�Ƃ����Ƃ͒ʏ�l������B
TCP �́A1 �R�l�N�V�������� TCP ���[�U�ɗD��x�ƃZ�L�����e�B����邽�߂ɁAInternet Protocol �T�[�r�X�^�C�v�t�B�[���h�ƃZ�L�����e�B�I�v�V�������g�p����B�S�Ă� TCP ���W���[�����������x���̃Z�L�����e�B���̋@�\��K�v�Ƃ���킯�ł͂Ȃ��B������͕̂��ނ��Ȃ��g�p�݂̂Ɍ��肷�邩������Ȃ����A�܂�������̂� 1 �̃Z�L�����e�B���x����R���p�[�g�����g�ł̂ݏ������邩������Ȃ��B����āATCP �̎����ƃ��[�U�ւ̃T�[�r�X�́A�������x���̃Z�L�����e�B�P�[�X�̃T�u�Z�b�g�Ɍ��肳��邩������Ȃ��B
�������x���̃Z�L�����e�B���ŏ������� TCP ���W���[���́A�Z�L�����e�B�A�R���p�[�g�����g�A�D��x�����o�̓Z�O�����g��K�Ƀ}�[�N���Ȃ���Ȃ�Ȃ��B�������� TCP ���W���[���̓��[�U��ATelent �� THP ���̏�ʃ��x���̃v���g�R���ɁA�]�܂����R�l�N�V�����̃Z�L�����e�B���x���A�R���p�[�g�����g�A�D��x�̎w����\�ɂ��邽�߂̃C���^�t�F�[�X����Ȃ���Ȃ�Ȃ��B
TCP �̎����́A�拭���̈�ʌ���: ����s�����Ƃɂ͐T�d�ɁA������������̂ɂ͊���ɁA�ɏ]���B
TCP �Z�O�����g�̓C���^�[�l�b�g�f�[�^�O�����Ƃ��đ��M�����BInternet Protocol �w�b�_�́A���M���ƈ���z�X�g�A�h���X [2] ���܂ފ���̏��t�B�[���h���^�ԁBTCP �w�b�_�̓C���^�[�l�b�g�w�b�_�̎��ɑ����A TCP �v���g�R���ɓ��L�̏������B���̋敪���ɂ��ATCP �ȊO�̃z�X�g���x���̃v���g�R�������݂ł���B
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3. TCP Header Format ���L: ���}�[�N�� 1 �r�b�g�������B
Source Port: 16 bits
���M���|�[�g�ԍ�
Destination Port: 16 bits
����|�[�g�ԍ�
Sequence Number: 32 bits
���̃Z�O�����g���̈�Ԗڂ̃f�[�^�I�N�e�b�g�̃V�[�P���X�ԍ� (SYN
������Ă��鎞������)�B���� SYN ������Ă���A�V�[�P���X�ԍ��͏����V�[�P���X�ԍ�
(ISN) �ŁA��Ԗڂ̃f�[�^�I�N�e�b�g�� ISN+1 �ł���B
Acknowledgment Number: 32 bits
�����AACK ����r�b�g���ݒ肳��Ă���A���̃t�B�[���h�̓Z�O�����g�̑��M�҂���M�����҂��Ă��鎟�̃V�[�P���X�ԍ��̒l���܂ށB��U�R�l�N�V�������m�������ƁA����͏�ɐݒ肳���B
Data Offset: 4 bits
TCP �w�b�_�� 32 �r�b�g�P�ʂ̌��B����̓f�[�^�̎n�܂�ꏊ�������BTCP
�w�b�_�́A(�I�v�V�������܂�ł�����̂ł���) 32 �r�b�g���̐����̐��ł���B
Reserved: 6 bits
�����̎g�p�̂��߂ɗ\��B0 �łȂ���Ȃ�Ȃ��B
Control Bits: 6 bits (������E��):
URG: �ً}�|�C���^�t�B�[���h����
ACK: �m�F�t�B�[���h����
PSH: Push �@�\
RST: �R�l�N�V�����̃��Z�b�g
SYN: �����V�[�P���X�ԍ�
FIN: ���M������̃f�[�^�͖���
Window: 16 bits
�m�艞���t�B�[���h�Ŏ������ԍ�����J�n���āA���̃Z�O�����g�̑��M������M�\�ȃf�[�^�I�N�e�b�g�̐��B
Checksum: 16 bits
�`�F�b�N�T���t�B�[���h�́A�w�b�_�ƃe�L�X�g�̑S�Ă�
16 �r�b�g�P�ʂ� 1 �̕␔�̍��v�� 16 �r�b�g�� 1 �̕␔�ł���B�����A�Z�O�����g���`�F�b�N�����w�b�_�ƃe�L�X�g�̃I�N�e�b�g��������܂ނȂ�A�Ō�̃I�N�e�b�g�́A�`�F�b�N�T�����s���ړI��
16 �r�b�g�P�ʂ��`�����邽�߂ɁA�E���� 0 �Ńp�f�B���O�����B�p�f�B���O�́A�Z�O�����g�̈ꕔ�Ƃ��đ��M����Ȃ��B�`�F�b�N�T�����Z�o����ہA�`�F�b�N�T���t�B�[���h���g�́A0
�Œu����������B
�`�F�b�N�T���́ATCP �w�b�_�̑O�ɊT�O�I�ɕt�����ꂽ 96 �r�b�g�̋^���w�b�_���J�o�[����B���̋^���w�b�_�́A���M���A�h���X�A����A�h���X�A�v���g�R���ATCP �����܂ށB����ɂ��A�U�����Ɏ��s�����Z�O�����g�ɑ��� TCP �ł̖h�䂪�\�ɂȂ�B���̏��� Internet Protocol �ʼn^��ATCP/Network �C���^�t�F�[�X��ʂ��āATCP �� IP �ւ̃R�[���̃A�[�M�������g�����ʂő��M�����B
+--------+--------+--------+--------+ | Source Address | +--------+--------+--------+--------+ | Destination Address | +--------+--------+--------+--------+ | zero | PTCL | TCP Length | +--------+--------+--------+--------+
TCP ���́ATCP �w�b�_���Ƀf�[�^�̃I�N�e�b�g�������������� (����͖����I�ɓ]�������ʂł͂Ȃ��A�v�Z�ɂ�����) �ŁA�^���w�b�_�� 12 �I�N�e�b�g�͐����Ȃ��B
Urgent Pointer: 16 bits
���̃t�B�[���h�ً͋}�|�C���^�̌��݂̒l���A���̃Z�O�����g�̃V�[�P���X�ԍ�����̐��̃I�t�Z�b�g�Ƃ��Ēʒm����B�ً}�|�C���^�́A�ً}�f�[�^�̌�ɑ����I�N�e�b�g�̃V�[�P���X�ԍ����w���B���̃t�B�[���h�́AURG
����r�b�g���ݒ肳�ꂽ�Z�O�����g�ł̂݉��߂����B
Options: ��
�I�v�V������ TCP �w�b�_�̍Ō�̕������߁A������ 8 �r�b�g�̔{���ł���B�S�ẴI�v�V�����́A�����Ȃ�I�N�e�b�g���E�Ŏn�܂��Ă��悢�B�I�v�V�����̌`���ɂ͓�̃P�[�X������B
Case 1: �I�v�V������ʂ̒P��I�N�e�b�g
Case 2: �I�v�V������ʂ� 1 �I�N�e�b�g�A�I�v�V�����̒���������
1 �I�N�e�b�g�A���ۂ̃I�v�V�����f�[�^�̃I�N�e�b�g�B
�I�v�V�������́A�I�v�V�����f�[�^�I�N�e�b�g�����łȂ��A�I�v�V������ʂƃI�v�V�������̓�̃I�N�e�b�g��������B
�I�v�V�����̃��X�g�́A�f�[�^�I�t�Z�b�g�t�B�[���h�������Ă��钷�����Z���Ă��悢�B�I�v�V�����ŏI�I�v�V���������w�b�_�̒��g�́A�w�b�_�p�f�B���O (�܂� 0) �łȂ���Ȃ�Ȃ��B
TCP �͑S�ẴI�v�V�������������Ȃ���Ȃ�Ȃ��B
���ݒ�`����Ă���I�v�V�����́A�ȉ����܂� (��ʂ� 8 �i)�B
��� | ���� | �Ӗ� |
0
| -
| End of option list |
1
| -
| No-Operation. |
2
| 4
| Maximum Segment Size. |
����̃I�v�V������`
�I�v�V�������X�g�̍ŏI
+--------+ |00000000| +--------+ ��� = 0
���̃I�v�V�����R�[�h�́A�I�v�V�������X�g�̍ŏI�������B����́A�f�[�^�I�t�Z�b�g�t�B�[���h�ɏ]���� TCP �w�b�_�̍ŏI�Ƃ͈�v���Ȃ���������Ȃ��B����́A�e�I�v�V�����̍Ō�Ŏg�p�����̂ł͂Ȃ��A�S�I�v�V�����̍Ō�Ŏg�p�����B�I�v�V�����̍Ōオ TCP �w�b�_�̍Ō�ƈ�v���Ȃ��ꍇ�ɂ̂ݎg�p����K�v������B
����Ȃ�
+--------+ |00000001| +--------+ ��� = 1
���̃I�v�V�����R�[�h�́A�Ⴆ�Ό㑱����I�v�V�����̊J�n�����[�h���E�ɒ������邽�߂ɁA�I�v�V�����̊ԂŎg�p���Ă��悢�B���M�҂����̃I�v�V�������g�p����ۏ͂Ȃ��B����Ď�M���́A���Ƃ����[�h���E�Ŏn�܂��Ă��Ȃ��Ă��I�v�V�����������ł���悤�A�������Ă��Ȃ���Ȃ�Ȃ��B
�ő�Z�O�����g�T�C�Y
+--------+--------+---------+--------+ |00000010|00000100| max seg size | +--------+--------+---------+--------+ ��� = 2, ���� = 4
�ő�Z�O�����g�T�C�Y�̃I�v�V�����f�[�^: 16 bits
�����A���̃I�v�V���������ꂽ��A���̃Z�O�����g�𑗐M����
TCP �ŁA�ő��M�Z�O�����g�T�C�Y��ʐM����B���̃t�B�[���h�́A�����R�l�N�V�����v���ł̂ݑ��M�ł���
(���Ȃ킿�ASYN ����r�b�g���ݒ肳�ꂽ�Z�O�����g)�B�������̃I�t�V�������g�p����Ȃ���A�����Ȃ�Z�O�����g�T�C�Y���������B
�p�f�B���O: ��
TCP �w�b�_�p�f�B���O�́ATCP �w�b�_�̍ŏI�ƃf�[�^���̊J�n��
32 �r�b�g���E�ɂ��邱�Ƃ�ۏ��邽�߂Ɏg�p�����B�p�f�B���O�́A0
���琬��B
TCP �̈����ɂ��āA���Ȃ葽���̂��Ƃ�_���邽�߂ɁA����̗p����ڍׂɏЉ��K�v������BTCP �R�l�N�V������ێ炷�邽�߂ɁA����̕ϐ����o���Ă����K�v������B�����̕ϐ��́A�]������u���b�N (TCB: Transmission Control Block) �ƌĂ��R�l�N�V�������R�[�h�̒��Ɋi�[�������̂Ƒz�肷��BTCB �Ɋi�[�����ϐ��̒��ɂ́A�����Ƒ��葤�̃\�P�b�g�ԍ���Z�L�����e�B�A�R�l�N�V�����̗D��x�A���[�U������M�����o�b�t�@�ւ̃|�C���^�A�đ��L���[�⌻�Z�O�����g�ւ̃|�C���^������B�����āA����M�V�[�P���X�ԍ��ɑ����������̕ϐ��� TCB �Ɋi�[�����B
���M�V�[�P���X�ϐ�
SND.UNA - �m�F���̑��M
SND.NXT - ���̑��M
SND.WND - �E�B���h�E�̑��M
SND.UP - �ً}�|�C���^�̑��M
SND.WL1 - �Ō�̃E�B���h�E�̍X�V�Ɏg�p�����Z�O�����g�V�[�P���X�ԍ�
SND.WL2 - �Ō�̃E�B���h�E�̍X�V�Ɏg�p�����Z�O�����g�m�F�ԍ�
ISS - �������M�V�[�P���X�ԍ�
��M�V�[�P���X�ϐ�
RCV.NXT - ���̎�M
RCV.WND - �E�B���h�E�̎�M
RCV.UP - �ً}�|�C���^�̎�M
IRS - ������M�V�[�P���X�ԍ�
�ȉ��̐}�́A�����̕ϐ��̊�����V�[�P���X��ԂɊ֘A������̂ɏ����ɂȂ邾�낤�B
���M�V�[�P���X���
1 2 3 4 ----------|----------|----------|---------- SND.UNA SND.NXT SND.UNA +SND.WND
1 - �m�F�ς̌Â��V�[�P���X�ԍ�
2 - �m�F���̃V�[�P���X�ԍ�
3 - �V�����f�[�^�̓]���Ŏg�p�ł���V�[�P���X�ԍ�
4 - �܂��g�p�ł��Ȃ������̃V�[�P���X�ԍ�
Figure 4. - Send Sequence Space
���M�E�B���h�E�́A�} 4 �̃V�[�P���X��Ԃ̃��x�� 3 �̏��ł���B
��M�V�[�P���X���
1 2 3 ----------|----------|---------- RCV.NXT RCV.NXT +RCV.WND
1 - �m�F�ς̌Â��V�[�P���X�ԍ�
2 - �V���Ɏ�M�ł���V�[�P���X�ԍ�
3 - �܂��g�p�ł��Ȃ������̃V�[�P���X�ԍ�
Figure 5. - Receive Sequence Space
��M�E�B���h�E�́A�} 5 �̃V�[�P���X��Ԃ̃��x�� 2 �̏��ł���B
�܂��A���Z�O�����g�̃t�B�[���h����l����邱�Ƃ�_����ۂɁA�����Ύg�p����邢�����̕ϐ�������B
���Z�O�����g�ϐ�
SEG.SEQ - �Z�O�����g�V�[�P���X�ԍ�
SEG.ACK - �Z�O�����g�m�F�ԍ�
SEG.LEN - �Z�O�����g��
SEG.WND - �Z�O�����g�E�B���h�E
SEG.UP - �Z�O�����g�ً}�|�C���^
SEG.PRC - �Z�O�����g�D��x�l
�R�l�N�V�����́A���̐������Ԓ��̈�A�̏�Ԃ�ʂ��Đi�s����B
��Ԃɂ́ALISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT �Ƌ[���I�ȏ�Ԃ� CLOSED ������BCLOSED �͋[���ł���B�Ƃ����̂́ACLOSED ��ԂƂ� TCB �������A�܂�R�l�N�V������������Ԃ�\������ł���B��Ԃ̋�̓I�ȈӖ��͈ȉ��̒ʂ�B
LISTEN - �����郊���[�g TCP ��|�[�g����̃R�l�N�V�����v����҂��Ă��邱�Ƃ�\���B
SYN-SENT - �R�l�N�V�����v���𑗐M������A����Ɉ�v����R�l�N�V�����v����҂��Ă��邱�Ƃ�\���B
SYN-RECEIVED - �R�l�N�V�����v���𑗎�M������A���̃R�l�N�V�����v���m�F (ACK) �̍m�艞����҂��Ă��邱�Ƃ�\���B
ESTABLISHED - �R�l�N�V�����̃I�[�v����\���A��M�����f�[�^�����[�U�ɔz�����邱�Ƃ��ł���B�R�l�N�V�����̃f�[�^�]���t�F�[�Y�ɂƂ��Ă̒ʏ�̏�Ԃł���B
FIN-WAIT-1 - �����[�g TCP ����̃R�l�N�V�����I���v�����A�O�ɑ��M�����R�l�N�V�����I���v���̍m�艞����҂��Ă��邱�Ƃ�\���B
FIN-WAIT-2 - �����[�g TCP ����̃R�l�N�V�����I���v����҂��Ă��邱�Ƃ�\���B
CLOSE-WAIT - ���� TCP ����̃R�l�N�V�����I���v����҂��Ă��邱�Ƃ�\���B
CLOSING - �����[�g TCP ����̃R�l�N�V�����I���v���̍m�艞����҂��Ă��邱�Ƃ�\���B
LAST-ACK - �����[�g TCP �ɑO�ɑ��M�����R�l�N�V�����I���v���̍m�艞����҂��Ă��邱�Ƃ�\�� (����́A�R�l�N�V�����I���v���̍m�艞�����܂�)�B
TIME-WAIT - �����[�g TCP ���R�l�N�V�����I���v���̍m�艞������M�������Ƃ�ۏ���̂ɏ\���Ȏ��ԑ҂��Ă��邱�Ƃ�\���B
CLOSED - �R�l�N�V�����̏�Ԃ��S���������Ƃ�\���B
TCP �R�l�N�V�����́A�C�x���g�ɉ����Ă����Ԃ���ʂ̏�Ԃɐi�s����B�C�x���g�Ƃ́AOPEN, SEND, RECEIVE, CLOSE, ABORT, STATUS �̃��[�U�R�[����A���̓Z�O�����g (�{�� SYN, ACK, RST, FIN �t���O���܂�ł���) ��^�C���A�E�g�ł���B
�} 6 �̏�Ԑ}�́A�����ƂȂ�C�x���g�⌋�ʂƂ��čs���A�N�V�����Ƌ��ɁA��ԑJ�ڂ������Ă���B�������A��ԑJ�ڂɌ��т��Ȃ��G���[�̏�����A�N�V�����͎����Ă��Ȃ��B�C�x���g�ɑ��� TCP �̃��A�N�V�����Ɋւ���ڍׂ́A��̃Z�N�V�����Ŏ�����Ă���B
���L:���̐}�͗v��ɉ߂����A�K��S�̂Ƃ��Ĉ����Ă͂Ȃ�Ȃ��B
+---------+ ---------\ active OPEN | CLOSED | \ ----------- +---------+<---------\ \ create TCB | ^ \ \ snd SYN passive OPEN | | CLOSE \ \ ------------ | | ---------- \ \ create TCB | | delete TCB \ \ V | \ \ +---------+ CLOSE | \ | LISTEN | ---------- | | +---------+ delete TCB | | rcv SYN | | SEND | | ----------- | | ------- | V +---------+ snd SYN,ACK / \ snd SYN +---------+ | |<----------------- ------------------>| | | SYN | rcv SYN | SYN | | RCVD |<-----------------------------------------------| SENT | | | snd ACK | | | |------------------ -------------------| | +---------+ rcv ACK of SYN \ / rcv SYN,ACK +---------+ | -------------- | | ----------- | x | | snd ACK | V V | CLOSE +---------+ | ------- | ESTAB | | snd FIN +---------+ | CLOSE | | rcv FIN V ------- | | ------- +---------+ snd FIN / \ snd ACK +---------+ | FIN |<----------------- ------------------>| CLOSE | | WAIT-1 |------------------ | WAIT | +---------+ rcv FIN \ +---------+ | rcv ACK of FIN ------- | CLOSE | | -------------- snd ACK | ------- | V x V snd FIN V +---------+ +---------+ +---------+ |FINWAIT-2| | CLOSING | | LAST-ACK| +---------+ +---------+ +---------+ | rcv ACK of FIN | rcv ACK of FIN | | rcv FIN -------------- | Timeout=2MSL -------------- | | ------- x V ------------ x V \ snd ACK +---------+delete TCB +---------+ ------------------------>|TIME WAIT|------------------>| CLOSED | +---------+ +---------+ TCP Connection State Diagram Figure 6.
�v�ɂ������{�I�ȍl�����́ATCP �R�l�N�V������ő��M�����f�[�^�̑S�ẴI�N�e�b�g�̓V�[�P���X�ԍ������Ƃ������Ƃł���B�S�ẴI�N�e�b�g�͏��Ԓʂ�ɕ��ׂ���̂ŁA�����̊e�X�ɑ��Ċm�F���邱�Ƃ��ł���B�����m�F���J�j�Y���͗ݐς������̂Ȃ̂ŁA�V�[�P���X�ԍ��� X �̊m�F�́AX ���܂܂Ȃ� X �܂ł̑S�ẴI�N�e�b�g����M�������Ƃ������B�Z�O�����g���̃I�N�e�b�g�̔ԍ��t���ɂ����ẮA�x�b�_�̒���ɑ�����Ԗڂ̃f�[�^�I�N�e�b�g�ɍł��������ԍ����t�����A����ɑ����I�N�e�b�g�͘A�ԂɂȂ�B
���ۂ̃V�[�P���X�ԍ���Ԃ͔��ɑ傫�����A�L���ł��邱�Ƃ��o���Ă������Ƃ͏d�v�ł���B���̋�Ԃ́A0 ���� 2 �� 32 �� - 1 �͈̔͂ł���B��Ԃ��L���Ȃ̂ŁA�V�[�P���X�ԍ��������S�Ă̌v�Z�́A2 �� 32 ��̃��W���������s���Ȃ���Ȃ�Ȃ��B���̕��������̌v�Z�́A2 �� 32 �� - 1 ���� 0 �ɍĂъ��ăV�[�P���X�ԍ��̊W��ۂB���W�����v�Z���Z�o����I���ȕ��@���������̂ŁA�唼�͂��̒l�̔�r�v���O���~���O�ɒ��ӂ�������ׂ��ł���B"=<" �̋L���́A"�ȉ�" ���Ӗ����� (���W���� 2 �� 32 ��)�B
TCP �����s���Ȃ���Ȃ�Ȃ��T�^�I�Ȏ�ނ̃V�[�P���X�ԍ��̔�r�́A�ȉ����܂ށB
���M�f�[�^�ɑ��鉞���ŁATCP �͍m�艞������M���邾�낤�B�m�艞�����������邽�߂Ɉȉ��̔�r���K�v�ł���B
SND.UNA = �ł��Â����m�F�̃V�[�P���X�ԍ�
SND.NXT = ���M����鎟�̃V�[�P���X�ԍ�
SEG.ACK = ��M�� TCP ����̍m�艞�� (��M�� TCP �Ɋ��҂���鎟�̃V�[�P���X�ԍ�)
SEG.SEQ = �Z�O�����g�̍ŏ��̃V�[�P���X�ԍ�
SEG.LEN = �Z�O�����g���Ńf�[�^�ɐ�߂�ꂽ�I�N�e�b�g�̐� (SYN
�� FIN ���܂�)
SEG.SEQ+SEG.LEN-1 = �Z�O�����g�̍ŏI�V�[�P���X�ԍ�
�V�����m�艞�� ("����\�� ACK" �ƌĂ��) �ɂ��ẮA�ȉ��̕s�������������邩
SND.UNA < SEG.ACK =< SND.NXT
�����đ��L���[��̃Z�O�����g�̃V�[�P���X�ԍ��ƒ����̍��v�����̓Z�O�����g���̊m�F�̒l�ȉ��ł���A�đ��L���[��̃Z�O�����g�͊��S�Ɋm�F����Ă���B
�f�[�^����M�������A�ȉ��̔�r���K�v�ł���B
RCV.NXT = ���̓Z�O�����g��Ŋ��҂���鎟�̃V�[�P���X�ԍ��ŁA��M�E�B���h�E�̍��[�����[�ł���B
RCV.NXT+RCV.WND-1 = ���̓Z�O�����g��Ŋ��҂����ŏI�V�[�P���X�ԍ��ŁA��M�E�B���h�E�̉E�[����[�ł���B
SEG.SEQ = ���̓Z�O�����g�ɐ�߂�ꂽ�ŏ��̃V�[�P���X�ԍ�
SEG.SEQ+SEG.LEN-1 = ���̓Z�O�����g�ɐ�߂�ꂽ�ŏI�V�[�P���X�ԍ�
�ȉ��̏ꍇ�ɁA�Z�O�����g�͐�������M�V�[�P���X��Ԃ̈ʒu���߂Ă���Ɣ��f�����B
RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND
����
RCV.NXT =< SEG.SEQ+SEG.LEN-1 < RCV.NXT+RCV.WND
��Ԗڂ̃e�X�g�́A�Z�O�����g�̊J�n���E�B���h�E�͈͓̔��ɂ��邩�ۂ����`�F�b�N����B��Ԗڂ̃e�X�g�́A�Z�O�����g�̍ŏI���E�B���h�E�͈͓̔��ɂ��邩�ۂ����`�F�b�N����B�Z�O�����g�����̂ǂ��炩�̃e�X�g�Ƀp�X����A���̃Z�O�����g�̓E�B���h�E�͈͓̔��̃f�[�^���܂�ł���B
���ۂ́A�����������G�ł���B0 �E�B���h�E�� 0 ���̃Z�O�����g�̏ꍇ�A��M�\�ȓ��̓Z�O�����g�́A�ȉ��� 4 �̃P�[�X�ł���B
Segment Length | Receive Window | Test |
0 | 0 | SEG.SEQ = RCV.NXT |
0 | >0 | RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND |
>0 | 0 | ��M�s�� |
>0 | >0 | RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND
or RCV.NXT =< SEG.SEQ+SEG.LEN-1 < RCV.NXT+RCV.WND |
���L: ��M�E�B���h�E�� 0 �ł��鎞�AACK �Z�O�����g�������ǂ̃Z�O�����g������ł��Ȃ��B����āA�f�[�^�𑗐M���� ACK ����M����ԁATCP ����M�E�B���h�E 0 ���ێ����邱�Ƃ͂��蓾��B�������A���Ƃ���M�E�B���h�E�� 0 �ł����Ă��ATCP �͑S�Ă̓��̓Z�O�����g�� RST �� URG �t�B�[���h���������Ȃ���Ȃ�Ȃ��B
���鐧�����ی삷�邽�߂ɂ��A�ԍ��t�X�L�[���̗��_�Ă���B����́A���鐧��t���O���V�[�P���X��ԂɈÖٓI�Ɋ܂߂邱�Ƃɂ���ĒB�������B����āA�����͍������邱�ƂȂ��đ����m�F���邱�Ƃ��ł��� (�Ⴆ�A����̃R�s�[����������s����邾�낤)�B������́A�����I�ɂ̓Z�O�����g�̃f�[�^��Ԃʼn^��Ȃ��B�]���āA��X�͐���ɃV�[�P���X�ԍ����ÖٓI�Ɋ��蓖�Ă邽�߂̋K����K�p���Ȃ���Ȃ�Ȃ��BSYN �� FIN ���A���̕ی��K�v�Ƃ���B��̐���ł���A�����̐���̓R�l�N�V�������I�[�v�����̓N���[�Y���鎞�ɂ̂ݎg�p�����B�V�[�P���X�ԍ��̏����ɍۂ��ASYN �͂��ꂪ�\���Z�O�����g�̈�ԍŏ��̎��f�[�^�I�N�e�b�g�̑O�ɕ\���ƌ��Ȃ����B����AFIN �͂��ꂪ�\���Z�O�����g�̈�ԍŌ�̎��f�[�^�I�N�e�b�g�̌�ɕ\���ƌ��Ȃ����B�Z�O�����g�� (SEG.LEN) �́A������߂Ă���f�[�^�ƃV�[�P���X��Ԃ̗������܂ށBSYN ������鎞�ASEG.SEQ �� SYN �̃V�[�P���X�ԍ��ł���
Initial Sequence Number Selection
�v���g�R���́A����̃R�l�N�V�������J��Ԃ��g�p���邱�Ƃɉ��̐������݂��Ȃ��B�R�l�N�V�����͈�g�̃\�P�b�g�ɂ���Ē�`�����B�R�l�N�V�����̐V�����C���X�^���X�́A�R�l�N�V�����̉��g
(incarnation) �Ƃ��ĎQ�Ƃ����B����ɂ��N������́A"TCP
�͂ǂ̂悤�ɂ��āA�R�l�N�V�����̑O�̉��g����̏d���Z�O�����g����ʂ��邩
?" �ł���B���̖��́A�����R�l�N�V�������I�[�v������A�����đ����ɃN���[�Y���ꂽ��A���邢�́A�����R�l�N�V�������������s���ʼn��A�ēx�m�����ꂽ�畂�����肠����B
����������邽�߂ɁA�O�̃Z�O�����g���܂��l�b�g���[�N���ɑ��݂��Ă��邩������Ȃ��ԁA�R�l�N�V������ 1 ���g����̃Z�O�����g�ɑO�̉��g�̃Z�O�����g�Ɠ����V�[�P���X�ԍ����g�p����邱�Ƃ�h���Ȃ���Ȃ�Ȃ��B���Ƃ� TCP ���N���b�V�����āA�g�p���Ă����V�[�P���X�ԍ��̑S�Ă̒m���������Ă��A����͕ۏ������B�V�����R�l�N�V��������������鎞�A�����V�[�P���X�ԍ� (ISN: initial sequence number) �����@���p�����A�V���� 32 �r�b�g ISN ��I������B�����@�́A���̉��ʃr�b�g�������悻 4 �}�C�N���b���Ƃɉ��Z����� (�����炭�^���I��) 32 �r�b�g�N���b�N�Ɍ��ѕt������B����āAISN �͂��悻 4.55 ���Ԗ��Ɉ��肷��B�Z�O�����g�͂��������ő�Z�O�����g�������� (MSL: Maximum Segment Lifetime) �܂ł����l�b�g���[�N���Ɏc�������AMSL �� 4.55 ���Ԉȉ��ł���Ƒz�肵�Ă���̂ŁAISN �����j�[�N�ɂȂ邾�낤�ƌ����I�ɑz�肷�邱�Ƃ��ł���B
�e�X�̃R�l�N�V�����ɑ��āA���M�V�[�P���X�ԍ��Ǝ�M�V�[�P���X�ԍ������݂���B�������M�V�[�P���X�ԍ� (ISS) �́A�f�[�^�𑗐M���� TCP �ɂ���đI�������B�����āA������M�V�[�P���X�ԍ� (IRS) �́A�R�l�N�V�����m���̎葱���̊Ԃɒm�炳���B
�m���܂��͏����������R�l�N�V�����ɑ��āA��� TCP �͂��݂��̏����V�[�P���X�ԍ��������Ȃ���Ȃ�Ȃ��B����́A"SYN" (����) �ƌĂ�鐧��r�b�g�Ə����V�[�P���X�ԍ����ݒ肳�ꂽ�R�l�N�V�����m���̃Z�O�����g�̌����ōs����B�ȗ�������ƁASYN �r�b�g��ݒ肵���Z�O�����g�� "SYNs" �Ƃ��Ă��B����ĉ������@�Ƃ��ẮA�����V�[�P���X�ԍ���I�����AISN �������������G�ȃn���h�V�F�[�N�̂��߂̓K�ȃ��J�j�Y�����K�v�ł���B
�����́A�e�X�������̏����V�[�P���X�ԍ��𑗐M���A���肩�炻�̍m�艞������M����K�v������B�e�X������̏����V�[�P���X�ԍ�����M���A������m�F����m�艞���𑗐M���Ȃ���Ȃ�Ȃ��B
1) A �� B SYN ���̃V�[�P���X�ԍ��� X
2) A �� B ACK ���Ȃ��̃V�[�P���X�ԍ��� X
3) A �� B SYN ���̃V�[�P���X�ԍ��� Y
4) A �� B ACK ���Ȃ��̃V�[�P���X�ԍ��� Y
�X�e�b�v 2 �� 3 �͈�̃��b�Z�[�W�Ō����ł���̂ŁA����� 3 ���� (3 ���b�Z�[�W) �n���h�V�F�[�N�ƌĂ��B
�V�[�P���X�ԍ����l�b�g���[�N�ŃO���[�o���ȃN���b�N�Ɍ��т����ATCP �� ISN ��I�����邽�߂̈قȂ郁�J�j�Y��������������Ȃ��̂ŁA3 �����n���h�V�F�[�N�͕K�v�ł���B�ŏ��� SYN �̎�M���́A���̃R�l�N�V�����Ŏg�p���ꂽ�Ō�̃V�[�P���X�ԍ����o���Ă����Ȃ���� (��ɉ\�ł͂Ȃ�)�A�Z�O�����g���Â��x�ꂽ���̂��ۂ���m����@���Ȃ��B����āA���M���ɂ��� SYN �������ł��邩�q�˂Ȃ���Ȃ�Ȃ��B3 �����n���h�V�F�[�N�ƃN���b�N�d�|���̃X�L�[�����_�́A[3] �Ř_������B
Knowing When to Keep Quiet
TCP ���A�l�b�g���[�N���Ɏc���Ă���Â��Z�O�����g�Əd�����邩������Ȃ��V�[�P���X�ԍ����^�ԃZ�O�����g�����Ȃ����Ƃ�ۏ��邽�߂ɁATCP
�͊J�n�����A�g�p����V�[�P���X�ԍ��̃����������������悤�ȃN���b�V������̉��ɁA�ő�Z�O�����g��������
(MSL: maximum segment lifetime) �̊ԁA���炩�̃V�[�P���X�ԍ������蓖�Ă�O�ɖق��Ă��Ȃ���Ȃ�Ȃ��B���̋K��ł́AMSL��
2 ���ł���B����͋Z�p�҂ɂ��I���ł���A�����o����]�܂����̂ł���ΕύX���Ă��悢�B����
TCP �����闝�R�ōċN������A�܂��g�p����V�[�P���X�ԍ��̃��������c���Ă�����ATCP
�͑S���҂K�v�͂Ȃ��A�ł��ŋߎg�p�����ԍ������傫���V�[�P���X�ԍ����g�p���邱�Ƃ̂ݕۏ���B
The TCP Quiet Time Concept
���̋K��ł́A�e���� (���Ȃ킿�ǂł͂Ȃ�)
�R�l�N�V������ő��M�����Ō�̃V�[�P���X�ԍ��̒m����ێ������� "�N���b�V��" �����z�X�g�́A���Ȃ��Ƃ��z�X�g���Q�����Ă���C���^�[�l�b�g�V�X�e���œ��ӂ���Ă���ő�Z�O�����g�������Ԃ̊ԁATCP
�Z�O�����g�̔��s��x�点�Ȃ���Ȃ�Ȃ��B�ȉ��̒i���ł́A���̋K��̐������s���Ă���BTCP
�����҂� "�ق��Ă��鎞��"
�̐�����`���Ă��悢���A�C���^�[�l�b�g�V�X�e�����̎�M���ŌÂ��f�[�^���V�����f�[�^�Ƃ��Ď�������A���邢�͌Â��f�[�^�Əd���������߂ɐV�����f�[�^�����ۂ����댯���͂���B
TCP �́A�Z�O�����g����������A���M���z�X�g���Ńl�b�g���[�N�o�̓L���[�ɓ��͂���邽�тɃV�[�P���X�ԍ���Ԃ������BTCP �v���g�R���ɂ�����d�����o�ƃV�[�P���X�t���A���S���Y���́A�����̃V�[�P���X�ԍ��Ɋ��蓖�Ă�ꂽ�Z�O�����g�f�[�^�����M����A���ꂪ��M�҂ɂ���Ċm�F����A�Z�O�����g�̏d�����������S�Ă��C���^�[�l�b�g���� "�r�o" �����O�ɁA�V�[�P���X�ԍ��͑S�Ă� 2**32 �l��ʂ��Ĉ��肵�Ȃ��͈͂ŁA�Z�O�����g��ԂɃZ�O�����g�f�[�^�����j�[�N�Ɋ����Ă邱�Ƃɗ���B���̉��肪�Ȃ���A2 �̕ʌ� TCP �Z�O�����g�͋��炭�������d�������V�[�P���X�ԍ������蓖�Ă��A�ǂ̃f�[�^���V�����Ăǂ̃f�[�^���Â����ɂ��Ď�M���̍����������N�������ƂɂȂ邾�낤�B�e�X�̃Z�O�����g�́A�Z�O�����g�̃f�[�^�I�N�e�b�g�����݂������A�A�������V�[�P���X�ԍ������蓖�Ă��邱�Ƃ��o���Ă������ƁB
�ʏ�̏����ɂ����āA��ԖڂɎg�p�����ԍ����m�F�����O�ɃV�[�P���X�ԍ�������Ďg�p����邱�Ƃ�����邽�߂ɁATCP �͔��s���鎟�̃V�[�P���X�ԍ��ƍł��Â��m�艞���҂����L�^���Ă����B���ꂾ���ł́A�Â��d���f�[�^���l�b�g���[�N����r�o����邱�Ƃ�ۏ��Ă��Ȃ��B�]���āA���܂悤�d���f�[�^�������������Ƃɂ��g���u���̉\�������炷���߂ɁA�V�[�P���X��Ԃ��ƂĂ��傫���Ȃ�B2 ���K�r�b�g/�b�̏ꍇ�A�V�[�P���X��Ԃ� 2**32 �I�N�e�b�g���g�p����̂� 4.5 ���Ԃ�����B�l�b�g���[�N���̍ő�Z�O�����g�������Ԃ́A2,30 ���b���邱�Ƃ͂Ȃ��̂ŁA���Ƃ��f�[�^���[�g�� 10 ���K�r�b�g/�b�Ɋg�傳��Ă��A�\���\�ȃl�b�g���[�N�ł͏\���Ȗh��ł���ƍl������B100 ���K�r�b�g/�b�ł́A�T�C�N�����Ԃ� 5.4 ���ŏ������������A�ˑR�Ƃ��ė��R�͈͓̔��ł���B
�������A�������M�� TCP ���^����ꂽ�R�l�N�V������ōŌ�Ɏg�p���ꂽ�V�[�P���X�ԍ����L�����Ă��Ȃ���ATCP �̊�{�I�ȏd�����o�ƃV�[�P���X�A���S���Y���͑ʖڂɂȂ�B�Ⴆ�A���� TCP ���S�ẴR�l�N�V�������V�[�P���X�ԍ� 0 �ŊJ�n���A�N���b�V��/�ċN��������������ATCP �͑O�̃R�l�N�V�������Đ����� (���炭���I�[�v���R�l�N�V�����̉�����)�A����̃V�[�P���X�ԍ��������A����R�l�N�V�����̑O�̉��g��ɔ��s���ꂽ�l�b�g���[�N���̃p�P�b�g�Əd������p�P�b�g�s����B����̃R�l�N�V������Ŏg�p���ꂽ�V�[�P���X�ԍ��ɂ��Ă̒m���������ꍇ�ATCP �K��́A�O�̃R�l�N�V�����̉��g����̃Z�O�����g���V�X�e������r�o����邱�Ƃ��\�ɂ��邽�߂ɁA���M�����Z�O�����g���R�l�N�V������ɔ��s����O�� MSL �b�Ԓx�点�Ă邱�Ƃ𐄏�����B
���Ԃ��L���ł��Ă��āA����������V�[�P���X�ԍ��̒l��I������̂Ɏg�p���Ă���z�X�g�ł����Ă��A���̖�肩��Ƃ��킯�ł͂Ȃ� (���Ƃ��e�X�̐V�����R�l�N�V�����̉��g�ɑ��ď����V�[�P���X�ԍ���I������̂Ɏ��Ԃ��g�p���Ă��Ă�)�B
�Ⴆ�A�R�l�N�V�������V�[�P���X�ԍ� S �ŊJ�n���ăI�[�v�������Ɖ��肷��B�����āA���̃R�l�N�V�����͂��܂�g�p���ꂸ�A���Ǐ����V�[�P���X�ԍ����� ISN(t) ���A���� TCP �ɂ���đ��M���ꂽ�Ō�̃Z�O�����g�Ɠ������V�[�P���X�ԍ� (�܂� S1) �����Ɖ��肷��B����ɁA���̏u�ԃz�X�g���N���b�V�����A�������A�����ĐV�����R�l�N�V�����̉��g���m������Ƃ���B�I������鏉���V�[�P���X�ԍ��� S1 = ISN(t)�A�Â��R�l�N�V������̉��g�ōŌ�Ɏg�p���ꂽ�V�[�P���X�ԍ��ł���B�������\�����₭��������AS1 �ɋ߂��V�[�P���X�ԍ����^��ł���l�b�g���[�N���ŌÂ��d�������B���A�V�����R�l�N�V�����̉��g�̎�M���ɂ���ĐV�����p�P�b�g�Ƃ��Ĉ�����B
���̖��́A�����z�X�g���ǂ̂��炢�̊ԃN���b�V�����Ă������A�����đO�̃R�l�N�V�����̉��g����V�X�e�����ɂ܂��Â��d���f�[�^���c���Ă��邩�ۂ���������Ȃ��Ƃ������Ƃł���B
���̖��ɑΏ������̕��@�́A�N���b�V�����������A1 MSL �̊ԃZ�O�����g�̔��s���̈ӂɒx�点�邱�Ƃł���B���ꂪ "�ق��Ă��鎞��" �̋K��ł���B�҂��Ƃ���������z�X�g�́A�w�肳�ꂽ��M���ŐV���̃p�P�b�g�����݂��邩������Ȃ��댯�����}�킸�A"�ق��Ă��鎞��" �̊ԑ҂��Ȃ����Ƃ�I�����Ă��悢�B�����҂� TCP ���p�҂ɁA�N���b�V��������ɑ҂��ۂ����R�l�N�V�������ɑI������\�͂���Ă��悢���A�S�ẴR�l�N�V�����ɑ��Ĕ������ "�ق��Ă��鎞��" ���������Ă��悢�B���炩�ɗ��p�҂� "�҂�" ���Ƃ�I�������ꍇ�ł����Ă��A���Ȃ��Ƃ� MSL �b�������ăz�X�g�� "�����オ����" ��͂���͕K�v�Ȃ��B
�v��: ���s���ꂽ�S�ẴZ�O�����g�́A�V�[�P���X��Ԃɂ������ȏ�̃V�[�P���X�ԍ����L���A�Z�O�����g�ɂ���Đ�L���ꂽ�ԍ��� MSL �b�o�߂���܂� "�r�W�[" �� "�g�p��" �ƂȂ�B�����ăN���b�V���������A����Ԃ̃u���b�N�͍Ō�ɔ��s���ꂽ�Z�O�����g�̃I�N�e�b�g�ɐ�L�����B�����V�����R�l�N�V���������ɑ����J�n����A�O�̃R�l�N�V�����̉��g�̍ŏI�Z�O�����g�̎���Ԃ̑��Ւ��̃V�[�P���X�ԍ����g�p������A��M�����������邩������Ȃ����ݓI�ȃV�[�P���X�ԍ��̏d������̈悪���݂���B