코드 그라데이션

Day32. 네트워크 (2) TCP / UDP 본문

Java/Mega

Day32. 네트워크 (2) TCP / UDP

완벽한 장면 2023. 5. 6. 18:40

TCP (Transmission Control Protocol)UDP (User Datagram Protocol)

: 인터넷에서 데이터를 전송하기 위해 사용되는 프로토콜
 
 

TCP

- 신뢰성 있는 데이터 전송을 보장.

- 패킷을 연결하고, 데이터 전송의 상태를 확인하며, 재전송을 수행하여 데이터 손실을 방지.

- 데이터를 보내기 전에 연결을 설정해야 하며, 연결이 해제되기 전까지 데이터 전송을 지속한다.

ex. 많은 웹 사이트, 이메일, 파일 전송 등에서 사용한다.

 

장점

  • 신뢰성 있는 데이터 전송을 보장하여 데이터 손실이나 중복을 방지할 수 있다.
  • 흐름 제어 및 혼잡 제어 기능을 제공하여 대역폭 효율성을 높인다.

단점

  • 오버헤드가 크기 때문에 속도가 느릴 수 있다.
  • 연결 설정에 시간이 걸리기 때문에 빠른 데이터 전송을 필요로 하는 애플리케이션에서는 부적합할 수 있다.

 

UDP

- 비신뢰성 있는 데이터 전송.(중간 유실 가능성 有)

- 데이터를 보내고 받는 쪽에서 오류 검사와 복구를 수행.

- 데이터를 보내기 전에 연결을 설정할 필요가 없으며, 데이터 전송 중에 연결을 해제할 수 있다.

ex. 오디오, 비디오 스트리밍, 온라인 게임 등의 실시간 데이터 전송에 사용한다.

 

장점

  • 오버헤드가 적기 때문에 TCP보다 빠름
  • 실시간 데이터 전송에 적합하다.

 

단점

  • 신뢰성이 떨어지기 때문에 데이터 손실이나 중복이 발생할 수 있음.
  • 혼잡 제어 및 흐름 제어 기능이 없어 대역폭을 낭비할 수도 있음.

 

728x90

'Java > Mega' 카테고리의 다른 글

Day33-34. 자바 GUI  (0) 2023.05.07
Day32. 네트워크 (3) 예제  (0) 2023.05.06
Day32. 네트워크 (1) TCP/IP, OSI 7계층  (0) 2023.05.06
<보충> Day13. call by Value와 call by Reference  (0) 2023.05.06
Thread 퀴즈  (0) 2023.05.05
Comments