[개념 콕] TCP와 UDP

내일배움캠프 수료생이 개발에 꼭 필요한 핵심 개념만 콕 집어 드립니다.
May 29, 2024
[개념 콕] TCP와 UDP
✍🏼
개발을 시작하시는 여러분, 정보가 너무 많고 배워야 할 것도 산더미라 어디서부터 시작해야 할지 막막하신가요? 내일배움캠프 수료생들이 4개월 동안 배운 엄선된 핵심 개념을 직접 정리해서 알려 드립니다. 공부하다 막히거나 헷갈리는 개념이 있다면 개념 콕으로 정리해보세요.
 

TCP (Transmission Control Protocol)

TCP란?

TCP는 클라이언트와 서버가 연결된 상태에서 데이터를 주고 받는 연결 지향적 프로토콜입니다.
 

TCP의 특징

  • 연결형 서비스: 클라이언트와 서버가 3-way handshaking 과정을 통해 연결을 설정하고, 4-way handshaking 과정을 통해 연결을 해제합니다.
  • 흐름 제어(Flow Control): 수신자의 데이터 처리 속도를 조절하여 버퍼 오버플로우를 방지합니다.
  • 혼잡 제어(Congestion Control): 네트워크 내의 패킷 수가 과도하게 증가하지 않도록 방지합니다.
  • 높은 신뢰성: 데이터 전송의 신뢰성을 보장하여 순서대로, 오류 없이 데이터를 교환합니다.
  • 전이중(Full-Duplex), 점대점(Point to Point) 방식: 양방향 통신이 동시에 가능하며, 각 연결이 2개의 종단점을 가집니다.
 

TCP의 활용

반드시 목적지에 모든 데이터가 도착해야 하는 중요한 전송물일 경우에 이 방식을 사용합니다.
  • 파일 전송: 중요한 파일을 주고받을 때, 데이터의 신뢰성이 매우 중요합니다.
  • 이메일: 이메일 전송 시, 데이터 손실 없이 정확히 전달되어야 합니다.
 
TCP를 보안이 철저한 우편 서비스라고 생각하면 이해하기 쉽습니다.
우체부가 문서(데이터)를 발송하기 전, 수신자와 먼저 연락하여(3-way handshaking) 문서가 도착할 시간을 약속합니다. 문서가 손상되지 않도록 안전하게 전달하고 수신자가 문서를 받았는지 확인한 후 다시 연락하여 배달이 완료되었음을 확인합니다(4-way handshaking). 문서가 중간에 손상되거나 잃어버리면, 우체부가 다시 발송하여 정확한 문서가 도착할 때까지 책임집니다.
 
 

UDP (User Datagram Protocol)

UDP란?

UDP는 연결을 위한 경로가 없는 독립적인 관계인 비연결형 프로토콜입니다.
 

UDP의 특징

  • 비연결형 서비스: 데이터를 독립적인 패킷으로 전송하며 각 패킷은 다른 경로로 전송될 수 있습니다.
  • 데이터 수신 여부 확인 불가: TCP의 3-way handshaking과 같은 과정이 없어 데이터 수신 여부를 확인하지 않습니다.
  • 신뢰성이 낮음: 흐름 제어나 혼잡 제어가 없어 데이터가 제대로 전송되었는지 확인할 수 없습니다.
  • 빠른 속도: TCP보다 속도가 빠르고 네트워크 부하가 적습니다.
  • 다양한 통신 방식: 1:1, 1:N, N:N 통신이 가능합니다.
 

UDP의 활용

주로 연속성 있는 전송이 중요할 때 혹은 빠른 전송이 필요할 때 사용됩니다.
  • 실시간 스트리밍: 영상이나 오디오 스트리밍은 약간의 데이터 손실보다 빠른 전송이 더 중요합니다.
  • 온라인 게임: 실시간으로 반응해야 하므로 빠른 데이터 전송이 필요합니다.
 
UDP를 일반 우편 서비스라고 생각하면 이해하기 쉽습니다.
우체부가 문서(데이터)를 발송할 때 수신자와 별도로 연락하지 않습니다. 문서를 보낸 후 문서가 도착했는지 확인하지 않으며, 중간에 손상되거나 잃어버려도 다시 발송하지 않습니다. 문서가 빠르게 전달되지만, 도착은 보장할 수 없습니다.
 

TCP와 UDP의 차이점

프로토콜 종류
TCP
UDP
연결 방식
연결형 서비스
비연결형 서비스
패킷 교환 방식
가상 회선 방식
데이터그램 방식
전송 순서
전송 순서 보장
전송 순서가 바뀔 수 있음
수신 여부 확인
수신 여부를 확인함
수신 여부를 확인하지 않음
통신 방식
1:1 통신
1:1, 1:N, N:N 통신
신뢰성
높음
낮음
속도
느림
빠름
 
 

내일배움캠프는 개발에 필요한 핵심만 배웁니다

지금까지 꼭 필요한 개발 지식에 대해 알아보았습니다. 내일배움캠프에서는 전문가들이 선별한 핵심 개발 지식으로 개발 공부도, 취업도 보다 효율적으로 할 수 있는데요. 국내 유수의 IT기업 출신 튜터님들과 실습 위주의 독보적인 커리큘럼으로 개발자 취업을 체계적으로 준비해보세요. 내일배움캠프 4개월, 여러분 인생의 가장 큰 터닝 포인트입니다.
 
 
 
CREDIT
글 | 이지선 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
Share article
Subscribe to our newsletter
RSSPowered by inblog