Search

TCP

TCP (Transmission Control Protocol)

호스트 상에서 작동하는 어플리케이션 간에 데이터를 안정적, 순서 대로, 에러없이 교환할 수 있도록 도와주는 프로토콜

TCP 프로토콜의 작동 과정

신뢰성 있는 연결이 생성되어야 하며, 그 뒤에 자료 전송 및 연결 종료 절차를 통해 할당된 자원을 반납
1.
연결 생성 (Connection establishment)
3방향 핸드셰이크(SYN, SYN_ACK, ACK)를 통해 어플리케이션 간 정상 통신이 가능한지 확인
2.
자료 전송 ( Data transfer)
어플리케이션 데이터에 어플리케이션 프로토콜 헤더와 TCP 헤더를 추가하여 TCP 세그먼트를 송수신
수신이 완료되면 ACK 메세지를 통해 수신 확인 응답
3.
연결 종료 (Connection termination)
데이터 송수신이 끝나면 4방향 핸드셰이크를 통해 연결 종료

TCP 헤더

포트 번호 : 적절한 어플리케이션 프로토콜에 데이터를 배분할 수 있도록 도와줌.
시퀀스 번호 : TCP로 전송하는 데이터들의 순서를 표기
ACK 번호 : 데이터의 정상적으로 수신되었는지 확인을 위해 사용

MSS (Maximum segment size)

TCP에서 어플리케이션 데이터를 분할하는 단위
MSS의 표준 크기는 1460바이트로, TCP에는 MSS를 넘는 크기의 데이터는 분할하는 기능 有
분할한 데이터들에 각각 TCP 헤더들이 붙고, 각각 TCP 세그먼트들이 됨.

참고 자료