TCP/UDP

2025. 1. 23. 08:58·Computer Science/Network
목차
  1. TCP / UDP란?
  2. TCP(전송 제어 프로토콜, Transmission Control Protocol)의 특징
  3. UDP(사용자 데이터그램 프로토콜, User Datagram Protocol)특징
반응형

TCP / UDP란?

TCP/UDP는 OSI 7 계층 모델의 전송계층에서 동작하는 프로토콜.

IP와 함께 사용되어 데이터를 송수신한다.

둘의 주된 차이는 데이터 전송 방식과 신뢰성이다.

 

 

TCP(전송 제어 프로토콜, Transmission Control Protocol)의 특징

1. 연결지향 : 3 way Handsahke

TCP의 논리적 연결 과정을 말한다.

 

* SYN : 접속 요청 / ACK : 요청 수락(ACK와 함께 데이터 전송 가능)

1. 클라이언트가 서버에게 접속을 요청함.

2. 서버가 클라이언트의 요청을 수락하고, 클라이언트에게 접속을 요청함.

3. 클라이언트가 서버의 요청을 수락함.

 

 

2. 신뢰성 : 순서 보장

먼저, TCP 프로토콜을 이용한 메시지 전달 과정을 살펴보자.

1. HTTP: 프로그램이 메시지 생성, socket 라이브러리를 통해 전달.

2. TCP: TCP 정보 생성, 메시지 데이터 포함.

3. IP: IP 패킷 생성, TCP 세그먼트 포함.

 

→즉, IP 패킷은 TCP 세그먼트를, TCP세그먼트는 메시지 데이터를 포함하고 있음.

TCP/IP 패킷 구성

 

TCP 세그먼트는 출발지/목적지 PORT, 전송 제어, 순서, 검증 정보 등을 포함함.

 

TCP 세그먼트에 순서에 대한 정보를 포함하기 때문에 잘못된 순서로 패킷이 전달되면 이를 최적화 할 수 있음.

때문에, IP 프로토콜로는 해결되지 않던 순서, 제어 등의 문제를 해결.

 

 

UDP(사용자 데이터그램 프로토콜, User Datagram Protocol)특징

1. 비연결형

2. 신뢰성 보장 X / 오류검출 O

3. 빠른 데이터 전송

 

IP와 거의 같다. PORT와 체크섬 정도만 추가된다.

단순하고 빠르다는 장점이 있다. 때문에 실시간 스트리밍과 같이 속도가 중요한 서비스에 사용된다.

 

 

 

이미지 출처/참고

 

모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런

김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연

www.inflearn.com

 

728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

URI와 웹 브라우저 요청 흐름  (1) 2025.01.25
포트(PORT)와 DNS  (1) 2025.01.24
IP(인터넷 프로토콜)  (0) 2025.01.22
HTTP vs HTTPS, SSL/TLS  (0) 2024.09.30
HTTP/1.0, HTTP/1.1, HTTP/2.0, HTTP/3.0(QUIC)  (2) 2024.09.30
  1. TCP / UDP란?
  2. TCP(전송 제어 프로토콜, Transmission Control Protocol)의 특징
  3. UDP(사용자 데이터그램 프로토콜, User Datagram Protocol)특징
'Computer Science/Network' 카테고리의 다른 글
  • URI와 웹 브라우저 요청 흐름
  • 포트(PORT)와 DNS
  • IP(인터넷 프로토콜)
  • HTTP vs HTTPS, SSL/TLS
settong
settong
    250x250
  • settong
    개 발 자 국
    settong
  • 전체
    오늘
    어제
    • 전체보기 (202)
      • Computer Science (50)
        • Network (7)
        • Operating System (18)
        • Data Structure (9)
        • Database (11)
        • Algorithm (5)
      • Language (17)
        • Java (17)
        • Javascript (0)
        • Python (0)
      • Devops (20)
        • AWS (0)
        • Naver Cloud (16)
        • CICD (3)
        • 웹 서버 관리 (1)
      • Front (0)
        • React (0)
      • Backend (5)
        • Spring (5)
      • 코딩 테스트 정복기 (110)
        • 백준 (51)
        • 프로그래머스 (53)
        • 기타 (6)
      • etc (0)
      • 경제 상식 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DFS
    github actions
    ncp202
    CI/CD
    Spring Boot
    다익스트라
    다이나믹프로그래밍
    프로그래머스
    분할정복
    ncp200
    벨만포드
    집합
    해시
    BFS
    ncp
    백준
    Network
    lcs
    완전탐색
    백트래킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
settong
TCP/UDP

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.