본문 바로가기

기술 면접 대비/네트워크

[기술 면접 대비] TCP와 UDP의 비교

내가 보기 편하게 여러 블로그를 참고하여 정리한 것. (출처 표기)
2020.09.07 기술 면접 대비 - 수정이 있을 수 있음. (수정 시 아래에 기록)

UDP

1. UDP란?

  • User Datagram Protocol의 약어
  • 비연결형 프로토콜, 사전에 연결 설정 없이 데이터를 전달한다.
  • 흐름 제어, 혼합 제어, 오류 제어를 하지 않으므로 손상된 세그먼트의 수신 대한 재전송을 하지 않는다.

2. UDP의 장/단점

장점

  • 속도가 빠르다.
  • 네트워크 부하가 적다.

단점

  • 신뢰성 있는 데이터 전송을 보장하지 못한다.

TCP

1. TCP란?

  • Transmission Control Protocol의 약어
  • 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다.
  • 신뢰성 있는 데이터 전송과 순차적인 전송 순서를 보장하는 연결지향성 프로토콜
  • 연결 설정은 3-way handshake 과정을 통한다.
  • 연결 해제는 4-way handshake 과정을 통한다.

* 패킷 (Packet)

  • 인터넷 내에서 데이터를 보내기 위한 경로 배정(라우팅)을 효율적으로 하기 위해 데이터를 여러 개의 조각으로 나누어 전송한다.
  • 이때 조각을 패킷이라고 한다.

2. TCP의 장/단점

장점

  • 흐름 제어, 혼합 제어, 오류 제어를 통해 신뢰성 있는 데이터 전송을 보장

단점

  • 하지만 이러한 장점으로 인해 UDP보다 전송 속도가 느리다.

* 흐름 제어

  • 송신측과 수신 측 사이의 데이터 처리 속도 차이(흐름)를 해결하기 위한 기법

* 혼잡 제어

  • 송신측의 데이터 전달과 네트워크의 데이터 처리 속도를 해결하기 위한 기법
  • 한 라우터에게 데이터가 몰려 모든 데이터를 처리할 수 없는 경우, 호스트들은 재전송을 하게 되고 결국 혼잡만 가중시켜 오버플로우나 데이터 손실이 발생한다.
  • 이러한 네트워크의 혼잡을 피하기 위해 송신 측에서 보내는 데이터의 전송 속도를 제어하는 것이 혼잡 제어의 개념이다.

* 오류 제어

  • 오류 검출과 재전송을 포함
  • ARQ(Automatic Repeat Request) 기법을 사용해 프레임이 손상되었거나 손실되었을 경우, 재전송을 통해 오류를 복구한다.

참고

github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network#tcp%EC%99%80-udp%EC%9D%98-%EB%B9%84%EA%B5%90

 

JaeYeopHan/Interview_Question_for_Beginner

:boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner

github.com

github.com/WooVictory/Ready-For-Tech-Interview/blob/master/Network/UDP.md

 

WooVictory/Ready-For-Tech-Interview

💻 신입 개발자로서 준비를 하기 위해 지식을 정리하는 공간 👨‍💻. Contribute to WooVictory/Ready-For-Tech-Interview development by creating an account on GitHub.

github.com

 

 

 

 

 

 

'기술 면접 대비 > 네트워크' 카테고리의 다른 글

[기술 면접 대비] OSI 7 계층  (0) 2020.09.06