059_TCP를 이용한 통신

Jan 19, 2024
059_TCP를 이용한 통신

프로토콜(Protocol)

  • 컴퓨터나 네트워크가 상호 간에 데이터를 신뢰성 있게 주고 받기 위한 규칙과 절차이다.
  • 무엇을, 어떻게, 언제 통신 할 것 인지, 정보의 교환 형식과 송수신 방법 등이 규정되어 있다.
  • 프로토콜로 인해 컴퓨터의 기종이 달라도 서로 통신이 되고 데이터의 의미를 일치 시켜 원하는 동작을 시킬 수 있게 된다.

TCP/IP 통신 프로토콜의 5계층

 
응용 프로그램 계층 (applicatin layer) ⬇️
전송 계층 (transport layer) ⬇️
네트워크 계층 (network layer) ⬇️
데이터 링크 계층 (datalink layer) ⬇️
물리적 계층 (physical layer) ⬇️
 
프로토콜을 계층적으로 정의하게 되면 프로토콜의 각 부분들을 독립적으로 설계하고 테스트할 수 있다. 하나의 레이어의 구현은 아래 레이어가 제공하는 서비스를 이용하여 이루어진다.

TCP(Transmission Control Protocol)

  • 신뢰성 있게 통신하기 위하여 먼저 서로 간에 연결을 설정 후에 데이터를 보내고 받는 방식이다.
  • 데이터를 받는 순서가 데이터를 보내는 순서와 동일하게 관리된다.
  • 단점으로는 연결을 하는 과정과 연결을 해제하는 과정에 상당히 많은 시간이 걸린다.짧은 데이터를 보내는 경우에는 상당히 부담된다.
  • 소켓을 연결의 양 끝점에 접속한다.

UDP(User Datagram Protocol)

  • TCP와는 달리 데이터를 패킷으로 분할한 다음, 패킷에 주소를 붙여 데이터를 전송하는 방식이다.
  • 신뢰도가 필요하지 않은 통신에 주소 사용한다. → 동영상 서비스, 게임의 캐릭터 이동 등
  • 연결 절차가 필요 없어 빠르고 효율적인 통신이 가능하다.

포트(Port)

  • 응용 프로그램이 사용하는 가상적인 통신 선로 이다.
  • 모든 데이터의 주소는 특정 컴퓨터를 가리키는 IP 주소와 포트 번호로 구성된다.
  • 0 ~ 65536 까지의 정수를 사용하여 표기된다.
  • 0 ~ 1023까지는 미리 예약되어 있는 “well-known port” 이므로 1023 초과부터 번호를 사용한다.

소켓(Socket)

  • TCP를 위한 구조이다.
  • 연결을 위해 “연결 끝점(end point)”에 있어야 한다.
  • 포트를 이용하여 만들어진다.
 
Share article

chodong