네트워크 기초 2.IP

2019. 11. 29. 15:45Security/네트워크

* IP 구조

프로토콜의 구조

- IP주소는 자기 네트워크 내에서만 유효하다. 그 유효한 범위를 알려주는게 넷마스크

- IP주소와 넷마스크로 and 연산을 진행하면 네트워크 주소를 확인 가능

 

IP주소의 구조

- 이진수의 경우 판독이 어려움으로 위에서처럼 8bit 씩 10진수로 바꾸어서 읽는다.
ex)

00000001.00000001.00000001.00000001 -> 1.1.1.1
00000001.10000001.00000011.00000001 -> 1.129.3.1

 

고정 netmask

- 네트워크 주소를 구할때 netmask가 11111111(255)와 00000000(0)으로만 구성된 경우 고정 netmask라고 지칭

ex)

IP : 1.1.1.1 (00000001.00000001.00000001.00000001)
netmask : 255.255.255.0 (11111111.11111111.11111111.00000000) 일때,

네트워크 주소는 1.1.1.0(00000001.00000001.00000001.00000000)

 

ex)

IP : 1.1.1.1 (00000001.00000001.00000001.00000001)

netmask : 255.255.0.0 (11111111.11111111.0.00000000) 일때,

네트워크 주소는 1.1.0.0(00000001.00000001.00000000.00000000)

 

- & 연산에서 netmask가 255인 부분은 그대로의 값이고  0인 부분은 언제나 결과가 0이다.

- netmask의 1까지가 네트워크 주소 0부터가 host 주소를 의미

 

다음 각각 IP의 네트워크 주소를 연산.
1) IP : 210.113.29.45 netmask : 255.255.255.0 -> 210.113.29.0 ~ 210.113.29.255 
2) IP : 29.1.210.35 netmask : 255.255.0.0 -> 29.1.0.0 ~ 29.1.255.255 
3) IP : 2.113.1.1 netmask : 255.0.0.0 0 -> 2.0.0.0 ~ 2.255.255.255
4) IP : 10.35.3.9 netmask : 255.255.0.0 -> 10.35.0.0 ~ 10.35.255.255
5) IP : 110.194.129.199 netmask : 255.255.0.0 -> 110.194.0.0 ~ 110.194.255.255
6) IP : 9.213.229.204 netmask : 255.255.255.0 -> 9.213.229.0 ~ 9.213.229.255
7) IP : 8.1.2.4 netmask : 255.0.0.0 -> 8.0.0.0 ~ 8.255.255.255
8) IP : 190.13.48.245 netmask : 255.255.255.0 -> 190.13.48.0 ~ 190.13.48.255

 

class 정책

- ip주소를 할당할때 사용하는 정책중 하나

- netmask와는 전혀 상관이 없다.

- D 클래스는 Mbone(멀티캐스트 백본)에 사용

 

Bogon IP

Bogon IP 목록

- IANA에서 특수한 목적에 사용하도록 정의된 IP

- network address(네트워크의 첫 번째 IP)와 direct broadcast address(네트워크의 마지막 IP)는 할당되지만 사용하면 안 되는 IP

 

 

* Netmask

Netmask와 IP의 관계

네트워크에 A,B,C,D,E라는  host가 있을때 다음의 netmask에서 어떻게 네트워크가 작동하는지 알아보기 
1) 255.255.255.0
A, B, C : 1.1.1.0

D : 1.1.2.0

E : 1.2.1.0

- A, B, C는 네트워크 주소가 같고 D, E는 다름
- A, B, C는 서로 통신이 가능하지만 D,E는 다른 host와 통신이 불가능.(TCP/IP통신)

 

2) 255.255.0.0
A, B, C, D : 1.1.0.0
E : 1.2.0.0
- A, B, C, D가 서로 통신이 가능하고 E는 통신이 불가능.
- 이렇게 네트워크 주소가 다른 경우 서로 통신을 하도록 도와주는 것이 Router, 네트워크 주소가 다른 네트워크
를 연결할 때 각 네트워크의 라우터 인터페이스를 게이트웨이라고 한다.

 

IP

- IP에는 Network ID(네트워크 정보)와 Host ID(컴퓨터 정보)가 포함되어 있음. 

 

