본문 바로가기
Server/Server 통신

[PORT] 서버에서 포트란? (인바운드/아웃바운드, Daemon)

by 로토마 2022. 3. 27.

PORT

Port 란?
포트(port)는 "논리적인 접속장소"이며, 특히 인터넷 프로토콜인 TCP/IP를 사용할 때에는클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용된다. 네트워크 상에서 통신을 할 때 IP를 토대로 해당 서버가 있는 컴퓨터에 접근한다. 그런데 대부분의 경우 하나의 컴퓨터에는 여러 개의 서버가 실행될 수 있다. 컴퓨터에 여러 개의 서버가 실행되고 있다면, 어느 서버에 접속해야 하는지 컴퓨터에게 알려주어야 한다. 이때 사용되는 것이 포트 번호이다.

 

서버에서 포트란?

서버 컴퓨터로 들어오는 문, 통로와 같은 역할

ex) 서버컴퓨터의 집 주소 → ip

서버컴퓨터로 들어오는 문, 통로 → port

 

프로토콜별 포트 번호 정리

포트 번호는 컴퓨터에서 실행되고 있는 서버를 구분 짓기 위한 16비트의 논리적 할당으로 0~65536번이 존재한다. 이 중에 0~1023번까지는 이미 어떤 통신이 해당 포트를 사용할 것인지 정해져 있다. 예를 들어 http 통신은 80번 포트를 사용하고, ssh 통신은 22번 포트를 사용한다. 이렇게 정해져 있는 0~1023번까지의 포트를 well-known port라고 한다.

프로토콜 별 포트 번호

포트리스닝 

컴퓨터에 있는 웹서버가 어떤 포트에 연결이 되어 있는 상태 

 

인바운드/아웃바운드

**인바운드 ex) 전화를 받는 것 **

- 내부를 향함
- 서버 내부로 들어오는 것
- 서버 또는 네트워크 내부로 인입
- 클라이언트 -> 서버
- 클라이언트가 업로드할 때

※인바운드 규칙

- Windows 방화벽 기본 설정 : 모든 접속 차단
- 자신의 컴퓨터로 들어오기 시작하는 네트워크 데이터

**아웃바운드 ex) 전화를 거는 것**

- 외부를 향함
- 서버 외부로 나가는 것
- 서버 또는 네트워크 존 외부로 송출
- 서버 -> 클라이언트
- 클라이언트가 다운로드할 때

※아웃바운드 규칙

- Windows 방화벽 기본 설정 : 모든 접속 허용
- 자신의 컴퓨터에서 나가기 시작하는 네트워크 데이터

 

데몬(Daemon)


멀티태스킹 운영 체제에서 데몬은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 시스템 로그를 남기는 syslogd처럼 보통 데몬을 뜻하는 ‘d’를 이름 끝에 달고 있으며, 일반적으로 프로세스로 실행된다.
데몬은 대개 부모 프로세스를 갖지 않으며, 즉 PPID가 1이며, 따라서 프로세스 트리에서 init 바로 아래에 위치한다. 데몬이 되는 방법은 일반적으로 자식 프로세스를 포크(fork)하여 생성하고 자식을 분기한 자신을 죽이면서 init이 고아가 된 자식 프로세스를 자기 밑으로 데려가도록 하는 방식이다. 이러한 방법을 ‘fork off and die’라 부르기도 한다.
시스템은 시동할 때 데몬을 시작하는 경우가 많으며, 이런 데몬들은 네트워크 요청, 하드웨어 동작, 여타 프로그램에 반응하는 기능을 담당하게 된다. 그 밖에도 몇몇 리눅스에 있는 devfsd처럼 하드웨어 설정이나, cron처럼 주기적인 작업을 실행하는 등 기타 다양한 목적으로 사용된다.