소켓 통신 이해

hyeon·2022년 12월 29일
0

Computer Science

목록 보기
5/6

네트워크 기본개념과 Socket 통신에 대한 이해

네트워크

컴퓨터 간에 데이터를 전송할 수 있도록 컴퓨터 시스템들을 연결하는 것을 말한다.

프로세스 간 통신

  • 클라이언트/ 서버 모델
    프로세스 간 통신에 많이 사용되는 방식 중 하나. 클라이언트가 요청하면 서버가 응답

  • P2P(Peer-to-Peer)
    클라이언트서버모델에서는 한 프로세스(서버)가 다른 여러 프로세스(클라이언트)에 서비스를 제공하지만 P2P는 서로 서비스를 주고 받는 프로세스들이 관여되어 있다.
    클라이언트서버모델의 서버는 항상 실행되어있어야하지만 P2P모델에서 통신하는 두 프로세스는 필요할 때만 일시적으로 실행된다.

osi 7계층

네트워크 포로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정해놓은 것

socket 통신

Socket은 프로세스가 네트워크로 데이터를 내보내거나 혹은 받기위한 실제적 창구 역할을 한다. 그러므로 프로세스가 데이터를 보내거나 받기 위해서는 반드시 소켓을 열어서 소켓에 데이터를 써보내거나 소켓으로부터 데이터를 읽어들여야한다.

HTTP통신과 다르게 양방향 통신이기때문에 실시간으로 데이터를 주고 받는 상황이 필요한 경우에 사용된다.

OSI 7계층에서 프로그램 개발에서는 보통 애플리케이션 계층을 건드린다. 하지만 UDP, TCP의 프로토콜로 구현되는 인터넷을 구현할려면 결국 Tranport계층에 접근해야한다. 애플리케이션 계층에서 트랜스포트 계층을 조작하는 방법이 바로 Socket이라고 불리는 인터페이스이다. UNIX에서 등장했으며, OS에서 제공하는 인터페이스이고, 어떤 종류의 프로그램이라하더라도 이 소켓에 접근하여 외부 네트워크와 통신할수있다.
출처

profile
남기고 싶은 개발자입니다 :>

0개의 댓글