netmask

- 통신할 수 있는 범위를 결정해주는 주소. 

 

네트워크 주소

- IP주소와 netmask 주소를 and 연산한 결과

 

브로드 캐스트 주소

- 네트워크 주소의 마지막 주소(대부분 255)

 

segment

- 브릿지, 라우터, 허브, 스위치 등에 의해 묶여있는 단일 네트워크.

- 그림 상으로는 라우터에 묶여있는 A네트워크와 B네트워크가 세그먼트이다.

 

router

- 라우터는 브릿지와 달리 IP 어드레스를 기반으로 작동하는 장비.

- 대역대가 다른 네트워크끼리 게이트웨이를 통해서 패킷을 전달 가능하게 해줌

- 라우터들은 서로의 라우팅 정보를 주고받기 때문에 다른 대역대 네트워크 정보를 스스로 알아서 라우터에 추가.

- 최근에는 게이트웨이의 마지막 주소를 254가 아닌 1로 쓰는 경우가 많음.

 

gateway

- 다른 대역대의 네트워크와 통신하기 위해서 필요.

- 나랑 네트워크 주소가 다르면 패킷을 보내는 곳. 당연히 '나'의 입장에서는 네트워크 주소가 같다. 

- 네트워크 IP주소는 네트워크의 모든 IP 주소중 맨 첫번째 주소이고 브로드 캐스트 주소는 네트워크의 모든 IP주소중 가장 마지막 주소이며 개인 IP로 사용하지 않는다.

 

* ROUTING

router
- OSI 7계층중 3계층 장비
- IP를 기반으로 최적의 경로를 배정하는 라우팅을 담당.
- Broadcast Domain을 분할.


static routing
- 일반적으로 router가 routing table을 관리하지않고 상위 router에게 routing을 의존하는 경우로 routing 경로가
하나인 경우 사용.
- Traffic 발생량이 비교적 적은 경우 사용하지만 많이 발생해도 상관 없음
- 경로를 관리자가 직접 설정.
- 직접 설정하는 것이므로 실시간으로 변화하는는 환경에서는 부적절.
- 소규모 네트워크에서 사용.

 

ICMP redirect

- 최근에는 사용하지 않기때문에 icmp가 발생하는 경우 공격 당하는 경우 일 수 있어서 무시하는 경우가 많다.

1. 네트워크에 router가 2개가 있고 static routing이 아닌 경우 가능.

2. router1이 게이트웨이라고 가정하면 모든 네트워크들은 패킷을 router1에게 전송

3. 만약 router2로 내보내는게 빠르다고 판단이 되면 router1에서 router2로 전송하는데 이 과정에서 router1이 네트워크에 router2가 빠르다고 알려줌.

4. 이후부터는 네트워크에서 router2로 패킷 전송

5. 만약 router2가 공격자라면 특정 패킷을 계속해서 감시할 수 있음. 

 

* ARP(Address Resolution Protocol)

- 시스템이 알고 있는 통신 상대방의 IP 주소를 이용해 MAC 주소를 알아내는 프로토콜(상대방의 IP는 아는데, mac 주소는 모를때)

- 논리적인 IP주소를 물리적인 MAC 주소로 변환해주는 역할을 수행

- 호스트는 ARP 요청 메시지를 보낼 때 수신측 MAC주소를 모르고 있기 때문에 물리계층 브로드캐스트를 통해 모든 호스트에게 수신측의 MAC 주소를 요청하는 패킷을 전송

 

* NAT(Network Address Translation) 
- 시스템의 IP 변환 기술을 의미.

- 부족한 공인 IP로 인한 문제를 완화하기 위한 기술로  주로 사용.

 

사용 목적 
- IPV4 부족 해결 
- 공인 IP의 고비용 해결 
- 내부 정보 노출 최소화를 통한 보안 강화(외부에서 내부 IP를 알수 없음으로 침입이 어려움)

외부에서는 어느 컴퓨터인지 알 수 없다.

NAT의 종류 
- Static NAT 
- Dynamic NAT

 

NAT를 위한 사설 IP 
- A class : 10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8) 
- B class : 172.16.0.0 ~ 172.31.255.255 (172.0.0.0/12) 
- C class : 192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)