개밟자 블로그
[컴퓨터네트워크] IP Address 본문
IP Address
- ISP(인터넷 사업자) / 공유기에서 할당하는 인터넷에 연결된 디바이스 및 네트워크 카드의 식별자, 논리적인 주소
- 네트워크에 따라 디바이스의 IP Address가 바뀔 수 있다.
- MAC address: 디바이스의 물리적인 주소, 제조사가 부여
IPv4
- 32bits(4bytes) Address (ex. 192.111.112.213)
- 각 자리가 10진수로 표현된다. 즉, 각각 8bit(1byte)로 표현할 수 있는 값을 가진다.
IPv6
- 128bits(16bytes) Address (ex. 2001:0db8:85a3:08d3:1319:8a2e:0370:7334)
- 각 자리가 16진수 4자리로 표현된다. 즉, 각 자리 하나의 값은 최대 15까지 표현가능한 4bit(0.5byte)이며 4자리로 이루어진다.
- 4bit * 4 = 16bit = 2byte이며, 이러한 구성이 총 8자리 이므로, 16bit* 8 = 128bit = 16byte이다.
- IPv4에 비해서 4배의 길이를 가진다.
- Network Identifier, Interface Identifier 두 개로 나뉜다고한다.
IPv4 에서의 Classful partitioning
High-Order-Bits
- High-Order-Bits는 IP주소를 이진법으로 표현할 때, 맨 앞자리의 최상단 비트를 의미한다.
- Class 를 표현하기 위해서 존재하는 OverHead bit라고 생각하면 편하다.
- 아래 사진과 같이 주소를 Net Number와 Host 영역으로 나누었을 때, Net Number의 첫 번째 자리 8bit 중 2bit를 고정적으로 할당하여 [10xx xxxx]로 표현 하겠다는 의미이다.
- 이로인해, 나머지 6bit + 8bit(두 번째 자리) = 14bit를 Net Number로 사용할 수 있다.
- Class A의 경우 HOB가 0(1bit)으로 표현되어 0~127까지의 수를 가질 수 있다. 127은 7bit가 가질 수 있는 최대의 숫자(2^7-1 = 128 -1 = 127)이다.
- 따라서, Class B가 128부터 시작하는 이유는, HOB가 10이기 때문에 항상 비트가 [10xx xxxx]로 시작하므로, 128부터 표현할 수 있으며, 그 최대값은 191이라는 의미이다.
- 같은 논리로, Class C, D, E 또한 High-Order-Bit에 따라 최소, 최대값이 정해져 있는 것이다.
그 외 설명
- Class A,B,C는 클래스가 올라갈 수록 Host Bit 표현의 수가 줄어든다.
- Class D는 Multicast Address로 쓰인다. 모두가 공통적인 주소 하나를 가지고 있는 셈. 따라서 영역을 구분하지 않는다.
- Class E는 Reserved로 쓰인다. 예약어와 같은 개념으로, 일반적인 네트워킹엔 사용되지 않는다. (실험 목적으로 사용한다고 함)
- 결국 Classful 기법은 IP Address 표현 한계가 있다. 인터넷 이용자 수에 비해 표현 방법의 절대적인 수가 부족하다.
IPv4 에서의 Class Inter-Domain Routing(CIDR)
Private Network
- 각 디바이스의 IP Address를 모두 Unique하게 설정하기에는 현실적으로 불가능하다. 가용 가능한 IPv4 Address는 한정되어 있기 때문.
- 따라서, 사설 네트워크(Private Network) 개념을 통해서 이러한 문제를 해결 하고자 하였다.
- 사설 네트워크, 사설망은 하나의 Public IP를 여러 기기가 공유할 수 있는 방법이다. (ex. 무선 공유기와 PC, 스마트폰의 네트워크 연결)
- 하나의 망에는 private ip를 부여받은 기기들과 gateway로 구성되어있다.
- 각 기기는 인터넷과 통신시 Gateway를 통해 통신한다.
Private IP Address
- 사설 IP는 다음과 같이 지정된 대역의 IP만 사용 가능하다.
- 공인 IP가 사용할 수 있는 주소는 더 줄어 들겠지만, 효율은 올라간다.
- 블록의 이름은 Host를 표현할 수 있는 수이며, 서브넷 마스크의 길이에 따라 달라진다. 마스크의 길이는 Class에 속한 IP에 따라 달라진다.
- 후술 하겠지만, 10.0.0.0/8의 경우 서브넷 마스크의 1의 갯수가 8개임을 의미한다. 따라서, 나머지 24bit로 Host를 표현할 수 있게 되는 셈이다. 그래서 24-bit-block을 의미
- N-bit block에서 N이 커질 수록 Host의 수가 줄어든다. 즉, 같은 네트워크 내에서 기기에게 부여할 수 있는 주소가 줄어든다. 반대로 N이 작아질 수록 그만큼 Host의 수가 늘어나게 되며 표현할 수 있는 네트워크 수는 줄어들게 된다.
- 그렇다면 PC나 스마트폰 등의 갯수가 많을 때 Host가 큰 쪽을 사용해야 하고, public ip의 갯수(네트워크)가 상대적으로 많으면 Host가 작은 쪽(Block bit(N)가 적은)을 선택하는 것이 사설 IP를 부여할 수 있는 기준이 되는게 아닐까?...........(잘 모름)
- 아무튼 24-bit block이면, 호스트를 2^24-2개 표현 가능, 네트워크는 8bit 길이의 Address 라는 뜻이다.
- 통신은 다음과 같다.
서브넷 마스크(subnet mask)
- IP주소의 공간 낭비 문제를 해결하기 위해 서브넷 개념을 이용
- 서브넷을 사용한다 해서 공간 낭비가 해결되는게 아니다!!!!! 이를 해결하는 과정의 수단 중 하나이다.
- IP주소 부분에서 network영역과 host영역을 구분해 주기 위해 사용한다.
- 즉, 서브넷 마스크의 길이에 따라 host영역이 정해진다.
- 서브넷마스크는 ip주소와 달리 클래스 개념이 없고 1부터 순차적으로 1씩 증가
- IPv4의 서브넷 마스크는 ip주소와 같이 32bit(4byte)로 구성
- 일반적인 네트워크 주소인 Class A,B,C에서 Host 주소 길이가 갈수록 줄어들기 때문에 그에 따른 서브넷 마스크가 다름
서브넷팅(subneting..?)
- 서브넷 마스크를 이용하는 행위
- IP주소 낭비를 막기 위해, 원본 네트워크를 여러 개의 네트워크 주소로 나누는 작업을 의미.... 근데 이게 결국 원본 네트워크 내의 Host를 표현하기 위한 작업을 의미하는 것으로 보인다.
- 192.16.0.50/24 같은 주소에서, 24의 의미는 서브넷 마스크의 최상위 비트로부터 24개 비트가 1이 되도록 하는 것을 의미한다.
- 즉, 11111111 11111111 11111111 00000000, 255.255.255.0이다.
- 서브넷 마스크가 24이므로, 나머지 8bit는 호스트를 표현 한다는 것을 알 수 있는데, 이는 서브넷 마스크를 통해 호스트의 IP Address 범위를 파악할 수 있음을 암시한다. 그리고 8bit는 맨 마지막 자리수를 의미한다.
- 결국 서브넷 마스크를 이용하는 이유는, 어떤 네트워크에서 호스트가 얼마나 존재하는지를 표현하고, 어느 범위에 있는지 파악할 수 있는 수단으로 보인다.
수퍼넷 마스크, 수퍼넷팅(Supernet Mask, Superneting)
- 서로 다른 네트워크를 하나의 네트워크로 묶는 방법
- 서로 다른 네트워크란, Network bit가 다른 IP Address들을 가리키기도 한다.
- 라우터에 사용되는 방법인데, 라우터의 특성상 네트워크와 네트워크를 이어주는 수단이므로 자신이 파악하고 있는 분산된 네트워크를 표현할 수 있는 방법이 필요하다. 이를 위해 네트워크 주소를 라우팅 테이블에 작성한다.
- 그러나, 네트워크가 많아질 수록 라우터의 비용 부담이 증가하게 된다. 따라서, Supernting을 통해 라우터가 자신이 파악하는 네트워크 대역폭을 요약할 수 있으며, 라우팅 테이블 기록에 관련된 비용을 절감할 수 있다.(CPU, Data 등)
- 여러 네트워크가 있다면, 네트워크 주소의 공통적인 bit를 이용하여 하나로 묶는 과정이다.
- 10.0.1.0/24, 10.0.20.0/24, 10.0.120.0/24 라는 네트워크가 존재 할 때, 자세한 내용과 모든 로직은 다음 그림과 같다.
- 여기서, 17 부분을 Prefix라고 하는데, 원래 이러한 방식은 서브넷 마스크의 길이를 표현하는 방법이었다.
- 그렇다면, 서브넷 마스크가 24에서 네트워크 통합으로 인해 17로 줄어든 모습을 확인 할 수 있는데, 이는 곧 호스트의 bit가 증가함을 암시한다.
- 근데 서로 다른 것들을 공통적으로 묶었으면서 각각의 요소들은 유니크해야 하니까.. 해당 대역폭의 호스트 수도 수치적으로 증가하는게 맞다.
그래서... IPv4 에서의 Class Inter-Domain Routing(CIDR)이 뭐냐고..??
= 수퍼넷팅, 서브넷팅
'컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터네트워크] NAT (0) | 2023.11.20 |
---|---|
[컴퓨터네트워크] P2P 프로토콜 (0) | 2023.10.21 |
[컴퓨터네트워크] 신뢰성 프로토콜 (0) | 2023.10.21 |