강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

소켓(Socket)이란?

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

Socket이란?




잘 알려진 포트(Well-Known Port)는 원격 컴퓨터가 특정 네트워크 서비스를 위해 어떤 포트로 접속해야 하는지 알 수 있도록 해 주는 표준화된 포트 번호이다.

 

 

 

송신자와 수신자 모두 특정 프로세스에 연관된 데이터는 특정 포트를 사용할 것이라는 사실을 알고 있기 때문에 접속 과정을 단순화시켜 준다.

 

 

 

 

 

하지만 단지 이것만으로는 송신자와 수신자 사이의 특정 프로세스가 여러 개 존재할 경우 어느 애플리케이션으로 전송해야 하는지 지정되어 있지 않기 때문에 데이터 송수신이 불가능하다.

 

 

 

예를 들어 이  하나라는 사용자가 두 개의 브라우저를 실행하여 동시에 www.ihd.or.kr에 접속시켰을 때 두 개의 브라우저는 동시에 요청 정보를 www.ihd.or.kr 서버의 80번 포트로 송신하지만, 결국은 ihd.or.kr의 웹서버 프로세스 중 어느 프로세스가  이  하나 사용자의 어떤 브라우저와 통신해야 하는지 모르게 된다.

 

 

 

이때 필요한 것이 소켓(Socket)이며, 소켓을 특정 IP 주소와 포트 번호의 조합으로서 클라이언트와 서버 단의 소켓을 연결하는 Socket-pair를 통하여 같은 IP의 동일한 시스템이 동시에 특정 클라이언트의 복수 개의 애플리케이션에 정확하게 통신할 수 있게 해 주는 기반을 제공해 준다.

 

 

 

 

 

여기에 동적 할당 포트(Dynamically Allocated Port)라고 부르는 두 번째 포트 종류가 있다.

 

 

 

동적 할당 포트는 미리 할당되지 않으며 요구 시에 할당된다.

 

 

 

할당된 번호는 표준 포트 번호의 범위보다 크다는 사실을 보장한다.

 

 

 

, 동적 할당 포트는 다중 사용자를 지원하기 위해 필요한 융통성을 제공한다.

 

 

 

위의 예에서 이하나라는 사용자의 컴퓨터에는 브라우저가 요청한 동적 할당 포트가 지정된다

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  99 명