서버/도커
포트(Port)와 소켓(Socet)
최고관리자
최고관리자 가입일:2022.11.19

작성일시:2013.07.28 02:26:00

IP:121.162.195.♡

  • 조회 14
  • 댓글 0
  • 좋아요 0
  • 싫어요 0
  • 121.162.195.♡

일반적으로 서비스를 제공하는 호스트(Host)를 서버(Server)라고 하고, 서비스를 제공받는 호스트를 클라이언트(Client)라고 한다. 리눅스(Linux)는 다양한 네트워크 서비스(Network Service)를 제공하며, 경우에 따라 하나의 서버에 다수의 서비스를 제공하기도 한다. 포트는 이러한 다수의 서버의 네트워크 서비스를 식별하기 위해 부여된 번호를 의미한다. 서버에는 특정 포트로 부터 오는 서비스 요청을 기다리는 데몬(Daemon)들이 존재한다. 이들은 클라이언트가 지정한 포트를 이용하여 요청한 서비스를 구분하여 제공한다. 즉 클라이언트는 IP 주소로 서버에 접속하고, 포트로 서비스를 지정한다고 할 수 있다.

포트의 범위는 0~65535개 이다. 이 중에서 0~1023 범위의 포트는 IANA (Internet Assigned Numbers Authority)에서 지정한 포트들로, 이 범위의 서비스를 이용하는 클라이언트는 항상 지정한 포트를 사용하여 접속하도록 설계 및 제작된다. 즉 웹 브라우저(Web Browser)를 이용하여 웹 서비스를 받는 경우 IP 주소만 입력하고, 80 포트를 지정하지 않아도 80 포트에 해당하는 웹 서비스를 제공받는다.

각 서비스별 포트 및 프로토콜(Protocol)에 대한 정의는 /etc/services 파일(File)에서 확인 할 수 있다.

한 서버가 다수 클라이언트로부터 접근될 때 어떻게 구분하여 자료를 전송할 수 있을까? 한 클라이언트가 다수의 서버를 연결하고 있는 경우 어떤 서버로부터 온 자료인지 어떻게 구분 할 수 있을까? 이 질문에 대한 답은 소켓(Socet)이다. 소켓은 네트워크 상에서 클라이언트 프로그램(Program)과 서버 프로그램 사이의 통신 방법으로 서버의 IP 주소, 포트 번호와 클라이언트의 IP 주소, 포트 번호를 이용한 데이터 전송을 위해 형성한 연결을 의미한다.

일반적으로 서버의 서비스 프로세스(Process)는 하나 이상이 동작하면서 서비스를 제공하고, 그 중 첫번째 프로세스는 연결을 담당한다. 따라서 클라이언트로부터 서비스 요청이 올 경우, 첫 번째 프로세스는 다음 프로세스를 호출하여 새로운 소켓을 열어 서비스를 제공한다.만약 호출할 다음 프로세스가 존재하지 않는 경우에는 새로운 프로세스를 생성한다. 다음 요청이 올 경우, 다음 프로세스를 호출하여 새로운 소켓을 열어 서비스를 제공한다. 하나의 클라이언트가 다수의 서버를 접속하는 경우, 각 클라이언트 프로세스마다 새로운 클라이언트 포트를 열고, 서버의 서비스 포트를 접속한다. 서버는 클라이언트의 포트 번호를 이용하여 클라이언트를 식별하여 서비스를 제공한다. 클라이언트 포트 번호는 1024부터 65535 포트 중에서 사용하지 않는 포트를 순차적으로 사용한다.

댓글 0

Vmware Tools 설치하기

  • 최고관리자
  • 2013.07.26
  • 조회 17
  • 추천 0
Vmware Tools 설치하기

초간단 개발용 도구 설치하기

  • 최고관리자
  • 2013.07.26
  • 조회 15
  • 추천 0

File 내용 출력에 관련된 명령어들 (2)

  • 최고관리자
  • 2013.07.26
  • 조회 14
  • 추천 0
File 내용 출력에 관련된 명령어들 (2)

File 내용 출력에 관련된 명령어들 (1)

  • 최고관리자
  • 2013.07.25
  • 조회 14
  • 추천 0
File 내용 출력에 관련된 명령어들 (1)

Networt 개발환경 만들기

  • 최고관리자
  • 2013.07.22
  • 조회 13
  • 추천 0
Networt 개발환경 만들기

두 파일을 비교하는 diff 명령어

  • 최고관리자
  • 2013.07.22
  • 조회 17
  • 추천 0
두 파일을 비교하는 diff 명령어

작은크기의 파일로 나누는 split 명령어

  • 최고관리자
  • 2013.07.22
  • 조회 14
  • 추천 0
작은크기의 파일로 나누는 split 명령어

압축 파일 해제 하는 방법

  • 최고관리자
  • 2013.07.22
  • 조회 17
  • 추천 0
압축 파일 해제 하는 방법

YUM이 재대로 동작하지 않을 때 해결 방법

  • 최고관리자
  • 2013.07.22
  • 조회 19
  • 추천 0
YUM이 재대로 동작하지 않을 때 해결 방법

YUM 사용방법

  • 최고관리자
  • 2013.07.22
  • 조회 30
  • 추천 0
YUM 사용방법

System 정보 확인하기

  • 최고관리자
  • 2013.07.22
  • 조회 17
  • 추천 0
System 정보 확인하기

RPM 사용방법

  • 최고관리자
  • 2013.07.22
  • 조회 14
  • 추천 0
RPM 사용방법

Vmware NTFS 형식의 USB 마운트(Mount)하기

  • 최고관리자
  • 2013.07.22
  • 조회 54
  • 추천 0
Vmware NTFS 형식의 USB 마운트(Mount)하기

개발 환경 갖추기

  • 최고관리자
  • 2013.07.22
  • 조회 15
  • 추천 0
개발 환경 갖추기

Wget 사용하는 법

  • 최고관리자
  • 2013.07.21
  • 조회 16
  • 추천 0
Wget 사용하는 법
처리 중...