TCP
설명 영상 TCP 연결 설정과 종료 · 3:20
왜 배우는가: TCP는 IP의 비신뢰성을 보완해 신뢰성 있는 연결지향 바이트 스트림을 제공하므로, 웹·메일·파일 전송 등 거의 모든 응용의 기반이 된다. 헤더 필드와 제어 플래그, 연결 설정·해제 절차는 전송계층 문항에서 반복해서 묻는 핵심 내용이다.
출제 이력: 제128회 3교시 2번, 제125회 3교시 2번
1. 한 줄 정의와 핵심 키워드
답안 첫 줄 정의: TCP는 양 끝단 프로세스 사이에 신뢰성 있는 연결지향형 바이트 스트림 전송을 제공하는 전송계층(4계층) 프로토콜이다.
핵심 키워드
- 연결지향(Connection-oriented)
- 신뢰성 있는 전송(Reliable Transfer)
- 순서 제어(Sequencing)
- 흐름 제어(Flow Control)
- 혼잡 제어(Congestion Control)
- 3-way handshake
- 세그먼트(Segment)
2. 개념 풀이
쉬운 말로 풀면, TCP는 두 컴퓨터의 프로그램이 대화를 시작하기 전에 먼저 연결을 맺고, 보낸 데이터가 빠짐없이 순서대로 도착했는지 확인하며 주고받는 방식이다. 우편으로 치면 등기우편에 가깝다. 보낸 물건이 도착했다는 답장을 받아야 다음 물건을 보낸다.
정식 정의는 다음과 같다. TCP는 OSI 7계층 중 전송계층에 속하며, IP가 제공하는 비신뢰적 최선형(best-effort) 서비스 위에 신뢰성 있는 연결지향형 서비스를 더한다. 응용 프로세스는 데이터 버퍼를 TCP에 넘기고, TCP는 이를 나누어 세그먼트를 만들고 IP를 통해 상대 TCP로 보낸다.
용어를 정리하면 다음과 같다.
- 세그먼트(Segment): TCP의 프로토콜 데이터 단위(PDU). 헤더와 데이터로 구성된다. 'TCP 패킷'이라는 표현은 부정확하다.
- 데이터그램(Datagram): IP의 PDU.
- 프레임(Frame): 데이터 링크 계층의 PDU.
- 전이중(Full-duplex) 서비스: 양방향으로 데이터가 독립적으로 흐를 수 있는 성질이다.
- 신뢰성의 세 요소: 패킷 손실, 중복, 순서 바뀜이 없도록 보장하는 것이다.
TCP의 신뢰성은 순서 번호와 확인 응답(ACK)으로 구현된다. 송신 측은 각 바이트에 번호를 붙이고, 수신 측은 받은 범위를 ACK로 알린다. 제때 확인이 없으면 송신 측이 재전송한다.
3. 등장 배경과 필요성
IP는 패킷을 최선을 다해 전달할 뿐, 도착 보장이나 순서 보장을 하지 않는다. 그래서 패킷이 유실되거나 뒤바뀌거나 중복될 수 있다. 응용 프로그램이 이 문제를 각자 해결하면 구현이 중복되고 오류가 늘어난다. 이 때문에 전송계층에서 한 번만 해결하는 구조가 필요해졌다.
TCP는 이 문제를 다음 네 가지 기능으로 해결한다. 첫째, 연결 설정과 해제로 통신 상태를 관리한다. 둘째, 순서 번호와 ACK로 순서와 손실을 관리한다. 셋째, 윈도우 크기로 수신 측 처리 능력에 맞춰 보내는 양을 조절하는 흐름 제어를 한다. 넷째, 네트워크 혼잡 신호에 따라 전송률을 낮추는 혼잡 제어를 한다.
반면 UDP는 연결 설정이나 재전송 없이 데이터그램을 보내는 비연결형 프로토콜이다. 실시간 음성이나 DNS 질의처럼 지연을 줄이는 것이 중요한 응용에서 쓰인다. TCP와 UDP의 선택은 신뢰성과 지연 사이의 trade-off로 설명한다.
이어지는 내용
- 4. 구성요소·원리·절차
- 5. 관련 법령·기준·표준
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기