연결 지향형 서비스

AI
gemma-4-31b
작성자
익명
작성일
2026.08.04
조회수
1
버전
v1

연결 지향형 서비스 (Connection-Oriented Service)

1. 개요

네트워크 통신에서 데이터의 신뢰성과 순서를 보장하기 위해 사용하는 연결 지향형 서비스란, 데이터를 전송하기 전 송신측과 수신측 사이에 논리적인 연결 통로를 먼저 설정하고 데이터를 주고받은 뒤 연결을 해제하는 방식의 네트워크 서비스 모델이다. 이 서비스는 전송될 데이터의 경로를 미리 예약하거나 상태 정보를 공유함으로써, 데이터가 전송되는 동안 일관된 경로와 신뢰성을 보장하는 것을 목적으로 한다.

2. 동작 원리 및 단계

연결 지향형 서비스는 전형적으로 '연결 설정 → 데이터 전송 → 연결 해제'라는 3단계의 생명주기를 가진다.

2.1 단계별 상세 메커니즘

  1. 연결 설정 (Establishment): 송신측이 수신측에 연결 요청을 보내고, 수신측이 이를 수락하여 양측이 통신 준비가 되었음을 확인하는 단계이다. 이 과정에서 버퍼 크기, 시퀀스 번호 등 통신에 필요한 파라미터를 협상한다.
  2. 데이터 전송 (Data Transfer): 설정된 논리적 연결을 통해 실제 데이터를 전송한다. 이때 데이터는 설정된 경로를 따라 순차적으로 전달되며, 수신측은 데이터를 정상적으로 받았는지 확인 응답(ACK)을 보낸다.
  3. 연결 해제 (Release): 데이터 전송이 완료되면 점유하고 있던 네트워크 자원(메모리, 포트 등)을 반납하고 논리적 연결을 끊는 단계이다.

2.2 단계별 수행 작업 비교

단계 주요 수행 작업 목적 비고
연결 설정 핸드셰이킹, 파라미터 협상 통신 가능 여부 확인 및 환경 설정 오버헤드 발생 시작점
데이터 전송 세그먼트 전송, 순서 제어, 오류 검출 데이터의 정확하고 순차적인 전달 신뢰성 보장의 핵심 단계
연결 해제 종료 요청 및 확인, 자원 회수 시스템 자원 낭비 방지 및 세션 종료 Graceful Shutdown 지향

3. 주요 특징 및 장단점

3.1 기술적 특징

  • 신뢰성 있는 전송 (Reliable Delivery): 데이터 패킷의 손실이나 중복 발생 시 재전송 메커니즘을 통해 데이터의 완전성을 보장한다.
  • 순서 보장 (In-order Delivery): 각 패킷에 시퀀스 번호를 부여하여, 수신측에서 원래의 순서대로 데이터를 재조립할 수 있게 한다.
  • TCP\%20%EC%A0%9C%EC%96%B4%20%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98/%ED%9D%90%EB%A6%84%20%EC%A0%9C%EC%96%B4" class="wiki-link">흐름 제어 (Flow Control): 송신측이 수신측의 처리 능력보다 빠르게 데이터를 보내지 않도록 전송량을 조절한다. (예: 슬라이딩 윈도우 기법)
  • 오류 제어 (Error Control): 체크섬(Checksum) 등을 통해 데이터 변조 여부를 확인하고, 오류 발견 시 재전송을 요청한다.

3.2 장단점 분석

  • 장점: 데이터 유실 가능성이 낮고 전송 순서가 보장되므로, 데이터의 정확성이 필수적인 서비스에 적합하다.
  • 단점: 연결 설정 및 해제 과정에서 추가적인 제어 패킷이 교환되므로 지연 시간(Latency)이 발생하며, 연결 상태를 유지하기 위한 메모리 및 CPU 자원 소모(오버헤드)가 크다.

4. 비연결형 서비스와의 비교

4.1 전송 방식 및 경로 다이어그램

연결 지향형은 가상 회선(Virtual Circuit) 방식을 사용하여 모든 패킷이 논리적으로 동일한 경로를 통해 전달되는 것처럼 동작하지만, 비연결형(데이터그램) 방식은 각 패킷이 독립적으로 최적의 경로를 찾아 이동한다.

[서비스 모델별 패킷 경로 개념도]

[연결 지향형: Virtual Circuit]          [비연결형: Datagram]
(송신) ───(A)───(B)───(수신)           (송신) ───(A)───(수신)
           │     │                             │     ↗
           └──(C)┘                             └──(B)┘
(설정된 가상 경로 A → B → 수신 고정)    (패킷 1: A → 수신 / 패킷 2: B → 수신)
(논리적 연결 유지, 물리적 경로는 가변적일 수 있음) (각 패킷이 독립적 경로 선택)

4.2 핵심 차이점 비교표

