CS전공지식 노트/3. 네트워크

네트워크 #4 : IP주소체계

berryberries 2023. 8. 13. 00:21

1. IP주소 & MAC주소

  • IP주소
    • 장치들이 서로를 구별하기 위한 논리적 주소
    • 논리적 주소 -> 주소가 변한다.
      • A카페에 노트북을 들고가면 해당 카페이 와이파이에서 IP주소를 부여한다. B라는 카페에도 노트북을 들고가서 와이파이를 이용해 IP주소를 부여받았다
      • A카페에서 IP주소와 B카페에서 IP주소는 서로 다른 것을 확인할 수 있다.
      • 이때 노트북는 변치않는 고유 주소가 있다. -> MAC 주소라고 한다.
  • MAC 주소 

  • 네트워크 인터페이스에서 할당된 고유 식별자
  • 주로 NIC카드에 할당되어 있다
  • 24비트 OUI + 24비트 UAA로 구성된 48비트 주소이다.
  • MAC주소는 보통 유일한 고유 식별자를 갖지만 제조사의 실수또는 의도적으로 변경할 수 있다.
  • 하지만 변경하지 않는것이 좋다.

 

2. ARP 와 RARP

  • ARP
    • IP주소를 MAC주소로 변환해주는 프로토콜
    • ARP 동작과정
      • 1. 해당 IP에 맞는  MAC주소를 찾기 위해 현재 브로드캐스팅으로 연결된 네트워크에  있는 장치들에 데이터를 보낸다.
      • 2. 맞는 장치가 있으면 유니캐스트로 데이터를 전달해 주소를 찾는다.
  • RARP
    • MAC주소를 통해 IP주소를 알아낼 수 있는 프로토콜
    • ARP의 역과정
+ 이진법 계산하기
- 우리가 쓰는 숫자 -> 십진법 / 0~9로 표현되는 수
- 컴퓨터에서 쓰는 숫자 -> 이진법 / 0과 1로 표현되는 수
  <이진법 표현법>
1. 100101b (b를 덧붙임)
2. 100101(2) ((2)를 덧붙임)
3.  0b100101 (앞에 0b를 덧붙임)
        ex) 이진법으로 181 표현하기

3. IPv4 와 IPv6

1) IPv4

  • 32비트로 이루어져 2^32개의 주소를 표현할 수 있다.
  • 8비트 단위로 점을 찍어 4개로 구분한다. -> 옥텟
  • 기술 발달하게 되면서 주소 부족으로 인해  NAT,서브네팅등 부수적인 기술이 필요해짐.
  • 체크섬을 통해 무결성을 보호할 수 있다.
  • 헤더의 길이가 20~60바이트의 가변길이다. 

2) IPv6

  • 128비트로 이루어져 많은 수의 주소를 처리할 수있어서 부수적인 기술이 필요없다
  • 16비트씩 8개로 구분한다.
    • 16비트는 16진수로 변환되어 콜론(:)으로 표현된다.
    • 앞의 64비트는 네트워크 주소, 뒤의 64비트는 인터페이스 주소가 표현된다.
  • 연속된 0은 생략이 가능하다. 
  • IPSec가 내장되어 있어 프로토콜 내의 보안기능을 탑재했다.
  • 불필요한 헤더의 제거로 헤더 포멧이 단순해 졌다.

  • 상위 프로토콜(TCP,UDP)에 체크섬 필드가 있기 때문에 헤더의 효율화를 위해 IPv6에는 체크섬이 없다.
    • IPv6 + UDP 를 사용할경우 IPv6에는 체크섬이 없기 때문에 UDP헤더에서 체크섬 설정을 해주어야 한다.

 

3) IPv4 와 IPv6 차이점

  IPv4 IPv6
길이 32비트 128비트
주소 공간 2^32개 2^128
옥텟 수 4개 16개
헤더 길이 20~60바이트의 가변길이 40바이트의 고정길이
체크섬 유무 O X
보안 별도구현 IPSec내장

Q. IPv4와 IPv6 중 어떤게 좋나요?더 빠를까?

IPv6는 주소공간이 증가해 많은 주소를 표현할 수 있다. 또한 불필요한 헤더가 삭제되어서 IPv4보다 더 속도가 빠르고 기본적으로 IPSec가 내장되어 있기 때문에 보안성도 더 높다. 하지만 일부 사용사례에서는 IPv4보다 패킷이 늘어났기 때문에 속도가 느려지는 경향도 있다. 

 

4. Classful ( Classful IP Address )

1) 네트워크주소 & 호스트주소

  • 네트워크 주소
    • 호스트들을 모은 네트워크를 지칭한다
    • 네트워크가 동일하다는 말은 같은 로컬 네트워크라는 뜻이다.
  • 호스트 주소
    • 호스트를 구분하기위한 주소

2) 클래스 기반 할당 방식

  • 네트워크 주소를 매기고 그에 따라 네트워크의 크기를 다르게 구분하여 클래스를 할당하는 주소체계
  • 구분하는 기준자를 서브넷마스크라고 한다. -> 1,2,3 옥텟
  • A ,B ,C ,D ,E 다섯개의 클래스로 구분된다.
  • Class D는 multicast용 주소고 Class E는 주소 부족시 할당되는 주소다.
  • 맨 왼쪽에 있는 비트는 구분비트라 한다.

