나리 집사 2023. 8. 31. 09:20

이론

VLSM (Variable Length Subnet Mask)

1) 네트워크를 크기순으로 배열

2) 각 네트워크를 계산

3) 다음 네트워크의 대표주소도 자연스럽게 결정

 

네트워크의 주소부터 계산하는 것보다, 크기 순서대로 배열하면 틀릴 일이 없으니까 그렇게 계산해라.

 

10.10.10.0 /24 VLSM

1. 60 host = 64  10.10.10.128/26

2. 120 host = 128  10.10.10.0/25

3. 33 host = 64  10.10.10.192/26

 

라우팅 프로토콜 (정적, 동적)

정적 프로토콜과 동적 프로토콜

 

정적 프로토콜

Distance Vector : RIP(Routing Information Protocol)

가공된 정보를 제공한다.

 

동적 프토토콜

Link- state : OSPF(Open-Shortest Path First)

OSPF를 주로 사용할 것이고, 매우 중요하다.

가공되지 않은 정보를 제공한다.

 

   R2

R1  R4

   R3

 

스스로 계산해서 어떤 packet을 보낼지 정보를 알아서 구성한다.

 

무조건 Area 0 이 존재 해야한다.(백본 area)

내가 속한 네트워크를 전부 광고(Advertising)해준다.

 

와일드카드 마스크

IP 주소에서 비트 단위의 마스크를 의미한다.

  • '0' 은 해당 비트 위치에서 정해진 비트 값과 정확하게 일치해야 한다. (일치 여부 검사 필요)
  • '1' 은 해당 비트 위치에서 어떠한 비트 값과도 일치할 수 있다. (일치 여부 검사 불필요)
    • 즉, 비트 '1' 값이면, 0 또는 1 모두 허용한다.

SM에서 1= fixed, 0=don't care

와일드카드 마스크 0=fixed, 1= Don't care

 

1.1.1.10

00000001.00000001.00000001.00001010 => IP주소

00000000.00000000.00000000.00000000 => 0,1을 바꾸면 Subnet Mask

 모든 자리가 일치해야 한다 = 1.1.1.10 그 자체다.

 

디테일하게 대상을 한정지을 수 있다.

세세하게 대상을 컨트롤하고 싶을 때 Wildcard Mask를 많이 쓴다.

Routing Protocol에서도 Wildcard Mask를 많이 쓴다.

 

실습

VLSM 이론

10.20.30.40 /24

A 네트워크 = 31 host

B 네트워크 = 100 host

C 네트워크 = 14 host

VLSM으로 IP 낭비가 최소화되도록 서브넷팅 하세요.

 

B = 100 host 규모: 128 = 2^7→ /25 → 10.20.30.0 /25

A = 31 host 규모: 64=2^6 → /26 → 10.20.30.128 /26

C = 14 host 규모: 64=2^4 → /28 → 10.20.30.192 /28

 

 

VLSM 실습

 

구해야하는 네트워크

211.183.3.128 /27

 

필요한 것

10 host 규모 16 = 4비트 필요함  211.183.3.128 /28

2 host 규모 4 = 2비트 필요 211.183.3.144 /30

2 host 규모 4 = 2비트 필요 211.183.3.148 /30

 

# <R1>
Router(config-if)#int f0/1
Router(config-if)#ip add 211.183.3.145 255.255.255.252
Router(config-if)#no sh
Router(config-if)#ip helper-address 211.183.3.150
Router(config-if)#int f1/0
Router(config-if)#ip add 211.183.3.129 255.255.255.240
Router(config-if)#no sh
Router(config-if)#ip helper-address 211.183.3.150
Router(config-if)#int f0/0
Router(config-if)#ip add 211.183.3.149 255.255.255.252
Router(config-if)#no sh

# <R2>
Router(config)#int f0/0
Router(config-if)#ip add 211.183.3.150 255.255.255.252
Router(config-if)#no sh
Router(config-if)#do ping 211.183.3.149
Router(config-if)#ip route 211.183.3.144 255.255.255.252 211.183.3.149
Router(config)#ip route 211.183.3.128 255.255.255.240 211.183.3.149
Router(config)#do ping 211.183.3.145
Router(config)#do ping 211.183.3.129
Router(config)#ip dhcp pool 1
Router(dhcp-config)#network 211.183.3.144 255.255.255.252
Router(dhcp-config)#default-router 211.183.3.145
Router(dhcp-config)#exit
Router(config)#ip dhcp pool 2
Router(dhcp-config)#network 211.183.3.128 255.255.255.240
Router(dhcp-config)#default-router 211.183.3.129
Router(dhcp-config)#exit
Router(config)#ip dhcp excluded-address 211.183.3.145
Router(config)#ip dhcp excluded-address 211.183.3.129

 

OSPF 실습

바이러스 및 위협 방지 설정을 모두 끈다.

GNS 프로그램을 통해 IOS router를 설정한다.

이후 GNS 프로그램으로 라우터를 설정한다.

 

 

 

  • OSPF 설정
    • 무조건 Area 0이 존재해야 한다. (백본 area)
    • 내가 속한 네트워크를 광고(Advertising)해준다.
  • OSPF 광고 방법
    • 인터페이스의 주소 자체를 광고(되도록이면 이걸 쓰는게 좋다)
      • network <직접 연결된 네트워크의 대표주소> <와일드카드 마스크> <area nubmer>
    • 속한 대역을 직접 광고
      • network <직접 연결된 네트워크의 대표주소> <와일드카드 마스크> <area nubmer>
    • ex) 1.1.1.0 /24
      • network 1.1.1.0 0.0.0.255 area 0
  • OSPF 명령어
    • router ospf 10
      • router = 라우팅 프로토콜, ospf = ospf 프로토콜, 10 = <process ID>.
    • router-id 1.1.1.1
      • 각 라우터를 식별
    • network 1.1.1.10 0.0.0.0 area 0
      • network = 광고, 1.1.1.10 = 내가 갖고 있는 인터페이스 주소, 0.0.0.0 = 와일드 카드 마스크, area, 0 = backbone area, OSPF를 구성할 때 반드시 존재해야 하는 area
