컴퓨터공학/컴퓨터망

[컴퓨터망] IPv4 Addresses

NIMHO 2022. 6. 30. 02:32
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

Introduction

  • TCP/IP protocol suite의 IP layer에서 인터넷에 연결된 각 장치를 식별하는 데 사용되는 식별자를 Internet addrss 또는 IP address라고 한다.
  • IPv4 address는 인터넷으로의 host나 router의 연결을 독특하고 보편적으로 정의하는 32bit 주소이다.
IPv4 address는 32bit이다.
IPv4 address는 고유하고 보편적이다.
IPv4의 address 공간은 2^32 또는 4,294,967,296이다.
(43억 개 - 이론적으로는 부족해 v6를 써야 한다.)

Dotted-decimal notation (0 ~ 255까지 가능)

 

Classful Addressing

  • IP address는, 수십 년 전에 시작되었을 때, class의 개념을 사용했고, 이를 classful addressing이라고 한다.
  • 1990년대 중반, classless addressing이라 불리는 새로운 아키텍처가 도입, 이는 원래 아키텍처를 대체했다.
  • 네트워크의 크기나 호스트의 수에 따라 A, B, C, D, E클래스로 나누어진다.
  • A, B, C 클래스는 일반 사용자에게 부여하는 네트워크 구성용이다.

Occupation of address space (초창기 ver.)
Finding the class of address

첫 번째 수(Byte 1)만 보면 class가 뭔지 알 수 있다.

Finding the class of an address using continuous checking
Netid(Network ID) and hostid

Netid : 할당된 network ID이다.
Hostid : 마음대로 사용 가능하다.
  • Class A : Netid 8bit
    • 첫자리가 0으로 고정된다.
    • 8bit지만 첫자리가 0이라서 2^7개이다. (거의 다 미국에 있다.)
    • Hostid 2^24개 → 수백만 개의 Class A address가 낭비된다. (주소 다 못쓰고 남아돈다.)
  • Class B : Netid 16bit
    • Hostid 2^16개  많은 Class B address가 낭비된다.
  • Class C : Netid 24bit
    • Hostid가 2^8개라서 부족하다.
    • 여러 개를 한 번에 할당받는다. (Block)
    • Class C는 하나로는 부족해서 block을 가져 여러 개를 할당받는다.
  • Class D : Multicast address
    • 그룹 통신할 때 잠깐 쓴다. (멀티캐스트용이다.)
    • 임시로 쓰는 것이라서 할당하지 않는다.
    • Class D address는 multicasting에 사용되는 하나의 block으로 구성된다.
  • Class E : Reserved for future use
    • Class E address의 유일한 block은 미래의 목적으로 예약된 주소이다.

Blocks in Class A
Blocks in Class B
Blocks in Class C
The single block in Class D
The single block in Class E

classful addressing에서 조직에 할당된 주소 범위는 Class A, B 또는 C의 주소 block이다.
이렇게 되면 낭비가 많아져서 class를 사용하지 않게 된다. → classless

Two-level addressing in classful addressing
Information extraction in classful addressing

network address(netid)는 network의 식별자다.
router는 netid만 본다. hostid는 중요하지 않고 도착하면 사용한다.

Network mask

mask : 필요한 부분만 보기 위해서 쓴다.
Mask for class * : netid만 보기 위해서

Finding a network address using the default mask
Network mask and subnetwork mask

subnetwork mask는 network mask보다 더 긴 범위를 쪼갠다.

Comparison of subnet, default, and supernet mask

subnet mask ex. 경북대로 할당받은 것 안에서 과로 쪼갠다.

 

Classless Addressing

  • classful addressing에서 subnetting 및 supernetting은 실제로 주소 고갈 문제를 해결하지 못했다.
  • long-range 솔루션은 이미 고안되어 IPv6라고 불리지만, 동일한 주소 공간을 사용하되 각 조직에 공정한 분배를 제공하기 위해 주소의 분포를 변경하는 short-term 솔루션도 고안되었다.
  • short-term 솔루션은 여전히 IPv4 address를 사용하지만 이를 classless addressing이라고 한다.

Prefix and suffix
Slash notation

classless addressing에서 prefix는 네트워크를 정의하고 suffix는 호스트를 정의한다.
하지만 관례상 classless방식에서도 netid, hostid로 표기하는 경우가 대부분이다.
prefix의 길이는 1에서 32 사이일 수 있다. prefix만 보고 routing 한다.
classless addressing에서 우리는 block의 주소 중 하나와 block을 정의하기 위한 prefix의 길이를 알아야 한다.
prefix의 길이가 길수록 작은 블록으로 이루어진 네트워크고, 짧을수록 큰 블록으로 이루어진 네트워크이다.
즉, prefix의 길이와 네트워크 규모는 반비례 관계에 있다.

 

Special Addresses

  • classful addressing에서 일부 주소는 특별한 목적을 위해 예약
  • classless addressing 체계는 classful addressing으로부터 이러한 특수 주소 중 일부를 상속

Example of using the all-zero address

all zero block

source 0.0.0.0은 할당받은 주소가 없다.
새로운 호스트가 호스트 할당을 요청할 때 쓰는 주소이다.
위 그림처럼 IP를 설정한 뒤 네트워크에 패킷을 날리면, 적당한 IP를 할당받을 수 있다.

Example of limited broadcast address

limited broadcast address

destination IP 주소가 255.255.255.255 → broadcase address (그 네트워크 안에 다 쏜다.)
밖에 router blocks (외부 네트워크)으로는 가지 않는다. 만약 전달되면 네트워크가 마비된다.

Example of loopback address

loopback address

127.x.y.z → Class A
pc안에서 돈다. (내부적 확인 위한 test address)
이는 나갔다가 자신에게 다시 돌아오게 된다.

Example of a directed broadcast address

directed broadcast address → hostid 1로 setting (router가 쏜다.)

network 안에서는 쏘지 않는다.
router가 broadcast 할 일이 있을 때 이 주소를 사용한다.

 

NAT

  • ISP를 통한 주소 분배는 새로운 문제를 야기한다.
  • 사업이 성장하거나 가구가 더 큰 범위를 필요로 하는 경우, ISP는 범위 전후의 주소가 이미 다른 네트워크에 할당되어 있을 수 있기 때문에 수요를 부여하지 못할 수 있다.
  • 호스트 수가 늘어나 IP를 더 할당받고 싶어도 바로 다음의 IP주소가 이미 다른 데서 사용하고 있으면, 새로운 형식의 네트워크 주소로 IP를 할당해줄 수밖에 없다는 문제가 있다. (라우팅, 포워딩 과정에서 엄청 복잡해진다.)
  • 그러나 대부분의 경우 소규모 네트워크의 일부 컴퓨터만 동시에 인터넷에 액세스 해야 한다.
  • 이 경우에 도움이 될 수 있는 기술은 network address translation(NAT)이다.

NAT

하나의 IP로 여러 호스트가 네트워크를 이용할 수 있게 해주는 것이다.
NAT router를 통해 이루어지는데 그 예로는 공유기가 있다.
public IP 써야 한다. (public 하나 공유)

Address resolution

network → Internet : public으로 주소 변경한다.
Internet → network : private로 주소 변경한다.

Translation

728x90