CS/네트워크

[네트워크] TCP와 UDP

연듀 2022. 12. 11. 21:45

포트 번호

  • PC나 서버상에서 동작하는 애플리케이션을 식별하기 위한 정보
  • IP 주소로 지정한 컴퓨터에 전송된 데이터는 포트 번호로 지정된 애플리케이션에 다시 분배된다.
  • 포트 번호 숫자의 범위에 따라 분류됨
    • 잘 알려진 포트: 서버 애플리케이션을 식별하기 위해 사용 ex) 80(HTTP), 53(DNS)
    • 등록된 포트: 자주 이용되는 애플리케이션 용 포트로 등록된 포트 번호 ex)8080
    • 동적/개인적 포트: 클라이언트 애플리케이션을 식별하기 위한 것
  • 애플리케이션에서 통신이 발생할 때마다 OS로부터 자동으로 할당되며 통신이 종료되면 할당이 해제 된다.
    • => 포트 번호 할당은 고정적이지 않다.

애플리케이션이 포트 번호 기반으로 데이터를 수신할 때에는 TCP 또는 UDP라는 프로토콜을 이용한다.

 

 

 

TCP(Transmission Control Protocol)

  • 애플리케이션 간의 데이터 전달에 사용되는 프로토콜(규약)
  • 데이터를 분할하는 기능도 존재
  • 연결형 프로토콜
  • 3-way handshake 기법
    • 애플리케이션 간에 신뢰성 있는 데이터 전송을 수행하기 위함
    • 애플리케이션끼리 3단계의 확인 절차를 거쳐 쌍방향 연결을 성립
  • 다양한 제어를 사용해 신뢰성 높은 애플리케이션 간 데이터 전송을 실현

 

 

UDP(User Datagram Protocol)

  • 데이터를 단순히 애플리케이션에 전송만 하는 심플한 구조의 프로토콜
  • 비연결형 프로토콜
  • 용도
    • 실시간 데이터 전송할 때
    • 여러 상대에게 같은 내용의 데이터 전송할 때
    • 신뢰성이 필요하지 않은 소량의 데이터를 전송할 때

 

 

포트 개방

인터넷 쪽에서 먼저 통신을 시작하여 홈 네트워크 내부의 특정 PC에게 패킷을 보낼 수 있게 하는 것

UPnP 기술로 브로드밴드 라우터에서 포트를 여는 설정을 자동화할 수 있음