서버/도커
포트(Port)와 소켓(Socet)
코니
코니 가입일:2022.11.19

작성일시:2013.07.28 02:26:00

IP:121.162.195.♡

  • 조회 17
  • 댓글 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

현재 상태 확인 방법

  • 코니
  • 2013.07.29
  • 조회 19
  • 추천 0

SELinux 설정 및 사용방법

  • 코니
  • 2013.07.29
  • 조회 19
  • 추천 0
SELinux 설정 및 사용방법

방화벽 설정 명령어 iptables 옵션(Option)

  • 코니
  • 2013.07.28
  • 조회 46
  • 추천 0
방화벽 설정 명령어 iptables 옵션(Option)

방화벽 설정하기

  • 코니
  • 2013.07.28
  • 조회 20
  • 추천 0
방화벽 설정하기

Network 관련 명령어들

  • 코니
  • 2013.07.28
  • 조회 23
  • 추천 0
Network 관련 명령어들

서버 유형(Server Type)

  • 코니
  • 2013.07.28
  • 조회 17
  • 추천 0
서버 유형(Server Type)

포트(Port)와 소켓(Socet)

  • 코니
  • 2013.07.28
  • 조회 17
  • 추천 0
포트(Port)와 소켓(Socet)

특정 DNS로 질의하기

  • 코니
  • 2013.07.28
  • 조회 17
  • 추천 0
특정 DNS로 질의하기

Host 이름과 IP 주소변환

  • 코니
  • 2013.07.27
  • 조회 165
  • 추천 0
Host 이름과 IP 주소변환

system-config-network-tui 사용방법

  • 코니
  • 2013.07.26
  • 조회 52
  • 추천 0
system-config-network-tui 사용방법

Vmware Tools 설치하기

  • 코니
  • 2013.07.26
  • 조회 17
  • 추천 0
Vmware Tools 설치하기

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

  • 코니
  • 2013.07.26
  • 조회 16
  • 추천 0

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

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

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

  • 코니
  • 2013.07.25
  • 조회 20
  • 추천 0
File 내용 출력에 관련된 명령어들 (1)

Networt 개발환경 만들기

  • 코니
  • 2013.07.22
  • 조회 19
  • 추천 0
Networt 개발환경 만들기
처리 중...