[네트워크] 클라이언트-서버 네트워크 용어 정리

웹 서버 네트워크 용어 정리

웹 서버 네트워크 관련 용어(도메인 네임, IP, 포트, 프로토콜, 데몬, 인/아웃 바운드 규칙, 포트 포워딩)를 정리해보자.

도메인 네임과 IP 주소

도메인 네임

도메인 네임(Domain name)은 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트명을 가리키며, 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미한다.

(출처 : 위키백과)

IP 주소

IP 주소(영어: Internet Protocol address, IP address, 표준어: 인터넷 규약 주소)는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.

(출처 : 위키백과)

일상에서 목적지의 위치를 찾을 때 사람이 알아듣기 편한 도로명 주소와 같은 주소가 있고, 목적지의 절대적인 위치를 알려주는 좌표(위도, 경도)가 있다.
여기서 도메인 네임은 사람이 이해하기 편한 도로명 주소 등과 같고, IP 주소는 절대적인 위치를 알려주는 좌표와 같다고 생각할 수 있다.

DNS (Domain Name System)

컴퓨터는 도메인 네임을 이해하고 해석할 수 없으므로, 도메인 네임을 IP 주소로 바꿔주는 시스템을 DNS라고 한다.

포트

컴퓨터 하드웨어에서 컴퓨터 포트(computer port)는 컴퓨터와 다른 컴퓨터, 장치 사이의 인터페이스 역할을 담당한다.

(출처 : 위키백과)

위에서 언급한 IP 주소나 도메인 네임으로 목적지를 찾으면, 목적지는 여러 개의 입구로 구성되어 있을 것이다. 포트는 이처럼 목적지를 연결해 주는 문이라고 생각할 수 있으며, 건물에 여러 가지 문이 있듯이 여러 가지번호의 포트로 IP 주소에 접속할 수 있다.

프로토콜

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다.

(출처 : 위키백과)

원하는 IP 주소 뒤에 특정한 포트 번호를 넣어주면 원하는 프로토콜로 접속할 수 있다.
프로토콜은 위의 정의에서 알 수 있듯이 메시지를 주고받는 양식과 규칙의 체계이다.

프로토콜의 넘버는 임의로 만들 수 있지만 대표적인 프로토콜은 고유한 번호를 정해놓고 서로 사용한다.
대표적인 프로토콜들과 번호들은 다음과 같다.

  • http : 80 (포트 번호에 아무것도 명시 안 했을 시 default)
  • https : 443
  • SSH(시큐어 셸) : 22
  • MySql : 3306

데몬

멀티태스킹 운영 체제에서 데몬(daemon, 발음: 데이먼/’deɪmən/ 또는 디먼 /’dimən/)은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 시스템 로그를 남기는 syslogd처럼 보통 데몬을 뜻하는 ‘d’를 이름 끝에 달고 있으며, 일반적으로 프로세스로 실행된다.

(출처 : 위키백과)

데몬은 백그라운드에서 여러 작업을 진행하고 있는 후위 프로세서로써 해당 접속 과정에서 IP 주소와 포트를 통해 클라이언트가 서버로 접속 후 데몬과 관련된 요청이 발생하면 백그라운드에서 적절한 작업을 취해주는 리스너와 같은 것이라고 할 수 있다.
종류로는 웹 서버 프로세스, 네임 서버 프로세스, telnet 서버 프로세스, DB 서버 프로세스 등이 있다.

인/아웃 바운드 규칙

인바운드 : 밖에서 안으로 들어오는 것 아웃바운드 : 안에서 밖으로 나가는 것

이처럼 인바운드 규칙과 아웃바운드 규칙은 밖에서 안으로 들어올 때, 안에서 밖으로 나갈 때 지정해 주는 규칙들을 의미한다.
aws에서는 서버에 대한 보안 그룹에서 인바운드 규칙 및 아웃바운드 규칙을 제공해 주며 특정 포트 번호로 접속할 수 있는 IP 설정 등을 할 수 있다.

포트포워딩

포트 포워딩(영어: port forwarding) 또는 포트 매핑(영어: port mapping)은 컴퓨터 네트워크에서 패킷이 라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다.

(출처 : 위키백과)

NAT

네트워크 주소 변환(영어: network address translation, 줄여서 NAT)은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다.

(출처 : 위키백과)

1

위의 그림에서 pc1, pc 2 혹은 스마트폰에서 만든 서버가 있을 때 이를 외부에서 들어가려면 우선 공유기를 거쳐서 들어가야 한다.
이때 공유기의 IP를 외부 IP라고 하며, 외부의 입장에선 외부 IP 밖에 알 수 없다.
외부 IP에서 내부의 pc1, pc 2 등의 서버에 접속할 수 있도록 하려면 서버의 입장에서 공유기에게 특정 포트 번호에 대한 요청이 들어오면 이를 원하는 서버(예를 들어, PC1의 서버)에 접속할 수 있도록 설정해 주어야 하며 이를 포트 포워딩이라고 한다.
포트 포워딩을 하면 공유기는 내부 IP를 할당해 주며, 외부(클라이언트)에서도 외부 IP와 설정해둔 포트 번호를 이용하여 해당 내부 IP로 접속할 수 있다.