토픽 14 / 147·네트워크 기초 및 프로토콜
TCP (Transmission Control Protocol)
TCP (Transmission Control Protocol)
전송 계층(L4)에서 연결 지향(Connection-Oriented) 방식으로 신뢰성 있는 데이터 전송을 보장하는 프로토콜로, 순서 보장, 재전송, 흐름/혼잡 제어를 통해 종단 간 신뢰성 통신 제공
특징: 연결 지향(3-way Handshake), 신뢰성 보장, 순서 보장, 흐름/혼잡 제어, 전이중 통신
헤더 구조: 20~60바이트, Source/Destination Port, Sequence Number, ACK Number, Offset, Flags, Window, Checksum, Options
주요 필드: 시퀀스 번호(송신 바이트 위치), ACK 번호(다음 받을 번호), 윈도우 크기(수신 버퍼), 플래그(SYN/ACK/FIN/RST/PSH/URG)
TCP 플래그: SYN(연결요청), ACK(응답확인), FIN(연결종료), RST(강제리셋), PSH(즉시전달), URG(긴급데이터)
적용사례: HTTP/HTTPS, FTP/SFTP, SMTP/IMAP/POP3, SSH, 데이터베이스 연결
비교: TCP(연결/신뢰/느림/20~60바이트) vs UDP(비연결/비신뢰/빠름/8바이트)
연관: 3-way Handshake, 혼잡 제어, 흐름 제어, 소켓