[Network] IP Address

Jin·2023년 11월 27일
0

기타

목록 보기
2/2

IP란?

  • Internet Protocol의 약자
  • 인터넷에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜
    • 이를 위해 컴퓨터의 논리적인 주소를 구분
  • 현재 IP는 32비트 체계를 사용 ⇒ 약 40억 개의 주소 표현 가능
    • 1비트는 0과 1로 표현 가능
  • 192.168.0.1과 같은 형태의 주소

웹 사이트에 접속할 때

  • 실제로 웹 사이트에 접속할 때 IP 주소를 이용해서 통신함
  • 네이버에 접속할 때, 우리가 모르는 사이에 DNS Server와 통신함으로써 IP 주소를 얻어냄
    • DNS Server: 국가적으로 운영 ⇒ 우리가 관여할 필요 없음


IPv4

  • 흔히 사용하는 IP 주소 체계
  • 일반적인 의미의 IP
  • 가장 큰 단점은 오직 32비트만을 사용함
  • 공인 IP 주소 40억 개로는 현재 전 세계의 모든 컴퓨터를 처리할 수 없음
  • 이를 해결하기 위해 IPv6이라는 새로운 주소 체계가 등장함

IP의 분류

공인 IP

  • 세계에서 단 하나만 존재하는 IP 주소
  • 고정 IP 또는 유동 IP

사설 IP

  • 공유기를 이용해 만들 수 있는 가상의 IP 주소(= 공유기로 연결된 내부망에 적용되는 가상의 주소)
    • 공인 IP만으로는 부족하기 때문(∵ 40억 개의 주소)
  • 고정 IP 또는 유동 IP
  • 컴퓨터가 다른 컴퓨터와 통신한다 하더라도, 라우터가 가지고 있는 공인 IP를 거쳐야 함
    • 즉, 외부에서 사설 IP를 사용하는 컴퓨터에 접속한다 하더라도 반드시 공인 IP를 거쳐야 함
    • 사설 IP는 겹칠 수 있음(⇔ 공인 IP는 겹치지 않음)
  • ex) H1 → H4
    • H1: 10.0.1.2 → R1: 128.195.4.119 → Internet → R2: 128.143.71.112.3 → H4: 10.0.1.3
    • 하나의 연결을 할 때도 수많은 라우터들을 거쳐야 함 ⇒ 한 번에 사설 IP에 접근할 수 있는 방법은 없음

고정 IP

  • 해당 컴퓨터의 IP 주소를 고정적으로 사용

유동 IP

  • 수시로 변화하는 IP 주소

공인 IP가 반드시 필요할 때

네이버의 IP로 통신하려고 할 때, IP가 주기적으로 변동되는 유동 사설 IP라고 가정하자.
IP 주소가 변경되었기 때문에, 이전에 접속하던 IP 주소로 접속하려고 하면 오류가 발생한다. 따라서 '서버' 역할을 하는 컴퓨터는 반드시 고유한 주소가 필요하다는 것을 알 수 있다.

그렇다면 유동 IP인 경우에는 서버 구축이 불가능할까?

답은 No, DDNS(dynamic DNS)를 사용하면 된다. DDNS는 사용자가 도메인 주소로 해당 서버에 접근할 때 사용할 수 있다.

  • ex) www.naver.com으로 접속 ⇒ 컴퓨터가 DNS Server에 접속 ⇒ DNS Server가 실시간으로 바뀐 IP 주소를 가지고 있으므로 접속하는 사람은 아무런 문제가 없음
  • 그러나, 서버를 구축할 때는 웬만해서 고정 IP로 하는 것이 좋음


유동 IP의 변경 방식

  • 공유기 연결: 121.129.87.55라는 아이피 받음
  • PC 바로 연결: 168.126.35.122라는 아이피 받음
  • 왜 다를까??
    • MAC 주소를 토대로 IP를 할당하는 유동 IP의 특성 때문
    • 공유기와 PC는 MAC 주소가 다름 ⇒ 장치를 변경하면 다른 유동 IP로 새로 할당해 줌

MAC 주소

  • 모든 컴퓨터 장치마다 고유의 주소를 가지고 있는 것
  • 각 컴퓨터마다 가지고 있다는 특성 때문에, 물리적 주소라고 부르기도 함

