본문 바로가기
💻 Computer Science/-- Network

[Network] IP Address, IPv4 와 IPv6 그리고 DNS

by Wonit 2021. 4. 23.

목차

  • IP 주소
    • IPv4
    • 구성 단위 (A, B, C, D, E Class)
  • 서브네팅
    • 할당된 네트워크를 작은 네트워크로 나누는 것
  • IPv6
    • 128비트 긴 주소
    • 인증성, 기밀성, 무결성의 지원
    • 구성
      • 유니캐스트
      • 멀티캐스트
      • 애니캐스트
  • 도메인 네임
    • DNS 서버

IP Address, IP 주소

IP 주소는 Internet Protocol address, IP Address 라고 한다.
간단하게 내 IP 주소를 확인하기 위해서는 터미널에 ip 질의 명령어를 사용하면 된다.

ipconfig <= window OS

ifconfig <= unix, rinux OS

혹은 내 IP 확인 이라는 키워드로 Naver나 Google에 검색해서도 확인할 수 있다.

터미널로 IP를 확인할 경우 Private IP가 나오고 공인 IP를 찾기 힘든 경우가 많으니 findip.kr 에서 공인 IP를 쉽게 찾을 수 있다.

IP 주소의 역할

컴퓨터 네트워크에서 장치들이 서로 인식하고 통신을 하기 위해서는 특수한 번호가 필요한데, IP가 그 역할을 대신해준다.
네트워크에 연결된 장치가 단말기이던 라우터이던 서버이던 컴퓨터이던 모든 통신을 하는 기계는 IP를 가져야 한다.
해당 IP가 존재한다면, 송신자는 수신자의 IP번호로 메시지를 전송하게 된다.

참고로 IP와 IP Address는 서로 다르다. IP는 인터넷 프로토콜 자체를 의미하고 IP Address는 앞서 이야기했듯 단말기 사이의 주소쯤으로 생각하면 된다.

IPv4

IPv4는 인터넷 프로토콜의 네번째 버전으로, 전 세계적으로 사용되는 첫번째 프로토콜이라고 한다.
기본적으로 패킷 교환 네트워크 (Packet Switching Network) 환경에서 사용되며 데이터를 교환하기 위한 하나의 프로토콜이다.
IPv4는 32비트 의 주소 공간으로 구성된다.

IPv4의 32비트라는 제한된 주소 공간으로 인해서 2011년에 이미 고갈되었다. 이에 따라 현재는 IPv6를 사용해야 하는 추세이며 아래에서 더 자세히 알아보자.

구성 단위

IPv4는 3개의 클래스로 구성이 나뉘어 진다.

  • A Class
  • B Class
  • C Class
Class Name 클래스 속성 자유롭게 부여 가능한 범위 ex
A Class

최상위 클래스로 1 ~ 126 범위의 주소를 가짐

2, 3, 4번째는 A Class가 자유롭게 네트워크 사용자에게 부여가 가능한 IP

61.211.123.22

B Class

두 번째로 높은 클래스로 첫 번째는 128 ~ 191 가운데 하나를 가짐

3, 4번째는 B Class가 자유롭게 네트워크 사용자에게 부여 가능

191.123.211.33

C Class

최하위 Class로 첫 번째 단위는 192 ~ 233 중 하나를 가짐

4 번쨰 숫자가 C가 자유롭게 부여할 수 있는 아이피

211.23.222.222

IPv6

IPv6는 차세대 인터넷 프로토콜로 6 번쨰의 IP Address 프로토콜이라고 한다.
탄생 배경은 2011년으로 돌아간다.

앞서 이야기 했든 2011년 2월에 IPv4의 유효 주소 범위를 벗어났다고 공식적으로 발표함에 따라서 모자란 주소를 채우기 위해서 네트워크 프래그멘테이션이 증가함 새로운 체계의 IP 프로토콜이 존재해야 했다.

그래서 패킷의 크기를 자동으로 확장할 수 있는ㄷ 128 비트의 주소 길이를 가진 IPv6가 탄생하였다.

패킷의 크기를 미리 예약된 알고리즘을 통해서 자동으로 구성하기 때문에 확장성에 매우 뛰어나다.

또한 IPv4가 이미 세계에 만연해 있었기 때문에 해당 생태계를 파괴하지 않기 위해 IPv4에 대한 호환을 매우 신경썼다고 한다.

구성 단위

IPv6는 16비트씩 8부분, 총 128 비트로 구성되어 있다.

각 구성 부분을 : 으로 구분하고 3가지의 구성 체계로 나뉜다.

  • 유니캐스트 : 단일 송신자와 단일 수신자 (1:1)
  • 멀티캐스트 : 단일 송신자와 다중 수신자 (1:n)
  • 애니캐스트 : 단일 송신자와 가장 가까이 있는 단일 수신자 (1:1)

Domain Name

도메인 네임은 IP 주소를 사람들이 이해하기 쉽게 문자료 표현한 것을 의미한다.
왼쪽에서 오른쪽으로 갈 수록 상위 도메인으로 hub.docker.com을 확인해보자.

  • 최상위 도메인 (1단계) : com
  • 2단계 도메인 : docker
  • 3단계 도메인 : hub

DNS, Domain Name Server

도메인 네임 서버, DNS는 IP 에서 변환된 도메인을 클라이언트가 브라우저에 입력 혹은 접근할 때 해당 도메인 네임을 토대로 IP 로 변환시켜주는 일을 수행한다.

동작 원리

  • 웹 브라우저에 사용자가 주소를 입력 http:hub.docker.com
  • Local DNS 에게 hub.docker.com 쿼리
  • Local DNS 에 없으면 .com DNS 서버로 쿼리
  • .com DNS는 루트 DNS 서버로 질의
  • Root DNS가 Domain Name을 토대로 IP주소를 찾고 .com DNS로 응답
  • .com DNS가 IP주소를 Local DNS로 응답
  • Local DNS 는 IP 주소를 캐싱하고 클라이언트에게 IP 정보 전달

댓글0