TCP의 구성요소
TCP란
TCP(Transmission Control Protocol)는 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로,
신뢰성 있는 데이터 전송을 제공하는 연결 지향 프로토콜입니다.
TCP는 전송 계층(Transport Layer)에서 작동하며, 데이터를 패킷으로 나누어 전송하고,
수신측에서 이를 다시 조립하여 상위 계층에 전달합니다.
TCP의 구성요소
연결 설정 및 해제 (Connection Establishment and Termination)
Three-way Handshake:
TCP는 연결을 설정하기 위해 세 단계의 핸드셰이크를 수행합니다.
클라이언트가 서버에게 연결 요청을 보내고,
서버가 수락하면 클라이언트가 다시 수락했다는 메시지를 보내는 과정입니다.
Four-way Handshake:
연결을 해제할 때는 네 단계의 핸드셰이크를 사용합니다.
순서화 및 재전송 (Sequencing and Retransmission):
순서 번호 (Sequence Number):
TCP는 데이터를 전송할 때 일련의 순서 번호를 할당하여 데이터의 순서를 관리합니다.
확인 응답 (Acknowledgment):
수신측은 정상적으로 데이터를 수신했음을 송신측에게 알리기 위해 확인 응답을 보냅니다.
재전송:
데이터 손실이나 손상이 감지되면 송신측은 해당 데이터를 다시 전송합니다.
흐름 제어 (Flow Control)
윈도우 크기 (Window Size):
수신측은 자신이 처리할 수 있는 데이터의 양을 송신측에게 알리는 윈도우 크기를 설정합니다.
이를 통해 과부하를 방지하고 효율적인 통신이 가능합니다.
혼잡 제어 (Congestion Control)
혼잡 윈도우 제어:
혼잡이 발생하면 송신측은 전송 속도를 줄이고,
혼잡이 완화되면 다시 속도를 증가시키는 등의 조절을 통해 네트워크 혼잡을 관리합니다.
타이머 및 타임아웃 (Timers and Timeouts):
재전송 타이머:
데이터를 전송한 후 일정 시간 동안 응답이 없으면 해당 데이터를 재전송하기 위한 타이머를 설정합니다.
채널 보호 (Reliability)
재전송 메커니즘:
데이터를 신뢰성 있게 전송하기 위해 송신측은 일정 시간 내에 응답이 없는 경우 데이터를 재전송합니다.
TCP의 역할
신뢰성 있는 데이터 전송:
TCP는 데이터를 손실 없이 정확하게 전송하기 위해 재전송 메커니즘을 제공합니다.
데이터가 손실되거나 손상된 경우, 송신측은 해당 데이터를 다시 전송하여 데이터의 완전성을 보장합니다.
흐름 제어 (Flow Control):
TCP는 데이터의 효율적인 전송을 위해 흐름 제어 메커니즘을 사용합니다.
수신측은 자신이 처리할 수 있는 데이터의 양을 송신측에게 알려,
과부하를 방지하고 효율적인 통신을 가능케 합니다.
혼잡 제어 (Congestion Control):
TCP는 네트워크 혼잡을 방지하고 조절하기 위한 혼잡 제어 메커니즘을 갖추고 있습니다.
혼잡이 발생하면 송신측은 전송 속도를 줄이고,
혼잡이 완화되면 속도를 다시 증가시켜 효율적인 네트워크 이용을 도모합니다.
연결 설정 및 해제:
TCP는 연결을 설정하고 해제하기 위한 핸드셰이크 프로세스를 제공합니다.
세그먼트를 교환하여 연결 설정 및 해제를 안전하게 수행합니다.
순서화된 데이터 전송:
TCP는 데이터를 일련의 순서 번호를 통해 순서화하고,
수신측에서는 이를 다시 정확한 순서로 재조립하여 상위 계층에 전달합니다.
전이중 및 점대점 통신:
TCP는 전이중 통신(양방향 통신)과 점대점 통신을 지원합니다.
두 시스템 간의 양방향 데이터 흐름을 지원하면서 각 연결은 점대점으로 설정됩니다.
오류 검출 및 복구:
TCP는 데이터 전송 중에 오류를 검출하고, 필요한 경우 재전송을 통해 오류를 복구합니다.
타임아웃 및 재전송:
TCP는 일정 시간 동안 응답이 없는 경우에 대비해 타이머와 재전송 메커니즘을 사용하여 안정적인 통신을
유지합니다.
TCP는 이러한 기능들을 통해 안정적이고 신뢰성 있는 통신을 제공하며,
대부분의 네트워크 응용 프로그램에서 사용됩니다.
'목차훔치기 > 네트워킹과 웹 성능 최적화 기법' 카테고리의 다른 글
와이파이(WiFi)(네트워킹과 웹 성능 최적화 기법) (0) | 2023.11.25 |
---|---|
무선 네트워크 소개(네트워킹과 웹 성능 최적화 기법) (2) | 2023.11.24 |
전송 계층 보안(네트워킹과 웹 성능 최적화 기법) (2) | 2023.11.23 |
UDP의 구성요소(네트워킹과 웹 성능 최적화 기법) (0) | 2023.11.22 |
레이턴시와 대역폭 이해의 첫걸음(네트워킹과 웹 성능 최적화 기법) (0) | 2023.11.20 |