소켓이란?(What is socket?)

김승우·2021년 12월 1일
0

networkterm

목록 보기
4/5

Socket

먼저 소켓에 대해 간략히 설명하자면 애플리케이션과 네트워크 사이에 있는 인터페이스입니다.

즉, 애플리케이션에서 TCP/IP 스택을 이용해 인터넷을 이용할 수 있게 해주는 인터페이스입니다. 여기서 TCP/IP 스택은 운영체제 내에 포함되어 있습니다.

네트워크로 데이터를 전송하거나, 어떤 데이터를 네트워크로부터 받을 때 필요하기 때문에 데이터를 주고 받는 데 필요한 창구라고 생각하시면 되겠습니다.

Socket type

소켓의 타입에는 두 가지가 있습니다.

  • reliable vs best-effort
  • connection-oriented vs connection less

위 두 가지를 보았을 때 TCP로 통신할 것인지, UDP로 통신을 할 것인지 정하는 타입이 되겠습니다.

SOCK_STREAM

위 타입의 경우 TCP라고도 불리우는데, TCP의 특성을 가지고 통신을 하고자 할 때 사용됩니다.

TCP의 특성인 신뢰할 수 있는 전송, 순서의 보장, 연결 지향, 양방향 통신을 가지고 있는 타입입니다.

SOCK_DGRAM

위 타입은 UDP라고도 불리우며, UDP의 특성인 신뢰할 수 없는 전송, 순서의 미보장, 비연결, 양방향 통신등을 가지고 있습니다.

또한 UDP이니만큼 빠른 속도 또한 보장해 줄 수 있습니다.

profile
인천대학교 임베디드시스템공학과 졸업 후 SSAFY 10기 과정을 이수하고 있습니다.

0개의 댓글