일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Shell code
- wargame
- stack overflow
- 정보보안기사
- System
- 정보처리기사 실기
- OS
- Operating System
- system hacking
- Lord of BOF
- hacking
- Payload
- Buffer Overflow
- Pwnable.kr
- 운영체제
- 네트워크
- pwnable
- 정보보안기사 실기
- webhacking.kr
- Spring MVC
- 해킹
- PWN
- LOB
- webhacking
- Spring Framework
- BOF
- 워게임
- Spring
- 웹해킹
- SQL
- Today
- Total
DongDD's IT
IPv4 Address - Classless network, slash notation, subnet rule, special address, NAT 본문
IPv4 Address - Classless network, slash notation, subnet rule, special address, NAT
DongDD 2017. 8. 28. 14:46IPv4 Address
Classless Network
- Classful과 달리 특정한 기준으로 address가 나눠져 있지않음
- bit 단위의 mask가 필요
- netid : prefix, hostid : suffix
Slash Notation
- Classless network의 prefix를 알기 위해 사용
ex) 132.123.54.32/26
-> prefix : 26
-> 이 형태로 표시해줘야함
Subnet rule
- 작은 순서로 subnet을 나눴을 때 사용되지 않는 경우가 생김
-> address수가 많은 순대로 하면 뒷부분에 사용하지 않는 부분이 남음
ex) 14.24.74.0/24
block 1 : 120 addresses, block 2 : 60 addresses, block 3 : 10 addresses
1. 큰 순서대로 했을 경우
14.24.74.00/000000 -> subnet이 3개이므로 2 bit 사용
1) block 1 : 14.24.74.00000000/25 ~ 14.24.74.01111111/25 (128 addresses)
2) block 2 : 14.24.74.10000000/26 ~ 14.24.74.10111111/26 (64 addresses)
3) block 3 : 14.24.74.11000000/28 ~ 14.24.74.11001111/28 (16 addresses)
나머지 부분이 뒷부분에 남게 됨 (14.24.74.11010000~)
2. 작은 순서대로 했을 경우
1) block 1 : 14.24.74.00000000/28 ~ 14.24.74.00001111/28 (16 addresses)
2) block 2 : 14.24.74.01000000/26 ~ 14.24.74.01111111/26 (64 addresses)
3) block 3 : 14.24.74.10000000/25 ~ 14.24.74.11111111/25 (128 addresses)
빈 공간이 중간 중간에 배치되게 됨
Special addresses
1) all-zero address
- 자신의 주소를 모를 때, broadcast로 DHCP server로 부터 IP를 얻어오기 위해source address에 all-zero address 사용
- 모든 bit가 0인 주소(0.0.0.0)
2) limited broadcast address
- 같은 network 안에 있는 모든 destination에 전송할 때 사용
- 모든 bit가 1인 주소(255.255.255.255)
- Router가 다른 network로 보내지 않도록 block함
3) loopback address
- Layer들이 잘 동작되고 있는지 스스로 확인하기 위해 사용
- 실제 네트워크에는 들어가지 않음
- 127.x.y.z의 주소 사용
4) directed broadcast address
- suffix(hostid)는 다 1이고, prefix(netid)는 그대로인 주소
- 즉, Network의 마지막 주소(broadcast용)
- prefix가 같은 network로만 보내기 때문에 해당 network에 속한 destination만 받게 됨
NAT(Network Address Translation)
- Network에 할당된 주소에는 한계가 있기 때문의 가상의 network를 만들어 IP를 할당하고 WAN으로 나갈 때 LAN의 주소를 변환해서 보내주는 역할을 함
Example )
1) LAN안의 10.0.0.1, 3345 port에서 WAN의 128.119.40.186의 80 port로 접속하기 위해 packet을 전송함
2) NAT router가 가지고 있는 NAT translate table에 자신의 WAN주소와 임의의 port에 LAN에서 온 전송을 Mapping 시켜 저장함. (각 전송은 Port에 Mapping 시켜 저장함)
5002 : 10.x.y.z port
5003 : 10.x.y.z port . . .
-> 이후에 source를 Router의 주소와 port로 바꾼후 전송함
3) WAN에 있는 destination에 packet도착하면 바뀐 source였던 router의 WAN주소와 Port로 reply를 전송
4) 해당 reply가 router에 도착하면 NAT translation table을 보고 LAN안의 해당 주소로 packet을 보냄