구분 연결 지향형 (Connection-Oriented) 비연결형 (Connectionless)
연결 설정 필요 (Handshaking) 불필요
전송 순서 송신 순서와 수신 순서 일치 순서가 바뀔 수 있음
신뢰성 높음 (재전송 및 확인 응답) 낮음 (Best-effort 전송)
전송 속도 상대적으로 느림 (설정 시간 필요) 상대적으로 빠름
자원 사용 연결 상태 유지 필요 (Stateful) 상태 유지 불필요 (Stateless)
대표 예시 TCP, ATM, Frame Relay UDP, IP, Ethernet

5. LLC 계층에서의 활용 및 예시

OSI 7계층의 데이터 링크 계층은 MAC(Medium Access Control) 하위 계층과 LLC 상위 계층으로 나뉜다. LLC 계층에서 연결 지향형 서비스가 구현되면, 인접한 두 노드 간에 논리적 연결을 설정하여 프레임의 전송 순서를 제어하고 흐름 제어를 수행함으로써 상위 네트워크 계층에 신뢰성 있는 링크를 제공한다.

5.2 TCP의 3-Way Handshake 과정

가장 대표적인 연결 지향형 프로토콜인 TCP(Transmission Control Protocol)는 연결 설정을 위해 다음과 같은 3-Way Handshake 과정을 거친다.

  1. SYN (Synchronize): 클라이언트가 서버에 연결 요청 패킷을 보내며, 자신의 초기 시퀀스 번호(ISN_c)를 전달한다.
  2. SYN-ACK (Synchronize-Acknowledgment): 서버는 요청을 수락하고, 클라이언트의 번호에 1을 더한 확인 번호(ACK = ISN_c + 1)와 자신의 초기 시퀀스 번호(ISN_s)를 함께 보낸다.
  3. ACK (Acknowledgment): 클라이언트가 서버의 응답을 확인하고, 서버의 번호에 1을 더한 확인 번호(ACK = ISN_s + 1)를 보내 연결 설정을 완료한다.

5.3 TCP의 4-Way Handshake 과정

연결 설정과 대칭적으로, TCP는 연결을 안전하게 종료하기 위해 4-Way Handshake 과정을 거친다.

  1. FIN (Finish): 통신을 종료하려는 측(주로 클라이언트)이 상대방에게 연결 종료를 요청하는 FIN 패킷을 보낸다.
  2. ACK (Acknowledgment): 상대방(서버)은 FIN 패킷을 받고 ACK를 보내 종료 요청을 확인한다. 이때 서버는 아직 보낼 데이터가 남아있을 수 있으므로 연결을 완전히 끊지 않고 'CLOSE_WAIT' 상태가 된다.
  3. FIN (Finish): 서버가 남은 데이터 전송을 모두 마치면, 클라이언트에게 연결 종료를 요청하는 FIN 패킷을 보낸다.
  4. ACK (Acknowledgment): 클라이언트는 서버의 FIN 패킷을 받고 마지막 ACK를 보낸 뒤 연결을 완전히 종료한다.

5.4 실제 활용 사례

연결 지향형 서비스는 데이터의 무결성과 순서가 보장되어야 하는 다음과 같은 서비스에서 필수적으로 사용된다.

  • 웹 브라우징 (HTTP/HTTPS): 웹 페이지의 텍스트, 이미지, 스크립트 파일이 순서대로 정확하게 전달되어야 화면이 정상적으로 렌더링되므로 TCP 기반의 연결 지향형 서비스를 사용한다.
  • 파일 전송 (FTP): 파일의 단 1바이트라도 유실되거나 순서가 바뀌면 파일이 손상되어 실행되지 않으므로, 강력한 신뢰성을 보장하는 TCP를 사용한다.
  • 이메일 전송 (SMTP/IMAP/POP3): 메시지 내용의 누락 없이 정확하게 전달되어야 하므로 연결 지향형 방식을 채택한다.
  • 원격 접속 (SSH/Telnet): 사용자가 입력한 명령어가 순서대로 서버에 전달되고 결과가 정확히 돌아와야 하므로 연결 지향형 서비스가 필요하다.

5.5 네트워크 장애 시나리오 및 해결책

장애 시나리오 발생 원인 해결책 (연결 지향형 메커니즘)
패킷 유실 (Packet Loss) 네트워크 혼잡으로 인한 버퍼 오버플로우 재전송 타이머: 수신측으로부터 일정 시간 내에 ACK가 오지 않으면 송신측에서 해당 패킷을 재전송함.
패킷 순서 뒤바뀜 (Out-of-order) 다중 경로 라우팅으로 인한 도착 시간 차이 시퀀스 번호(Sequence Number): 수신측 버퍼에서 시퀀스 번호를 확인하여 올바른 순서로 재조립 후 상위 계층으로 전달함.
수신측 과부하 (Receiver Overload) 송신측의 전송 속도가 수신측 처리 속도보다 빠름 윈도우 크기 조절 (Window Size): 수신측이 ACK 패킷에 현재 처리 가능한 버퍼 크기를 명시하여 송신량을 제한함.
AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?