데이터 전송 전 상대방이 데이터를 수신할 수 있는지 여부를 확인. 상대방과의 연결을 확립한 후에 통신을 시작.
연결 확립 → 데이터 전송 → 연결 해제
3-way handshake라고 하는 3단계 과정을 거쳐 확립.
3-way 핸드 셰이크에 의한 연결 확립 과정에서 MSS결정. MSS 크기에 맞춰 데이터를 분할하여 패킷을 만듬. 순서 번호의 초깃값도 연결 확립이 이루어질 때 32비트로 구성된 임의의 숫자로결정됨.
각 호스트는 연결 확립 요청을 보낼 때 TCP헤더에 MSS 옵션을 붙여 자신의 통신 환경에 적합한 MSS를 통지합니다. 양쪽의 값 중 적은 쪽의 값이 MSS로 사용됩니다.
데이터 전송
연결 확립 단계에서 MSS가 1460바이트, 순서 번호의 초깃값이 0번, 보낼 데이터가 8000바이트인 경우.
오류 발생으로 수신 호스트에 데이터가 도착하지 않을 경우 수신 호스트는 응답 번호를 반환하지 않음.
송신 호스트는 수신 호스트의 확인 응답을 일정 시간 기다리다가 확인 응답이 오지 않을 경우 데이터를 재전송하여 데이터 전송의 신뢰성 확보.
연결 해제
TCP는 흐름 제어를 통해 전송 효율을 높임.
하나의 패킷을 보내고 응답을 기다리는 대신 여러 패킷을 한꺼번에 연속해서 전송한 후 확인 응답을 받음.