본문 바로가기

CS/네트워크

TCP와 UDP

Transport layer

신뢰성 있는 데이터를 전송하는 계층이다.

신뢰성이란, 데이터를 순차적이고 안정적으로 전달하는 것을 말한다.

전송이란, 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것을 말한다.

 

  • 왜 중요할까? Transport layer가 없다면...
    1. Flow Problem: 송수신자 간의 데이터 처리 속도에 차이가 있을 수 있다.
    2. Congestion Problem: 네트워크의 데이터 처리 속도에 문제가 있을 수 있다.(네트워크 혼잡)

 

TCP(Transmission Control Protocol)

  • 신뢰성 있는 데이터 통신을 가능하게 해주는 프로토콜이다.
  • 데이터의 순차 전송을 보장한다.
  • Flow control, Congestion control, Error detection 수행
  • full-duplex 방식 사용(양방향)
  • 점대점 방식
  • UDP보다 속도가 느리다.
  • connection 시 3-way handshake를 사용한다.
  • 멀티캐스팅(UDP 기반, 특정 호스트만 수신), 브로드캐스팅(UDP 기반, 일대다)을 지원하지 않는다.
  • 연결 지향형 프로토콜
  • HTTP, HTTPS

UDP(User Datagram Protocol)

  • 데이터그램 단위로 데이터를 처리한다.
  • 비연결형 서비스
  • checksum을 활용해 최소한의 오류만 체크한다.
  • 신뢰성이 낮다.
  • 속도가 빠르다.
  • 스트리밍 서비스
  • 헤더가 8바이트로 고정되어 있다.
  • 오류가 있는 데이터들에 대해서 재전송을 하지 않는다.→클라이언트가 재요청해야 함
  • DNS

 

 

'CS > 네트워크' 카테고리의 다른 글

HTTP 헤더  (0) 2021.05.25
GET과 POST  (0) 2021.05.18
TCP의 3 way handshake와 4 way handshake  (0) 2021.05.17
TCP/UDP의 Header  (0) 2021.05.17
OSI 7계층  (0) 2021.05.15