ip, port

스윗포테이토·2022년 11월 7일
1

ip

인터넷에 연결된 장치를 식별하기 위한 고유 주소이다.

  • ipv4: 32bit로 표현된 ip, 일반적으로 1 byte, 8 bits 씩 끊어 4개의 필드를 10진수로 표현한다.
    - 192.168.0.1
  • ipv6: 컴퓨터가 많아지면서 기존 ipv4(43억개) 발급으로는 충분하지 않게 되었다. 따라서 더 많은 주소를 부여할 수 있도록 제안된 프로토콜이다. 128bit로 확장하여 기존보다 4배 더 많은 수를 부여할 수 있으며, 일반적으로 16bit씩 끊어 16진수 8개의 필드로 표현한다.

아직 ipv6가 완전히 보급되지 않았기 때문에 이후 내용은 ipv4를 기반으로 한다. 그러나 아직 ip 주소가 많이 부족해졌기 때문에, 현재는 public ip와 private ip를 나누어 이 문제를 해결하고 있다.

public ip (공인 ip)

공인 ip는 유일성이 보장되어야 한다. 따라서 국가별로 공인된 기관이 관리하고 있다. 우리 나라의 경우 KISA에서 공인 ip를 관리하고 있고, ISP(인터넷 제공 업체)인 KT, LG U+, SKT 등이 개인 사용자에게 부여한다.

검색창에 what is my ip를 검색하면 현재 자신의 ip를 확인할 수 있다.
public ip 조회

private ip (사설 ip)

인터넷 회사에서 ip를 받으면(=인터넷을 가입하면) 부여되는 공인 ip는 하나이다. 그러나 인터넷을 사용하는 기기는 너무 많다. 컴퓨터, 스마트폰, 스피커, ...
따라서 이 모든 기기에서 인터넷을 사용하기 위해서 공유기를 사용한다. 그 공유기가 연결되는 기기에게 부여하는 주소가 사설 ip이다. 즉, 하나의 네트워크 안에서만 고유한 내부 주소이다. 따라서 하나의 네트워크 안에서는 사설 ip로 접근이 가능하지만, 외부의 네트워크를 통해서 접근은 어려운 것이다.

port

ip는 기기에 하나만 부여되기 때문에, 내부의 애플리케이션을 구분하기 위해 사용한다. 예를 들어, 3000번 포트로 리액트를 띄우고 8000번 포트로 백엔드 서버를 띄우는 상황을 생각해볼 수 있다. ip는 127.0.0.1 로 동일하지만, 포트 번호로 앱을 구분하는 것이다.

  • localhost(127.0.0.1)은 현재 기기를 의미한다. 즉, 현재 사용하는 기기로만 접근이 가능한 주소라고 생각하면 된다.
  • 포트 번호는 0~65535까지 사용할 수 있는데, 0~1024는 이미 예약된 프로토콜이 있다.
    • 22 : SSH
    • 80 : HTTP
    • 443: HTTPS
      이런 프로토콜의 경우, 일반적으로 포트번호를 명시하지 않는다. (브라우져에 포트 번호를 쓰지 않는 이유)

reference

[WEB] 🌐 IP 기초 (사설IP / 공인IP / NAT) 개념 정말 쉽게 정리

profile
나의 삽질이 미래의 누군가를 구할 수 있다면...

0개의 댓글