# <R1>
R1(config-if)#int f0/0
R1(config-if)#ip add 1.1.1.10 255.255.255.0
R1(config-if)#no sh
R1(config-router)#router ospf 10
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.10 0.0.0.0 area 0

# <R2>
R2(config-if)#int f0/0
R2(config-if)#ip add 1.1.1.20 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f0/1
R2(config-if)#ip add 2.2.2.10 255.255.255.0
R2(config-if)#no sh
R2(config-if)#router ospf 10
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 1.1.1.20 0.0.0.0 area 0
R2(config-router)#network 2.2.2.10 0.0.0.0 area 0

# <R3>
R3(config)#int f0/1
R3(config-if)#ip add 2.2.2.20 255.255.255.0
R3(config-if)#no sh
R3(config-if)#router ospf 10
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 2.2.2.20 0.0.0.0 area 0

 

과제

과제1 : OSPF

내부(사설) 네트워크 10.10.10.128 /25

A - 40 host 10.10.10.128 /26

B - 10 host 10.10.10.192 /28

R1-R2 128.30.20.16 /30

R2-R3 128.30.20.20 /30

 

OSPF 설정

1. 라우터ID

2. 광고 - do sh ip int br 정보를 보면서 모든 인터페이스를 광고

 

# <R1>
# 기본설정
R1(config-if)#int f0/0
R1(config-if)#ip add 128.30.20.17 255.255.255.252
R1(config-if)#no sh
R1(config-if)#do ping 128.30.20.18
# OSPF 라우팅
R1(config-if)#router os 10
R1(config-router)#router-id 1.1.1.1
R1(config-router)#do sh ip int b
# 광고하기 위해 내가 갖고 있는 인터페이스들을 확인
R1(config-router)#network 128.30.20.17 0.0.0.0 a 0
R1(config-router)#net 10.10.10.130 0.0.0.0 a 0
# DHCP helper address 설정
R1(config-router)#int f0/1
R1(config-if)#ip helper-address 128.30.20.18
#dhcp client가 속한 네트워크의 GW인터페이스에서 discover 메세지가 dhcp server에 도달할 수
있도록 helper-address 설정.
# 128.30.20.18 = dhcp server

# <R2>
# 기본 설정
R2(config)#int f0/0
R2(config-if)#ip add 128.30.20.18 255.255.255.252
R2(config-if)#no sh
R2(config-if)#int f0/1
R2(config-if)#ip add 128.30.20.21 255.255.255.252
R2(config-if)#no sh
# OSPF 라우팅
R2(config-if)#router os 10
R2(config-router)#router-id 2.2.2.2
R2(config-router)#do sh ip int br
R2(config-router)#net 128.30.20.18 0.0.0.0 a 0
R2(config-router)#net 128.30.20.21 0.0.0.0 a 0
# DHCP pool 설정
R2(config-router)#ip dhcp pool a
R2(dhcp-config)#default-router 10.10.10.130
R2(dhcp-config)#network 10.10.10.128 255.255.255.192
R2(dhcp-config)#exit
R2(config)#ip dhcp pool b
R2(dhcp-config)#default-router 10.10.10.200
R2(dhcp-config)#network 10.10.10.192 255.255.255.240
R2(dhcp-config)#exit
R2(config)#ip dhcp excluded-address 10.10.10.130
R2(config)#ip dhcp excluded-address 10.10.10.200

# <R3>
# 기본설정
R3(config)#int f0/1
R3(config-if)#ip add 128.30.20.22 255.255.255.252
R3(config-if)#no sh
R3(config-if)#int f0/0
R3(config-if)#ip add 10.10.10.200 255.255.255.240
R3(config-if)#no sh
R3(config-if)#do ping 128.30.20.21
# OSPF 라우팅
R3(config-if)#router os 10
R3(config-router)#router-id 3.3.3.3
R3(config-router)#do sh ip int b
R3(config-router)#net 10.10.10.200 0.0.0.0 a 0
R3(config-router)#net 128.30.20.22 0.0.0.0 a 0
R3(config-router)#do ping 10.10.10.130 source 10.10.10.200
# helper-address 설정
# source : 출발지를 10.10.10.200으로 지정
R3(config-router)#int f0/0
R3(config-if)#ip helper-address 128.30.20.21

 

 

과제2 : VLSM

1) 192.168.0.0 /24 위 네트워크를 나누어 각 팀별로 운영 120대 , 마켓 60대 , 홍보 30대 ,영업 2대 , 인사 2대의 호스트를 두고자 한다. 적절하게 VLSM 하여 팀별 서브넷을 구하시오.

운영 : 마켓 : 홍보 : 영업 : 인사 :

 

2) 아래의 그림을 적절하게 VLSM 하여 최적의 서브넷을 구하시오

Branch1의 네트워크 :

Branch2 의 네트워크:

Branch3 의 네트워크:

Central 의 네트워크:

Branch1 - Central 의 네트워크:

Branch2 - Central 의 네트워크:

Branch3 - Central 의 네트워크:

 

R1의 네트워크

R2의 네트워크

R3의 네트워크

*20% 증설계획은 무시하고 푸세요!

 

R1-R2의 네트워크

R2-R3의 네트워크

R3-R1의 네트워크