기술(Tech, IT)/네트워크 (Networking)

[Networking] Socket programming (소켓 프로그래밍) - 2

Daniel803 2024. 5. 6. 01:25

Socket programming은 인터넷 네트워킹의 맥락에서나 Linux와 같은 운영 체제 내에서 다양한 목적으로 다용도로 사용된다.

 

  1. 인터넷 네트워킹
    : Socket programming은 인터넷을 통한 통신을 가능하게 하는 데 광범위하게 사용된다. 이를 통해 서로 다른 컴퓨터의 서로 다른 애플리케이션이 네트워크를 통해 통신할 수 있다. 예를 들어, 웹사이트에 접속하면 브라우저는 Socket을 사용하여 웹 서버와 통신한다.
  2. 운영 체제
    : Linux와 같은 운영 체제 내에서 Socket은 인터넷 통신뿐만 아니라 프로세스 간 통신(IPC)에도 사용된다. Socket은 프로세스가 같은 컴퓨터에 있더라도 네트워크 프로토콜 스택을 사용하여 서로 통신할 수 있는 방법을 제공한다. 이는 Linux 환경 내 시스템 프로그래밍에서 광범위하게 사용되는 UNIX 도메인 Socket과 같은 IPC 메커니즘에 특히 유용하다.
  3. Linux Kernel
    : Linux Kernel에서 Socket programming 인터페이스는 네트워킹 서브시스템의 일부다. Kernel 수준에서 구현되어 연결 생성, 데이터 전송 및 데이터 수신과 같은 다양한 네트워크 작업을 처리한다. 이러한 기능은 애플리케이션이 네트워크 작업을 수행하는 데 사용할 수 있는 시스템 호출을 통해 사용자 공간 프로그램에 노출된다.