STUDY/CS

[네트워크] TCP vs UDP 차이점 / 가상회선 패킷 교환 방식, 데이터그램 패킷 교환 방식

ez1n 2023. 1. 21. 11:45

❗TCP/IP 4계층에 대한 내용은 아래 글을 확인해 주세요 :)

 

👉 [네트워크] TCP/IP 4계층

 

 

[네트워크] TCP/IP 4계층

TCP/IP (Transmission Control Protocol / Internet Protocol) 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프로토콜 TCP, IP 2개로 이루어져 있음 하위 계층 상위 계층

ttugttag-coding.tistory.com

 


 

TCP & UDP

TCP/IP 4계층 중 전송계층에 해당하며 애플리케이션과 인터넷 계층 사이의 데이터 전달 시 중계 역할을 합니다.

 

 

1. TCP (Transmission Control Protocol)

  • 신뢰성 있는 연결형 서비스 제공
  • 흐름 제어, 오류 제어, 순서 제어
  • 정해진 시간 안의 대량 데이터를 연속으로 보낼 때 적합함
  • 가상회선 패킷 교환 방식 사용 *
  • 3-way-handshake (연결 성립), 4-way-handshake (연결 해제)

 

💡 핸드 쉐이크 (handshake)

상대와 연결 상태를 만들거나 해제하기 위해 거치는 과정

 

 

3-way-handshake (3-웨이-핸드쉐이크)

TCP/IP 프로토콜을 이용하여 통신하는 응용 프로그램이 데이터 전송 전 정확한 전송 보장을 위해 상대 컴퓨터와 사전에 세션을 수립하는 과정

 

  • 신뢰성 확보
  • 무의미한 데이터 전송 방지
  • UDP에는 존재하지 않음 (비신뢰성)

 

 

# 역할

  1. 양쪽 데이터 전송 준비를 보장함
  2. 양쪽 모두 상대에 대한 초기 순차 일련번호를 얻을 수 있음

# 순서

  1. 가상 연결 후 메시지 전송 (ISN 담은 SYN  전송)
  2. 서버가 클라이언트의 SYN 수신하면 클라이언트에 서버의 ISN (ACK) 전송
  3. 클라이언트는 승인번호를 담아 요청 수락 메시지 (ACK)를 서버에 전송

 

💡 용어 정리

ISN : Initail Sequence Numbers (초기 일련 번호)
SYN : SYNchronization (연결 요청 플래그)
ACK : ACKnowledgement (응답 플래그)

 

 

4-way-handshake (4-웨이-핸드쉐이크)

데이터 전송 완료 후 두 컴퓨터 사이의 연결을 끊기 위한 과정

 

 

# 순서

  1. 클라이언트가 서버에 FIN(세그먼트) 전송
  2. 서버가 클라이언트에 ACK 전송
  3. 일정시간 후 서버가 클라이언트에 FIN(세그먼트) 전송
  4. 클라이언트 TINE_WAIT 상태 → 서버로 ACK 전송

 

💡 TIME_WAIT 상태

클라이언트가 서버로부터 FIN을 수신하더라도 일정 시간동안 세션을 남겨놓고 (소켓이 바로 소멸되지 않고) 잉여 패킷을 기다리는 상태
⇒ 지연 패킷이 발생할 경우를 대비하고 두 장치가 연결이 닫혔는지 확인하기 위함

 

💡 용어 정리

FIN : 연결 종료 플래그

 

 

2. UDP (User Datagram Protocol)

  • 비연결형 서비스 제공
  • 흐름 제어나 순서 제어가 없어 실시간 전송에 유리함
  • 신뢰성 < 속도 인 네트워크에서 주로 사용
  • 데이터그램 패킷 교환 방식 *

 

 


 

 

## 가상회선 패킷 교환 방식 vs 데이터그램 패킷 교환 방식

 

가상 회선 패킷 교환 방식 (TCP)

데이터를 전송하기 전 논리적 연결 설정
연결 지향형

 

 

출처 : 더북 (https://thebook.io/080326)

 

  • 각 패킷에 가상회선 식별자가 포함되어 모든 패킷을 전송하면 가상회선이 해제되고 전송 순서대로 패킷이 도착함
  • 결로 설정 시 한 번만 수행
  • 패킷의 순서를 보장함

 

 

데이터그램 패킷 교환 방식 (UDP)

데이터를 전송하기 전에는 논리적 연결이 설정되지 않으며 패킷이 독립적으로 전송됨
비연결 지향형

 

 

출처 : 더북 (https://thebook.io/080326)

 

  • 패킷이 독립적으로 최적의 경로를 선택하여 이동
  • 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있음
  • 패킷 사이의 순서를 보장하지 않음

 

 

 

참고 도서
[주홍철] 면접을 위한 CS 전공지식 노트
[김정준 외 5명] 정보처리기사 필기