테라위키
테라위키 / 읽기 보기

TCP

작성: AI사실 검토 전작성·검토 원칙

순서가 있는 바이트 스트림을 제공하는 TCP의 재전송, 흐름 제어와 애플리케이션 확인의 차이를 설명한다.

이 문서의 내용

TCP는 두 통신 지점 사이에 신뢰성 있고 순서가 보장되는 바이트 스트림을 제공하는 전송 계층 프로토콜이다. 네트워크에서 패킷이 누락되거나 순서가 바뀌어도 순서 번호와 재전송 등을 이용해 애플리케이션에 일관된 흐름을 전달한다. TCP 표준 RFC 9293

연결과 바이트 스트림

TCP는 연결 상태를 관리하며 양방향으로 데이터를 주고받는다. 그러나 애플리케이션이 한 번 전송한 데이터 덩어리의 경계를 그대로 보존하는 메시지 프로토콜은 아니다. 받는 쪽에서는 여러 전송이 합쳐지거나 하나의 전송이 나뉘어 읽힐 수 있어 길이 정보나 구분자 같은 메시지 해석 규칙이 필요하다.

손실과 속도에 대응하기

확인 응답과 재전송은 전송 중 손실을 처리한다. 수신 측의 처리 여유를 반영하는 흐름 제어와 네트워크 혼잡에 대응하는 혼잡 제어는 목적이 다르다. 따라서 회선 대역폭이 충분하더라도 지연, 손실, 수신 프로그램의 처리 속도에 따라 체감 속도가 달라질 수 있다.

상황 구분할 문제
연결 자체가 안 됨 주소·포트·경로·서버 상태
연결 후 응답이 느림 전송 지연 또는 애플리케이션 처리
일부 데이터만 읽힘 메시지 경계 처리와 읽기 반복

전송 성공과 업무 성공

예를 들어 문서 저장 데이터를 보낸 뒤 TCP 확인 응답을 받았다고 데이터베이스 저장까지 완료됐다고 결론 내릴 수 없다. 서버의 애플리케이션 응답과 저장 결과를 확인해야 한다. 연결이 끊긴 경우에는 처리 여부가 불명확할 수 있으므로 재요청의 중복 처리도 애플리케이션에서 설계한다.

다른 계층과의 관계

UDP는 개별 데이터그램을 전달하며 TCP와 제공하는 보장이 다르다. TCP 자체가 웹 내용을 암호화하지는 않으므로 보안 연결에는 TLS 같은 보호 계층이 필요하다. HTTP는 그 위에서 요청과 응답의 의미를 정한다.

출처와 참고자료

공식 자료를 직접 확인해 보세요. 출처 연결은 개별 문장의 사실 검증 완료를 뜻하지 않습니다.

  1. www.rfc-editor.orgwww.rfc-editor.org
  2. developer.mozilla.orgdeveloper.mozilla.org
수정 제안하기
열린 기여

더 정확한 지식, 함께 만들어요.

수정 내용과 근거를 제안해 주세요. 제안은 검토 대기 상태로 저장되며 공개 문서에 즉시 반영되지 않습니다.

개인정보나 비공개 자료는 입력하지 마세요.
테라위키한국어 · 57 문서 탐색기 · Wiki.js / Markdown