[IP(Internet Protocol)]
-> IPv4 / IPv6 2가지의 버전이 혼용되어 사용 중
-> 일반적으로 회사내부 혹은 시스템영역에서 사용되는 버전은 IPv4를 사용
-> IPv4(32bit)로 구성되어 있으며, 총 4개의 옥텟으로 구분함(옥텟 구분자 : '.')
-> 만약 bit에 대한 연산을 진행 할 경우 2진법으로 계산을 진행함
-> LAN(근거리 통신망): 케이블로 연결 / 동일 IP주소 대역대를 사용해야 함
-> IP주소의 구조 : Network-ID(소속)/Host-ID(식별자)
-> 소속 : 내가 속해있는 Network / 식별자 : 내가 속한 Network에서 나를 구분하는 값
[IPv4의 주소범위]
-> 32bit = 2^32 = 4,294,967,296개 / 약 43억개의 IP주소를 표현 할 수 있음
-> 약 43억개의 IP주소는 전세계가 나눠 쓰는 것이기 떄문에 IP주소 부족문제가 발생했고 이를 해결하기 위해 IPv6를 개발함
-> 0000 0000 . 0000 0000 . 0000 0000 . 0000 0000 [0.0.0.0 : IPv4 최소값] 옥텟별로 8bit씩
-> 1111 1111 . 1111 1111 . 1111 1111 . 1111 1111 [255.255.255.255 : IPv4 최대값]
-> 서브넷 마스크를 보면 IP주소에서 Network-ID가 어디까지인지를 알 수 있음
[IPv4 Classful]
-> 초기의 IPv4의 경우 Classful 형식을 사용 [현재는 Classless 방식을 사용]
-> Class를 사용하는 경우 따로 명시하지 않아도, Network-ID/Host-ID의 크기가 정해져 있어 쉽게 구분 할 수 있음
-> 현재 사용되지 않는 이유는 IP주소의 낭비가 발생하기 때문임
A Class : (전체 IPv4의 주소 중 50%를 점유) 규모가 큰 조직에게 할당
-> 첫 번째 옥텟의 첫 번째 bit 값이 "0"으로 고정되어있는 주소는 "A Class"라고 정함
-> '0'000 0000[0] ~ '0'111 1111[127]
-> IP주소의 첫 번째 옥텟의 주소값이 0~127 사이의 값을 갖는다면, 해당 IP는 A Class가 됨
Net-ID Host-ID (24bit -> 2^24= 16,777,216)
|-------------|--------------------------------------------|
[0xxx xxx . xxxx xxxx . xxxx xxxx . xxxx xxxx]
-> Net-ID의 경우 첫 bit는 '0'으로 고정 나머지 7bit는 변하는 값
-> A Class는 총 128개의 네트워크를 만들 수 있음 (2^7=128)
-> 총 128개의 네트워크에서 각 IP주소를 16,777,216개 만큼 사용 할 수 있음
*이는 하나의 네트워크에 16,777,216대의 컴퓨터를 연결할 수 있음을 의미함
이 때 하나의 회사에서 이 막대한 양의 IP주소를 다 사용할 수 있을리가 없음
하지만 회사의 네트워크는 보안문제로 다른 회사와 절대 공유할 수 없기 때문에
결국 어마어마한 IP주소 낭비가 발생함
B Class : (전체 IPv4의 주소 중 25%를 점유) 중간규모 조직에게 할당
-> 첫 번째 옥텟의 첫 번째 bit와 두 번째 bit 값이 "10"으로 고정되어있는 주소는 "B Class"라고 정함
-> '10'00 0000[128] ~ '10'11 1111[191]
-> IP주소의 첫 번째 옥텟의 주소값이 128~191 사이의 값을 갖는다면, 해당 IP는 B Class가 됨
Net-ID Host-ID (16bit -> 2^16= 65,536)
|----------------------------|-----------------------------|
[10xx xxx . xxxx xxxx . xxxx xxxx . xxxx xxxx]
-> Net-ID의 경우 첫 bit와 두번째 bit가 '10'으로 고정 나머지 14bit는 변하는 값
-> B Class는 총 16,384개의 네트워크를 만들 수 있음 (2^14=16,384)
-> 총 16,384개의 네트워크에서 각 IP주소를 65,536개 만큼 사용 할 수 있음
* 이는 하나의 네트워크에 65,536대의 컴퓨터를 연결할 수 있음을 의미
A Class에 비하면 확연히 줄었지만 역시나 이를 회사가 100% 소화하기는 힘들기에 IP주소 낭비가 발생
C Class : (전체 IPv4의 주소 중 12.5%를 점유) 소규모 조직에게 할당
-> 첫 번째 옥텟의 첫 번째 두 번째 세 번째 bit 값이 "110"으로 고정되어있는 주소는 "C Class"라고 정함
-> '110'0 0000[192] ~ '110'1 1111[223]
-> IP주소의 첫 번째 옥텟의 주소값이 192~223 사이의 값을 갖는다면, 해당 IP는 C Class가 됨
Net-ID Host-ID (16bit -> 2^8= 256)
|---------------------------------------------|--------------|
[110x xxxx . xxxx xxxx . xxxx xxxx . xxxx xxxx]
-> Net-ID의 경우 첫번째 두번째 세번째 bit가 '110'으로 고정 나머지 20bit는 변하는 값
-> C Class는 총 2,097,152개의 네트워크를 만들 수 있음 (2^21=2,097,152)
-> 총 2,097,152개의 네트워크에서 각 IP주소를 256개 만큼 사용 할 수 있음
*이는 하나의 네트워크에 256대의 컴퓨터를 연결할 수 있음을 의미함
D Class : Multicast 통신을 지원하기위해 사용되는 Class
-> IP주소의 첫 번째 옥텟의 주소값이 224~239 사이의 값을 갖는다면, 해당 IP는 D Class가 됨
-> Client에 해당 영역의 IP주소는 할당이 불가능 함
E Class : 실험용으로 예약 된 Class
-> IP주소의 첫 번째 옥텟의 주소값이 240~255 사이의 값을 갖는다면, 해당 IP는 E Class가 됨
-> Global Broadcast (255.255.255.255)만 사용되며, 나머지는 전부 예약
-> Client에 해당 영역의 IP주소는 할당이 불가능 함
[IPv4 제외주소]
-> IPv4의 주소체계에서 사용 용도가 미리 정의되어있는 예약주소 값
-> Client(IP주소를 부여받아야하는 대상)는 예약주소 지정 된 IP주소를 사용 할 수 없음
[A Class 제외주소]
1. "0.x.x.x" : ALL Network 주소, 모든 IPv4 주소를 포함한다라는 의미를 갖는 주소값
2. "127.x.x.x" : Loopback 주소, System 내부에서 프로세스간 통신을 하는데 사용되는 주소값
-> Loopback 주소 : 호스트 자신을 가리키는 IP주소 / 자신이 송신한 패킷을 그대로 수신한 효과를 줌
3. "10.x.x.x" : A Class 영역의 사설 IP주소 대역대 (외부통신이 불가능한 주소)
-> 공인 IP : 외부통신이 가능한 IP주소 / 중복사용 절대 불가 / 비용발생
-> 사설 IP : 내부통신(LAN 환경)만 가능한 IP주소 / 서로 다른 LAN에서 중복사용 가능 / 비용발생하지 않음
-> NAT(Network Access Translation) : 내부 IP주소가 외부 IP주소가 다를 때 같도록 변환시켜줌
*사설 IP가 외부통신이 가능한 것이 NAT 덕분 (사설 IP주소를 공유 IP주소로 변환)
[B Class 제외주소]
1. "169.254.x.x" : APIPA 주소 (자동 개인 주소 지정) -> 운영체제가 스스로 IP를 부여 할 때 사용
2. "172.16.x.x" : B Class 영역의 사설 IP주소 대역대 (외부통신이 불가능한 주소)
[C Class 제외주소]
1. "192.168.x.x" : C Class 영역의 사설 IP주소 대역대 (외부통신이 불가능한 주소)
'네트워크' 카테고리의 다른 글
Router를 통한 외부 통신 정리 (0) | 2022.09.06 |
---|---|
ICMP, ARP 이론 정리 (0) | 2022.09.06 |
Subnet 이론 정리-2 (0) | 2022.09.06 |
Subnet 이론 정리 -1 (0) | 2022.09.06 |
OSI 7계층 이론 정리 (0) | 2022.09.06 |