일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 해킹
- Spring Framework
- webhacking
- system hacking
- Shell code
- Pwnable.kr
- OS
- Buffer Overflow
- Operating System
- 웹해킹
- System
- Lord of BOF
- 정보처리기사 실기
- hacking
- LOB
- Payload
- BOF
- PWN
- stack overflow
- 운영체제
- 네트워크
- Spring
- Spring MVC
- webhacking.kr
- 정보보안기사
- 워게임
- wargame
- pwnable
- 정보보안기사 실기
- SQL
- Today
- Total
DongDD's IT
IPv4 Address - Classful addressing, Network id, Cast, Classful subnet 본문
IPv4 Address - Classful addressing, Network id, Cast, Classful subnet
DongDD 2017. 8. 27. 15:15IPv4 Address
IPv4 Address
- 32bits long
- 유일한 주소
- 2^32까지 사용할 수 있음
- 2진수, 10진수, 16진수로 나타낼 수 있음
ex) 10000000 00000001 00001111 00001101
128 . 1 . 15 . 13
-> 10진수+2진수 형태로 나타내는 것은 불가능
-> 앞의 0은 생략
-> 10진수로 나타낼 경우 값의 범위는 0~255
Classful address
- 주소에 따라 구분, 관리하기 쉽게 class로 나누는 방식
1) Class A
- 2^31개의 주소를 가지고 있음
- 2진수로 나타냈을 때 첫 자리가 0으로 시작하는 주소
- 10진수로 나타냈을때 첫 바이트가 0~127로 시작하는 주소
2) Class B
- 2^30개의 주소를 가지고 있음
- 2진수로 나타냈을 때 10으로 시작하는 주소
- 10진수로 나타냈을때 첫 바이트가 128~191로 시작하는 주소
3) Class C
- 2^29개의 주소를 가지고 있음
- 2진수로 나타냈을 때 110으로 시작하는 주소
- 10진수로 나타냈을때 첫 바이트가 192~223로 시작하는 주소
4) Class D
- 2^28 주소를 가지고 있음
- 2진수로 나타냈을 때 1110으로 시작하는 주소
- 10진수로 나타냈을때 첫 바이트가 224~239로 시작하는 주소
5) Class E
- 2^28 주소를 가지고 있음
- 2진수로 나타냈을 때 1111으로 시작하는 주소
- 10진수로 나타냈을때 첫 바이트가 240~255로 시작하는 주소
Network ID, Host ID
Class에 따라 network id byte 수가 달라짐
1) Class A : 1 bytes, 2^7개의 block
2) Class B : 2 bytes, 2^14개의 block
3) Class C : 3 bytes, 2^21개의 block
network id가 n bits이면 host id는 32-n bits
일반적인 Network에서 network의 시작주소는 Network address로 사용하여 device에 할당하지 않고 마지막 주소는 broadcast용으로 남겨두기 위해 device에 할당하지 않음.
- Network address : host id의 bit가 모두 0
- Broadcast address : host id의 bit가 모두 1
Router는 routing table의 크기를 줄이기 위해 모든 주소를 갖지 않고 Network address만 가지고 관리함
Network Mask
- Network address를 알아내기 위한 Mask
- netid 부분이 모두 1 bit인 Mask를 가짐
- 해당 Class에 해당 network mask를 AND연산하면 Network address를 구할 수 있음
ex) 201.24.67.32
-> 201 -> class C
-> 255.255.255.0 과 AND 연산
-> 201.24.67.0 (Network address)
Cast
1) unicast
- 1:1 방식으로 데이터를 전송하는 방식
2) broadcast
- 1:all 방식으로 데이터를 전송하는 방식
3) multicast
- 1:n 방식으로 특정 그룹에게 데이터를 전송하는 방식
Classful Subnet Network
- 데이터를 전송하기 위해 MAC주소를 알아올 때 broadcast 전송을 해야하는데 network에 있는 모든 주소에 데이터를 전송하는 Broadcast방식을 사용할 때 생기는 비효율성을 막기 위해 subnet을 나눠서 구축함
- 유지, 관리하기가 더 편해짐
- 성능, 보안성을 향상시킬 수 있음
- site router : subnet을 나누기 위한 router로 subnet의 갯수를 알고 있어야하고 각 subnet의 network address로만 data를 보내면 subnet 안에서 처리함
subnet mask를 구하기 위해 network mask+ log2(subnet 개수)하여 subnet mask를 구할 수 있음
ex) class B를 사용하는 Network의 subnet 갯수 7개
class B의 Network mask : 255.255.0.0 -> 11111111.11111111.00000000.00000000
subnet 개수 7개 -> 7개를 표현하기 위해 총 3개의 bit필요
subnet mask : 255.255.224.0 -> 11111111.11111111.11100000.00000000