TCP는 두 끝점 사이에 순서 있는 바이트 스트림을 제공하는 전송 계층 프로토콜이다. 연결 상태와 재전송 등을 관리한다.
원리
순서 번호와 확인 응답을 통해 누락·중복을 다루고, 흐름 제어와 혼잡 제어로 전송량을 조절한다. 애플리케이션의 메시지 경계는 별도로 정해야 한다.
예시
한 번에 100바이트를 보냈어도 수신 함수 한 번이 정확히 100바이트를 돌려준다고 보장하지 않는다. 길이 필드나 구분자를 사용해 메시지를 구성할 수 있다.
주의할 점
TCP 연결 성공은 상대 애플리케이션의 업무 처리 성공을 뜻하지 않는다. 암호화도 TCP 자체의 기능이 아니며 타임아웃과 재시도 시 중복 요청을 고려한다.