본문 바로가기
Computer Science/Computer Science

TCP & UDP 정의

by SeleniumBindingProtein 2023. 1. 25.
728x90
반응형

UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜) 

  • 비연결형 프로토콜
  • 신뢰성이 없는 전송 프로토콜
  • IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공 
  • 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않으며, 이 모두가 사용자 프로세스의 몫임 
  • UDP가 행하는 것은 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공하는 것
  • 코드가 간단할 뿐만 아니라 TCP 처럼 초기설정(initial setup)에서 요구되는 프로토콜보다 적은 메시지가 요구됨
  • 흐름제어를 하지 않기 때문에 전송 속도를 최대한 빠르게 할 수 있음
  • 수신자와 송신자 간의 handshaking이 없는 connectionless 성질을 가짐
  • 예를 들어, 유튜브 동영상 같은 스트리밍 어플리케이션은 신뢰성보다 속도가 중요하므로 UDP를 사용하고, 또한 DNS나 SNMP도 UDP를 사용함
    •  DNS
      • 어떤 호스트 네임의 IP 주소를 찾을 필요가 있는 프로그램은 DNS 서버로 호스트 네임을 포함한 UDP 패킷을 보냄
      • 이 서버는 호스트의 IP 주소를 포함한 UDP 패킷으로 응답함
      • 사전에 설정이 필요하지 않으며 그 후에 해제가 필요하지 않음 

 

TCP(Transmission Control Protocol, 전송제어 프로토콜)

  • 애플리케이션에서 보낸 데이터를 신뢰성 있게 수신 측에 전송을 보장하는 프로토콜
    • point-to-point : 하나의 송신 측과 하나의 수신 측이 통신하는 1:1 통신
    • reliable : 신뢰성 있는 데이터 전송을 보장
    • pipelined : TCP 흐름 제어와 혼잡 제어가 window size를 설정
    • full duplex(전이중 통신) : 쌍방향 통신이 가능
    • connection-oriented : 연결 지향적임
    • flow control : 흐름 제어함
    • congestion control : 혼잡 제어함
  •  신뢰성이 없는 인터넷을 통해 종단간에 신뢰성 있는 바이트 스트림을 전송 하도록 특별히 설계되었음
  • TCP 서비스는 송신자와 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어짐
  • 멀티캐스팅이나 브로드캐스팅을 지원하지 않음
728x90
반응형

댓글