TCP vs.UDP

Lami·2022년 11월 3일
0

CS

목록 보기
3/9
post-thumbnail
post-custom-banner

Common

  • 2계층과 3계층은 목적지를 정확히 찾아가기 위한 주소 제공이 목적
  • 4계층은 목적지 단말 안에서 동작하는 여러 애플리케이션 프로세스 중 통신해야 할 목적지 프로세스를 정확히 찾아가고 패킷 순서가 바뀌지 않도록 잘 조합해 원래 데이터를 잘 만들어내기 위한 역할을 함.

TCP

enter image description here

  • 클라이언트-서버 방식으로 서비스를 제공하고 클라이언트용 프로그램과 서버용 프로그램을 구분해 개발
  • 신뢰할 수 없는 공용망에서도 정보유실 없는 통신을 보장하기 위해 세션을 안전하게 연결하고 데이터를 분할하고, 분할된 패킷이 잘 전송되었는지 확인
  • 패킷에 번호(Sequence Number)를 부여하고 잘 전송되었는지에 대해 응답(Acknowledge Number)
  • 한꺼번에 얼마나 보내야 수신자가 잘 받아 처리할 수 있는지 전송 크기(Window Size)까지 고려해 통신
  • 유실없는 안전한 통신을 위해 통신 시작 전, 사전 연결작업 진행 (3Way Handshake)
  • TCP로 인해 네트워크 상태를 심각하게 고려하지 않고 특별한 개발 없이도 쉽고 안전하게 네트워크 사용할 수 있음

UDP

enter image description here

  • 데이터 전송을 보장하지 않는 프로토콜
  • 음성 데이터나 실시간 스트리밍과 같이 시간에 민감한 프로토콜이나 애플리케이션을 사용하는 경우, 사내 방송 등 처럼 단방향으로 다수의 단말과 통신해 응답을 받기 어려운 환경에서 주로 사용
  • 데이터를 전송하는 데 신뢰성보다 일부 데이터가 유실되더라도 시간에 맞추어 계속 전송하는 것이 중요한 경우 UDP 사용
  • UDP는 중간에 데이터가 일부 유실되더라도 그냥 유실된 상태로 데이터 처리
  • TCP와 달리 통신 시작 전, 3Way Handshake 와 같이 사전에 연결을 확립하는 절차가 없음

TCP vs. UDP

TCPUDP
연결 지향(Connection Oriented)비연결형(Connectionless)
오류 제어 수행함오류 제어 수행 안 함
흐름 제어 수행함흐름 제어 수행 안 함
유니캐스트유니캐스트, 멀티캐스트, 브로드캐스트
전이중(Full Duplex)반이중(Half Duplex)
데이터 전송실시간 트래픽 전송
profile
삶이 온통 사람의 길이니 많은 경험을 해보고 싶은 프론트엔드 개발자 지망생입니다.
post-custom-banner

0개의 댓글