IP와 Port의 개념

artp·2024년 11월 12일

cs

목록 보기
1/16
post-thumbnail

IP란?

IP란 쉽게 이해하면, 네트워크 상에서의 특정 컴퓨터를 가리키는 주소를 의미합니다.

IP(Internet Protocol) 주소는 인터넷이나 네트워크에 연결된 특정 장치를 고유하게 식별하기 위한 주소입니다. 이를 통해 네트워크 상에서 데이터를 주고받을 때, 데이터를 정확한 대상에게 전달할 수 있습니다.

IP 주소의 예

43.203.233.27

위의 숫자는 하나의 컴퓨터(또는 서버)의 IP 주소입니다.
예를 들어, naver.com이라는 웹사이트에 접속할 때, 브라우저는 내부적으로 네이버 서버의 IP 주소를 찾습니다. 즉, 네이버 서버가 사용하는 특정 컴퓨터의 주소를 알아야 네트워크 통신이 가능합니다.

IP와 도메인

일반적으로 사용하는 naver.com 같은 도메인 주소는 사용의 편의성을 위해 사람이 기억하기 쉽게 만든 것입니다. 실제로는 해당 도메인에 연결된 서버의 IP 주소가 사용됩니다. 이를 위해 DNS(Domain Name System)라는 시스템이 도메인 이름을 IP 주소로 변환해줍니다.

Port란?

Port란 쉽게 이해하면, 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소입니다.

IP 주소만으로는 한 컴퓨터에 있는 다양한 프로그램 중 어떤 프로그램과 통신할지를 알 수 없습니다. 여기서 포트 번호가 필요합니다. 포트는 한 컴퓨터 내의 특정 프로그램(또는 프로세스)을 구분하는 역할을 합니다.

IP와 Port 번호의 조합

예를 들어, 다음 주소에서 :3000은 포트 번호입니다.

43.203.233.27:3000

위의 주소는 43.203.233.27라는 컴퓨터에 있는 3000번 포트를 사용하는 프로그램과 통신하겠다는 의미입니다.

포트가 필요한 이유?

컴퓨터에서는 다양한 프로그램들이 동시에 실행됩니다. 예를 들어, 크롬, 슬랙, 카카오톡, Intellij 등 여러 프로그램이 동시에 작동하듯, 서버도 여러 프로그램이 동시에 실행됩니다.
서버 입장에서 "어떤 프로그램에 요청을 전달해야 하는지"를 구분하기 위해 포트 번호를 사용합니다.

브라우저에 포트 번호를 입력하지 않는 이유

기본 포트 번호

웹 브라우저(크롬, 엣지 등)는 기본적으로 80번 포트(HTTP)나 443번 포트(HTTPS)로 통신하도록 설정되어 있습니다.
즉, 포트 번호를 생략하면 브라우저가 기본값을 사용합니다.

https://naver.com

위처럼 포트 번호를 입력하지 않아도 브라우저는 내부적으로 https://naver.com:443으로 인식합니다. 만약 다른 포트를 사용하고 싶다면 포트 번호를 추가해야 합니다.

다른 포트 번호를 사용하는 경우

다음처럼 포트 번호를 명시하면, 브라우저는 해당 포트로 통신을 시도합니다.

http://43.203.233.27:3000

이 경우, 3000번 포트에서 실행 중인 서버와 통신하게 됩니다.

Well-Known Port (잘 알려진 포트)

Well-Known Port는 주요 프로토콜과 연동되도록 정해진 포트 번호입니다. 쉽게 이해하면, 특정 역할을 미리 약속해둔 포트 번호를 의미합니다.

포트 번호는 0 ~ 65,535번까지 사용할 수 있습니다.
이 중에서 0 ~ 1023번까지의 포트 번호는 특정 프로토콜을 위해 예약되어 있습니다.
이를 잘 알려진 포트(Well-Known Port)라고 부릅니다.

프로토콜은 쉽게 이해하면, 컴퓨터나 기기들이 서로 통신을 위해 약속한 규칙이나 방법을 의미합니다.

잘 알려진 포트 예시

  • 22번 (SSH, Secure Shell Protocol): 원격 접속 및 관리를 위한 포트 번호
  • 80번 (HTTP): 웹 브라우징(비암호화), HTTP로 통신하기 위한 포트 번호
  • 443번 (HTTPS): 웹 브라우징(암호화), HTTPS로 통신하기 위한 포트 번호
  • 21번 (FTP): 파일 전송을 위한 포트 번호
  • 25번 (SMTP): 이메일 전송을 위한 포트 번호
  • 53번 (DNS): 도메인 이름 변환을 위한 포트 번호

규약은 선택 사항

Well-Known Port (잘 알려진 포트)는 규칙일 뿐, 반드시 지켜야 하는 것은 아닙니다.
예를 들어, HTTP 서버를 80번 포트가 아닌 3000번이나 8080번 포트에서 실행해도 됩니다.
다만, 특정 포트를 사용할 때 해당 포트를 이미 사용하는 프로그램이 없는지 확인이 필요합니다.

profile
donggyun_ee

0개의 댓글