• TCP와 UDP

    2024. 12. 26.

    by. hyunji1109

    TCP와 UDP는 전송계층 프로토콜로, 네트워크 통신에서 데이터를 전송하기 위해서 사용한다.
    둘 다 데이터를 패킷으로 나누어 전달하지만 목적과 특성이 다르다.

     

    1. TCP

    특징

    • 연결 지향 프로토콜
      • 데이터 전송 전에 송신자와 수신자간의 연결을 설정한다. (3-way handshake)
    • 신뢰성 보장
      • 데이터가 순서대로 도착하고 손실된 패킷은 재전송된다.
    • 양방향 통신
      • 양쪽으로 데이터를 주고받을 수 있다.
    • 예시
      • 웹브라우징, 파일전송, 이메일

     

    2. UDP

    특징

    • 비연결 프로토콜
      • 데이터 전송전 연결을 설정하지 않는다.
    • 신뢰성 미보장
      • 패킨손실, 중복, 순서 변경이 발생할 수 있다.
    • 빠른 전송
      • 연결 설정과 확인 과정이 없다.
    • 예시
      • 스트리밍, 온라인 게임, 화상회의

     

    3. TCP 3-way handshake

    TCP는 연결지향 프로토콜로 송신자와 수신자가 데이터를 전송하기전에 서로 연결을 확인해야 한다.

    이 과정에서 3개의 신호 (SYN, SYN-ASK, ACK)가 교환된다.

    ①  SYN

         클라이언트가 서버에 연결을 요청하는 신호를 보낸다.

    ②  STN-ASK

         서버가 클라이언트의 요청을 수락하며 동시에 서버의 연결 요청을 보낸다.

    ③  ASK

         클라이언트가 서버의 요청을 확인했다는 신호를 보낸다.

    이 과정이 완료되면 클라이언트와 서버는 데이터 연결이 확립된다.

     

    4. TCP 4-way handshake

    TCP 연결을 종료할 때 4개의 신호(FIN, ACK)가 교환된다.

    왜 연결설정은 3번인데 종료는 4번일까?
    예를 들어 클라이언트가 먼저 종료 요청을 하더라도 서버는 아직 데이터를 전송해야할 수 있기 때분에 각 방향별로 FIN과 ACK가 존재한다.

     

     

    'CS > 웹개발' 카테고리의 다른 글

    쿠키, 세션  (0) 2024.12.30
    JDBC, Mybatis, JPA  (0) 2024.12.29
    HTTP  (0) 2024.12.24
    HTTP, HTTP API, CSR, SSR  (1) 2024.12.23
    멀티 쓰레드  (0) 2024.12.22

    댓글