사설 IP의 단점

  • 외부에서 내 컴퓨터를 찾을 수 없음
  • 사설 IP는 세계에서 하나만 존재하는 공인 IP 주소가 아님
    • 따라서 사설 IP는 내부에서만 의미가 있고, 외부에서는 해당 IP로 접속이 불가능
  • 전화기에 비유해 보자
    • 전화번호는 단 1개만 존재함
    • 일반적으로 공중전화는 전화를 받을 수 없음(고정 번호 X)
    • 클라이언트
      • 공중전화에서 전화를 검 ⇒ 전화번호를 갖고 있지 않아도 다른 곳에 전화 가능
      • 즉, 공인 IP 주소를 갖고 있지 않아도 서버의 IP 주소를 알면 접속 가능
    • 서버
      - 공중전화에서 걸려오는 전화를 받아야 함 ⇒ 전화번호가 있어야 다른 곳에서 걸려오는 전화를 받을 수 있음
      - 즉, 공인 IP 주소를 갖고 있어야 함

사설 IP로 서버 운영하는 방법

  • 포트 포워딩 이용
    • 특정 포트로 들어오는 패킷을 내부 컴퓨터로 넘겨주는 것
    • 단, 공인 IP가 필수적으로 1개는 있어야 함
  • ex) 회사에서 부여받은 공인 IP를 219.214.33.125라고 가정
    • 세 대의 컴퓨터는 192.168.0.2, 192.168.0.3, 192.168.0.4를 사용함
    • 이때, 공유기가 219.214.33.125의 80번 포트로 들어오는 패킷을 192.168.0.3으로 보냄
    • 이렇게 하면 192.168.0.3 컴퓨터를 웹 서버 컴퓨터로 사용할 수 있음

NAT(Network Address Translation)

  • 공유기가 하나의 공인 IP를 내부 사설 IP로 나누는 기술
  • 장점
    • 사설 IP의 사용으로 내부망을 보호하는 역할 수행(공유기 내/외부로 나눔)
    • 연결된 PC 관리 쉬움
    • 한정된 공인 IP 주소를 사설 IP로 늘림으로써, 수없이 많은 컴퓨터 연결 가능

웹 서버의 운용

하나의 공인 IP에서 2대 이상의 웹 서버를 운용하는 방법이 있을까?

  • 웹 서버는 80번이라는 이미 정해진 포트를 사용함
  • 내부 호스트 192.168.0.2192.168.0.3이 둘 다 웹 서버라고 가정할 때, 80번 포트를 192.168.0.2에 연결했다면??
    • 81번 포트를 192.168.0.3에 연결하면 됨
  • 이런 식으로 포트를 다르게 분배하면 한 개의 공인 IP에서 여러 개의 웹 서버 운용이 가능함
    • 물론 도메인 주소는 다르게 설정해야 함

IP 대역의 중복

  • 아래 사설망의 문제점은?
    • 사설 IP의 공통된 대역을 사용하지 않고, 공인 IP에 쓰일 법한 하나의 IP 주소를 사용함
    • 만약 동일한 IP 주소가 2개 존재한다면, 내부망에 있는 컴퓨터에 접속하게 됨
      - 즉, 사설망 내부에서 공인 IP를 사용한다면 외부에서 접근하지 못한다는 문제점이 발생함
      - ex) 205.155.32.30 접속 ⇒ 왼쪽의 컴퓨터(= 내부망에 위치)에 접속함

기타

IP 주소를 어떻게 알 수 있을까?

  • cmd 창에 nslookup을 입력
  • ex) nslookup naver.com 입력
    • 결과

인터넷 설치 방법

  • ISP(Internet Service Provider)
    • ex) KT
  • 설치하면 일반적으로 유동 IP

가장 쉽게 서버를 구축하는 방법

나의 IP 주소 알아보기

  • A 클래스 사설 IP 대역: 10.0.0.0 ~ 10.255.255.255
  • B 클래스 사설 IP 대역: 172.16.0.0 ~ 172.31.255.255
  • C 클래스 사설 IP 대역: 192.168.0.0 ~ 192.168.255.255
  • cmd에 ipconfig 입력
    • 결과
      • 해당 IPv4 주소는 사설 IP

참고 자료
아이피 주소(IP Address)의 개념을 자세히 이해해보자 (공인 IP, 사설 IP, 고정 IP, 유동 IP와 서버 구축)

profile
블로그 이사했습니다! 💨💨 https://guswls28.tistory.com

0개의 댓글