Computer Science/네트워크
네트워크 기본 : TCP
Junho Cho
2024. 3. 14. 12:18
1. 개념
인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, 네트워크를 통해 데이터를 안정적으로, 순서대로, 오류 없이 전송하기 위한 표준입니다. TCP는 IP(Internet Protocol)와 함께 작동하여, 데이터를 전송하는 호스트와 데이터를 수신하는 호스트 간의 연결을 관리합니다. 이 프로토콜은 일반적으로 TCP/IP 프로토콜 스택 또는 인터넷 프로토콜 스위트의 일부로 언급됩니다. TCP의 주요 특징과 작동 원리를 자세히 살펴보겠습니다.
2. TCP의 주요 특징
- 연결 지향적: TCP는 데이터 전송을 시작하기 전에 통신할 두 시스템 간의 연결을 설정합니다. 이 과정에서 '3-way handshake'라고 불리는 절차를 통해 연결을 초기화합니다.
- 신뢰성 있는 데이터 전송: TCP는 데이터가 순서대로, 오류 없이 목적지에 도달하도록 보장합니다. 패킷 손실, 중복, 순서 뒤바뀜 등이 발생할 경우, TCP는 이를 자동으로 감지하고 필요한 재전송을 수행합니다.
- 흐름 제어(Flow Control): TCP는 송신자와 수신자 사이의 데이터 처리 속도 차이를 관리합니다. 이를 통해 수신자의 버퍼 오버플로우를 방지합니다.
- 혼잡 제어(Congestion Control): 네트워크의 혼잡 상황을 감지하고, 이에 대응하여 데이터 전송 속도를 조절함으로써 네트워크의 혼잡을 완화합니다.
- 순서 번호와 확인 응답(ACK): TCP는 전송된 각 패킷에 순서 번호를 부여하고, 수신 측은 받은 패킷에 대해 확인 응답을 보냅니다. 이를 통해 데이터의 정확한 전송 순서를 보장합니다.
3. TCP 작동 원리
- 연결 설정: '3-way handshake'를 통해 연결이 설정됩니다. 클라이언트는 서버에 SYN 패킷을 보내 연결을 요청하고, 서버는 SYN-ACK로 응답합니다. 마지막으로 클라이언트는 ACK 패킷을 보내 연결을 확립합니다.
- 데이터 전송: 연결이 설정되면, TCP는 데이터를 세그먼트로 나누어 IP를 통해 전송합니다. 각 세그먼트는 순서 번호와 함께 전송되며, 수신 측은 순서에 맞게 데이터를 재조합합니다.
- 연결 종료: 데이터 전송이 완료되면, 연결을 종료하기 위해 다시 '4-way handshake' 과정이 이루어집니다. 이 과정에서 FIN과 ACK 패킷이 교환됩니다.
반응형