■ 흐름제어
* 송신 측의 과도 전송에 따른 수신단에서 버퍼 오버플로우 (buffer overflow) 문제를 막아준다.
* 안정적인 데이터 전송 보장 ( 연결형 : connection-oriented )
* 수신한 세그먼트(segment)에 대한 수신확인을 보낸 측에 반드시 전달
* 수신확인이 안된 세그먼트에 대한 재전송
* 목적지에서 세그먼트들을 원래 순서대로 재정렬
■ 혼잡 방지와 제어
◎ 세션 설정, 유지, 해체
* 여러 종류의 응용 계층 데이터들이 하나의 전송 커넥션을 공유할 수 있다. (multiplexing)
* Peer간에 연결형 세션을 설정
* 쌍방 운영체제에 있는 프로토콜 소프트웨어 모듈은 메시지를 보내서 전송에 대한 인증과
양쪽 모두 준비가 된 것을 확인함으로써 통신을 진행하게 된다.
◎ 전형적인 시스템간의 접속 순서
첫번째 : 동기화 요청
두번째 : 동기화 요구에 대한 수신확인
세번째 : 역방향으로 접속 매개변수 동기화
네번째 : 쌍방간의 접속이 성립했다는거에 대한 동의했음을 목적지에게 알림
이 과정이 이루어 진후 데이터 전송 시작
◎ Three-way handshake (3단계 주소 받기)
* A -> B SYN 자신(A)의 초기 순서번호 (sequence number) x , ACK 번호 0 , SYN 비트는
설정(set)이 되어 있으나 ACK 비트는 설정이 되어 있지 않다.
* B -> A ACK 상대방(A)의 순서번호+1, 자기(B)의 초기 순서번호 y, 그리고 SYN과
ACK 비트가 설정되어 있다.
* A -> B ACK 상대방(B)의 시퀀스 번호는 y + 1, 자신의 시퀀스 번호는 x +1, 그리고 ACK 비트가
설정되어 있으나 SYN 비트는 설정 되어 있지 않다.