① Class A

  • 한 네트워크 주소당 HostID : 2^24 – 2 = 16000만개
  • 네트워크 주소 범위 : 1~126 
    • 원래는 127.255.255.255까지 포함되지만 특수주소로 포함되지 않는다.
  • 특수주소
    • 127.X.X.X : 루프백 주소 -> 로컬호스트(본인 네트워크 주소)
    • 0.0.0.0 : 알수 없은 대상에게 달아놓는 주소

 

② Class B

  • 한 네트워크 주소당 HostID : 2^16 – 2 = 65,000개
  • 네트워크 주소 범위 : 128 ~ 191 

 

③ Class C

 

  • 한 네트워크 주소당 HostID : 2^8 – 2 =  254개 
  • 네트워크 주소 범위 : 192 ~ 223
* 주소중 2개를 빼는 이유
4개의 옥텟은 네트워크 주소로 쓰인다. 항상 주소당 HostID에서 -2를 하는 이유는 맨 처음 주소와 마지막 주소는 이미 배당되어 있기 때문이다.

 예를 들어, 클래스 C로  192.0.0.0 네트워크를 부여받았다고 했을 때 192.0.0.1 ~ 192.0.0.254의 호스트 주소를 부여받은 것이다. 192.0.0.0은 네트워크 구별주소이다. 그리고  192.0.0.255는 브로드캐스트 주소이기 때문에 항상 2를 빼준다.

 

3) classful의 문제점

  • 네트워크 크기가 작다고 할 때, 큰 네트워크가 필요한 조직은 여러개를 확보해야한다.
  • 작은 네트워크가 필요한 조직의 경우엔 많은 IP를 가져가게 될경우 IP가 낭비된다.
  • 한마디로 세분화된 요청에는 민감하게 반응하지 못하는 문제가 있다.

 

5. 클래스리스, 서브넷마스크, 서브네팅

1) 서브네팅 & 서브넷 & 서브넷 마스크

  •  서브네팅 
    • 네트워크 성능 보장, 자원을 효율적으로 분배하기 위해 네트워크 영역과 호스트 영역을 쪼개는 작업
  •  서브넷 
    • 서브 네트워크, 쪼개진 네트워크
  •  서브넷 마스크
    • 서브 네트워크를 위한 비트마스크
    • 네트워크 주소는 모드 1로 호스트아이디는 0으로 설정한다.

2) 클래스리스

  • 인터넷이 상용화 되며 폭발적으로 증가한 사용량에 따른 IP 주소 부족을 해결하기 위한 방법.
  • class없이 좀더 세분화해서 서브넷 마스크 중심으로 네트워크와 호스트주소를 나눈 주소체계
  • 네트워크와 호스트 주소를 나누는 구분자를 사용하는데 이것을 서브넷 마스크 라고 한다.

  • 네트워크 주소가 192.168.50.112 라고 하자. 
  • 192는 class c이고 4자리 옥텟중 3개를 네트워크주소로 사용하기 때문에 서브넷 마스크로 변환하면 255.255.255.0
  • 이 주소들을 이진수로 바꿔주면 위에 표에 나오는 주소들이 된다.
  • & 연산자를 통해 나타내면 네트워크주소를 알 수 있다. 

3) 서브넷 마스크 계산하기

Q. 10개의 사무실이 있으며 사무실당 12개의 장치를 연결해야 한다면?

한 서브네트워크(서브넷)당 123.12.12.12/28로 16개의 네트워크를 확보해야합니다. 이를 통해 16 - 2 = 14개 장치를 확보할 수 있습니다.

 

6. public IP와 private IP

  • 공인IP (Public IP)
    • 네트워크 외부와 통신하기위해 사용하는 IP
    • ISP가 제공하는 IP주소여서 인터넷 상 유일한 주소이다.
  • 사설IP (Private IP)
    • 동일한 네트워크에서 통신하기위해 사용하는 IP
    • 일반 가정이나 회사에 할당된 가상IP
    • IPv4의 주소부족으로 서브네팅된 IP여서 라우터에 의해 로컬 네트워크 상의 PC에 할당된다.
    • NAT기술을 사용한다.
  • NAT ( Network Address Translation )
    • 패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소를 다른 IP 주소로 매핑하는 방법
    • IP노출이 되지 않아 보안성이 좋다.

 

예를들면, 집이나 사무실에 공인IP가 할당됐는데 1개만 할당되서 부족하다. 그래서 공유기를 설치해서 NAT이 적용된WIFI를 사용하면 집에서 사용하는 기기에 가상IP가 부여되서 네트워크를 사용할 수 있다. 

네트워크 내부에선 가상IP를 통해 통신하고 네트워크 외부와 통신할 땐 공인IP를 사용해 통신할 수 있다.

내부에서만 가상 IP를 사용할 수 있기 때문에 네트워크 IP가 노출되지 않는다는 장점이 있다.