소켓

소켓은 컴퓨터 프로그램네트워크를 통해 통신하도록 돕는 소프트웨어 구성 요소입니다. "소켓"이라는 용어는 네트워크 케이블을 연결하고 모든 데이터가 통과하는 물리적인 소켓을 연상시킵니다. 애플리케이션도 비슷한 목적으로 소프트웨어 네트워크 소켓을 만듭니다. 애플리케이션이 네트워크 연결을 통해 보내고 받는 모든 데이터는 소켓을 통과합니다.

소켓은 프로그램이 네트워크 연결을 설정할 수 있는 표준 방법을 제공합니다. 소프트웨어 개발자API를 사용해 운영 체제가 관리하는 소켓을 만들 수 있으므로, 처음부터 자체 방식을 작성할 필요가 없습니다. 애플리케이션이 네트워크를 통해 데이터를 보내야 할 때는 디스크에 파일을 쓰는 것처럼 해당 데이터를 소켓에 씁니다. 운영 체제는 이를 감지하고 데이터 패킷을 네트워크를 통해 목적지로 자동 전달합니다.

각 소켓에는 IP 주소포트 번호를 결합한 고유한 소켓 주소가 있습니다. 이 주소는 소켓이 실행 중인 특정 컴퓨터와 소켓을 만든 애플리케이션을 모두 식별합니다. 서버에서 실행되는 애플리케이션은 시작할 때 소켓을 만들고 수신 대기 상태로 유지하며, 클라이언트의 애플리케이션은 필요에 따라 소켓을 열고 닫을 수 있습니다. 소켓이 열려 있는 동안 운영 체제는 들어오고 나가는 데이터 패킷을 모니터링하고, 각 패킷의 소켓 주소를 확인해 어디로 전달할지 파악합니다.

예를 들어 웹 브라우저로 웹사이트를 방문하면 브라우저는 IP 주소와 포트 번호를 사용해 원격 웹 서버의 다른 소켓에 연결되는 소켓을 만듭니다(HTTP 연결은 80, HTTPS 연결은 443). 브라우저는 이 소켓에 특정 웹 페이지를 요청하고, 운영 체제는 이를 감지해 웹 서버로 전달합니다. 웹 서버가 요청한 페이지를 컴퓨터로 다시 보내면 운영 체제는 소켓 주소를 확인하고 해당 페이지를 웹 브라우저로 보내야 한다는 것을 파악합니다.

업데이트됨 November 9, 2023 작성: Brian P.

quiz지식 테스트하기

Which of the following is an online advertising model based on user actions?

A
CPA
0%
B
MPA
0%
C
PPA
0%
D
RPA
0%
Correct! Incorrect!     View the CPA definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 소켓에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.