Study/Information Security

클라우드 정보 보안 수업 자료 및 정리 [20회차, RAID, OSPF, OSPF redistribute, ASBR, ABR]

imaginefuture-1 2024. 12. 20. 17:49

 

2024-11-25~2025-05-13

 

정식 수업~

 

매주 월화수목금 9시30분-6시30분까지 과정

 


 

 

RAID

 

RAID~는 하드웨어이자 소프웨어입니다아
백업! 이중화! 복구! 시스템 장애 발생시! 도움!

RAID는 종류가 짱많아서 우린 자주 쓰는것만 공부할꺼에요~

예) 하드 5개 사용중 2개가 고장남, 3개가 5개 역할하는거임 1/N해서

 

 

출처 ㅣ https://kr.icydock.com/resources/data_storage_guide_267.html

 RAID 0번


RAID 0번은 복구가 안되영 왜? 근데 이거 하냐? 하드를 읽는데 1분이 걸린다했을때, 16개가 있으면 16분인데

4개를 1번에 읽어서 total 4분 걸리는거지. 그니까 하드가 많을수록 읽는 성능이나 속도가 아주 빠름(스트라이핑으로)

어디에 데이터가 들어갈지는 운영체제의 마음이긴함

하지만 속도는 아주 빨라진다구 하지만 복구 능력..0%

 

RAID 0번은 두가지로 나눠지는데

1. 가로로 데이터를 채우거나 Linear 순차저장 방식(1번부터)

2. 세로로 데이터를 채우거나  Striping 분산 저장 방식

 

최소 하드 2개 이상이 있어야함. 그래야 RAID 0을 구축 가능 

 

RAID 1번

 

RAID 1번이 최고의 고장 성능 보장 대신 돈 짱많이 듬

 

 A라는 데이터를 넣으면 B에 바로 또 A데이터가 들어가짐

그래서 MIRRORING라고도 부름

RAID 1번이 최곤데 돈 문제 ㅜㅜ

 

 

출처 ㅣ https://www.stevenjlee.net/2020/03/01/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-raid-%EA%B5%AC%ED%98%84-%EB%B0%A9%EC%8B%9D%EA%B3%BC-%EC%A2%85%EB%A5%98%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC/

 

 

RAID 2

가는데 시간 걸림

 

 

 

 

RAID 3

패리티비트가 장애가 나면 단점 복구 X  가는데 시간 걸림

 

 

RAID 4

얘는 저장단위가 BLOCK이라 RAID3보다는 빠름~

 

RAID 5

별명 X 그냥 패리티비트 사용하는 레이드

실무에서 제일 많이 쓰는거

지금까지 나온건 (RAID 0 1 2 3 4)최소하드2개씩인데 얘는 최소하드 3개이상

 

예) 전체 하드 5개다? 5개로 나눠 전체 하드 10개다? 그 안에 또 10개로 쪼개

1첫번째 하드는 맨밑에, 2번째하드는 밑에서 두번째, 3번째 하드는 밑에서 3번째 패리트 비트 넣기

 

그리고 어 데이터 깨졌다!!!하면, 바로 패리티 비트가 대처되는거임 

패리티하는게 데이터가 정상인지 비정상인지 점검하는 용도

패리티는 1. 짝수 2. 홀수 나뉨

예를들어 1 0 1 0 1 X 1(어 뭐야 앞에 0이 고장났네 내가 0으로 변경 ㄱㄱ하게되는거임)

패리티는 데이터X 백업 용O

 

RAID 6

더블패리티 그럼 6번~~ 역할은 같아요

두개의 패리티가 감시하니까 더 안정적이겠지

 

 

 

RAID 7

2,3,4번의 업그레이드 버전이라 생각하면됨

운영체제를 별도로 만들어서 실시간 관리하는거임

깨졌다!! 그러면 후다닥 복구하는거임-

 

 

RAID 10

RAID 0+1번을 합친거임 

하드는 1개로 저장되지만 그 안에 1/2로 저장된거임 백업 RAID1로

 

RAID 53

RAID 5번이랑 3번 합친거임

 

 


 

 

리눅스 RAID 실습

 

mdadm은 raid 구성 패키지임

 

로키에는 mdadm  내장되어있고 나머지는 안되어있음

 

 

sudo su - 는 원격으로 들어가는거라 cli만되고 gedit은 못들어가는거임 CLI(Command Line Interface)

그냥 vi ㄱㄱ

root 권한인것처럼 하는 명령어 = sudo 그럼 sudo gedit하면짜자잔 열리죠

 

우분투로 이동 root 자동 로그인 세팅부터 할꺼임

 

gedit /etc/gdm3/custom.conf

 

10라인 주석 해제 11번 user1--> root로 변경

 

19번 라인에 AllowRoot=true 문구 추가

 

최종모습
/etc/pam.d/gdm-password 파일에서 3번 라인 주석처리

 

 

 

/etc/pam.d/gdm-autologin파일에서 3번 라인 주석처리 이후 init 6 하면 자동으로 루트 로그인으로 시작한다

 

 

리눅스에 raid를 세팅해보자 

순서는 아래와 같다


1. 레이드 패키지설지

dnf install -y mdadm

2. 레이드 타입으로 파티션 생성

fdisk /dev/sdb

n->p->1->enter->enter->t->fd->p->w

3.레이드 생성

mdadm --create

4.파일 시스템 생성

mkfs.ext4 /dev/md0

5. 마운트

mkdir /striping

mount -t ext4 /dev/md0 /striping

6.자동마운트

gedit /etc/fstab 파일에 등록

7. 재부팅하여 자동 마운트 확인

 

 

 

 

1. RAID 우분투 패키지 설치 방법

 

 

mdadm이 잘 설치된걸 볼 수 있다

 

 

df -h에서 -h는 휴먼이 보기 쉽게 해주는 명령어

 

--help는 도움말~~ 리눅스에서는 --하이픈 두개에 단어를 다 붙여주고 -하이픈 한개일때는 약어를 쓴당

 

 

요게 df

 

 

 

요게 du

 

 

du -h /home

 

 

우린 하드 RAID 작업할꺼라 Mount 되어있는걸 umount 걸어준다 umount /SDB umount /SDC umount /SDD

 

 

 

 

 

2. 레이드 타입으로 파티션 생성

fdisk /dev/sdb해서 들어가 l 해서 보면 83보면 linux라 되어있는데 기본 세팅이다, 우리는 raid 쓸꺼라 FD로 할꺼다 82는swap 가상메모리다 8E lvm 팔에코~ 참고로 말할땐 알파 에이야~ 숫자2 알파벳2 요거 에코만 조심하기! 하드를 fdisk로 파티션 만들고 ntfs할당하면 윈도우용이되는거임 굿~!

 

작업시작 sdb~sdk 까지

d->n->p->1->enter->enter->t->fd->p->w

 

 

잘됐다

 

 

근데 일일히 세팅하기 귀찮지않냐...이걸 한번에 하는 명령어가 있다 sfdisk!

 

 

tmp 권한을 보면 sticky bit가 설정되어있다. 자유방이다 그래서 만약 user3인 내가 파일을 공유해주고싶은데/home/user3에서 못벗어나니까, 그렇다고 권한 주면 보안 위험있으니까 tmp 자유방에서 공유하고 서로 교환하는거다 fdisk 파일을 그래서 tmp에 집어넣고(백업-d)한다음 -f를 통해 포맷 줏어오는거다 이걸 또 일일히 안하고 gedit fdisk_raid.sh 만들어서 명령어 복붙한다음 sh fdisk_raid.sh 하면 야무지게 자동 스크립트가 돌아간다

 

sfdisk -d /dev/sdb > /tmp/sdb.dmp

sfdisk -f /dev/sdb < /tmp/sdb.dmp

 

한번에 확인 명령어 

fdisk -l /dev/sd[b-k]

 

 

fdisk -l /dev/sd[b-k] 한번에 확인 잘된다

 

3.레이드 생성

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1 레이드 이름은 /dev/md[0-5] 그리고 레이드 레벨 설정해주기 우린 raid 0할꺼라 0번 그다음 raid에 필요한 최소하드는 2개 우리는 /dev/sdb1이랑 /dev/sdc1을 쓸꺼다 여기서 숫자는 꼭 붙여줘야한다 하드를 통째로 쓰는게 아니라 하드안의 파티션을 쓸꺼니까
우리가 설정한 레이드 0 md0를 확인하러가보자 cat /proc/mdstat
mdadm --detail /dev/md5 보고서로 보여준다 캬 ~~

 

4.파일 시스템 생성

mkfs.ext4 /dev/md0

 

 

 

 

 

 

 

 

 

5. 마운트

mkdir /striping

mount -t ext4 /dev/md0 /striping/

df -h

cd /striping/

touch 1.txt 2.txt 3.txt

 

 

 

 

 

 

 

 

 

6.자동마운트

gedit /etc/fstab 파일에 등록

/dev/md0              /striping         ext4      defaults           0 0

 

 

 

 

7. 재부팅하여 자동 마운트 확인

 

굳 ㅋㅋ

 

8. raid를 아예 해제해버리자

8-1 umount /dev/md0

8-2 mdadm --stop /dev/md0

 

 

 

8-3 fdisk /dev/sdb1   fdisk /dev/sdc1 에서 다 삭제 

 

 

 

9. 복습 시작 /dev/sdd1랑 /dev/sde1 이용해서 raid1 구성하기 및 해제 복구까지

전에 했던 sdd랑 sde를 fdisk에서 안지우고 했더니 이렇게 뜬다 y누르니 이어서 진행됐다

 

 

 

 

 

 

확인

 

확인 2

 

 

 

해제 시작 및 복구

 

안먹히는데? 그럼 다르게 가보자

복구해보자

/dev/sdd1이랑 /dev/sde1이랑 raid1 걸었었다가 /dev/sdd가 장애가 났다 해보자

/dev/sde1이랑 /dev/sdf1이랑 걸어서 확인해보면 어머 짜자잔 파일이 계속 살아있네요?

/dev/sdf1이랑 /dev/sde1이랑 걸어서 또 확인해보면 어머머 짜자잔 파일이 계속 살아있네요?

네~ /dev/sdk1까지 해보면 데이터가 잘 살아있는걸 확인할 수 있을거예요~~ 실습 해봅시다

아 현장은 이렇게 수동으로 안하고 자동으로 합니다^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

굳 ㅋㅋㅋ이렇게 sdk까지 달리면된다 근데 내가 sdk랑 sdb랑 raid0으로 묶어놓아서 sdj까지만달림

 

 

 

굳 ㅋㅋ

 

 

 

윈도우에서 하드 설정을 해보자

 

 

미러 클릭
추가하고 예예예~

 

잘 레이드1이 되었다

 

한개로 보인다
e에 넣어본다

 

 

 

 

 

어어멋 오류 발생ㅋㅋ

 

 

 

 

두개로 나눠졌다

 

 

하지만 여전히 f에도 데이터가 살아있다

 

 


 

오후 네트워크수업

1219-5 EIGRP 어제 랩 그대로 사용할꺼임

 

 

 

1번에 장애가 생기면 2번이 알아서 장애가 다운되는걸 우리는 눈으로 확인할꺼에요 sia현상 볼꺼임 (Stuck In Active)  r3---r4 다른프로토콜 쓰거나, 재분배하면 해결 완료

 

 

 


 

OSPF 드디어!!

 

 

OSPF는 무조건 wild mask 써야함 

classful 방식을 지원안함 오로지 classless 방식만 쓰는거임 서브네팅 지원

실전에서 ospf show ip ro 하면 4천개 정도가 나옴

 

우린 내부야 외부야 구분하기 위해 area를 씀

area 숫자가 다르면 외부로 구분하는거임

 

라우터가 50개이상일 경우 ospf 적극 권장!

 

eigrp처럼 convesion 속도 매우 빠름~ 즉시즉시

변화가 있을때만 업데이트~

단일영역일 경우 area0으로 권장!

ad값은 110 

 

muticast

224.0.0.5

224.0.0.6

 

area 2개 이상일경우에는 반드시 area0번을 써야함 = backbone area라고도 부름 backbone=중추적인 역할을 하는것 척추

백본 네트워크, 백본 에리아= 회사에서 제일 중요한 네트워크

 

%주의% 백본이외의 area1이랑 area2는 서로 못 이어짐 즉 직접 못붙음, backbone을 통해서만 갈 수 있음 backbone은 통틀어서 한개만 있어야함
요런 형태만 가능 backbone 통해서만 가야함

 

 

 

 

핑 잘떨어진다

 

오후 2:50 2024-12-20

1220-01 OSPF LAB CONFIG

서브넷은 다 같음
OSPF 100임
REDISTRIBUTE는 없음 
AREA는 0임

PC1
ip 172.16.1.1/24 172.16.1.254
PC2
ip 172.16.1.2/24 172.16.1.254
PC3
ip 192.168.100.3/24 192.168.100.254
PC4
ip 192.168.100.4/24 192.168.100.254
PC5
ip 192.168.1.5/24 192.168.1.254
PC6
ip 192.168.1.6/24 192.168.1.254


R1

conf t

int e0/0
ip add 172.16.1.254 255.255.255.0
no sh


int s2/0
ip add 10.1.1.1 255.255.255.0
no sh

router ospf 100
network 172.16.1.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0
end
copy r start

R2

conf t

int e0/0
ip add 192.168.100.254 255.255.255.0
no sh


int s2/0
ip add 10.1.1.2 255.255.255.0
no sh

int s2/1
ip add 10.2.2.2 255.255.255.0
no sh


router ospf 200
network 192.168.100.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0
network 10.2.2.0 0.0.0.255 area 0
end
copy r start


R3


conf t

int e0/0
ip add 192.168.1.254 255.255.255.0
no sh


int s2/0
ip add 10.2.2.3 255.255.255.0
no sh


router ospf 300
network 192.168.1.0 0.0.0.255 area 0
network 10.2.2.0 0.0.0.255 area 0
end
copy r start

 

 

 


1220-02_OSPF 2 LAB CONFIG

 

 

 

 

r1에도 짱짱히 잘 들어가있다

 

r10에도 잘들어와있다

 

 

오후 3:51 2024-12-20
1220-02_OSPF 2 LAB CONFIG

서브넷 다 같음
OSPF
R1-R10 RIP 사용
AREA는 총 3개 0 1 2
IP 2개 ASBR 1개 ABR 1개
전체네트워크는
172.16.1.0
172.16.2.0
172.16.3.0
172.16.4.0
172.16.5.0
172.16.6.0
172.16.7.0
172.16.8.0
172.16.9.0
192.168.10.0


PC1
ip 172.16.1.1/24 172.16.1.254
PC2
ip 172.16.2.2/24 172.16.2.254
PC3
ip 172.16.3.3/24 172.16.3.254
PC4
ip 172.16.4.4/24 172.16.4.254
PC5
ip 172.16.5.5/24 172.16.5.254
PC6
ip 172.16.6.6/24 172.16.6.254
PC7
ip 172.16.7.7/24 172.16.7.254
PC8
ip 172.16.8.8/24 172.16.8.254
PC9
ip 172.16.9.9/24 172.16.9.254
PC10
ip 192.168.1.10/24 192.168.1.254
--------------------------------------------------------






R4

conf t

int e0/0
ip add 172.16.4.254 255.255.255.0
no sh

int s2/0
ip add 172.16.34.4 255.255.255.0
no sh

int s2/1
ip add 172.16.45.4 255.255.255.0
no sh

int s2/2
ip add 172.16.46.4 255.255.255.0
no sh

int s2/3
ip add 172.16.47.4 255.255.255.0
no sh


router ospf 100
network 172.16.4.0 0.0.0.255 area 0
network 172.16.34.0 0.0.0.255 area 0
network 172.16.45.0 0.0.0.255 area 0
network 172.16.46.0 0.0.0.255 area 0
network 172.16.47.0 0.0.0.255 area 0

end
copy r start


R5

conf t

int e0/0
ip add 172.16.5.254 255.255.255.0
no sh

int s2/0
ip add 172.16.45.5 255.255.255.0
no sh


router ospf 100
network 172.16.5.0 0.0.0.255 area 0
network 172.16.45.0 0.0.0.255 area 0
end
copy r start

R6

conf t

int e0/0
ip add 172.16.6.254 255.255.255.0
no sh

int s2/0
ip add 172.16.46.6 255.255.255.0
no sh


router ospf 100
network 172.16.6.0 0.0.0.255 area 0
network 172.16.46.0 0.0.0.255 area 0
end
copy r start

-------------------------------------------------------- 


R2

conf t

int e0/0
ip add 172.16.2.254 255.255.255.0
no sh

int s2/0
ip add 172.16.12.2 255.255.255.0
no sh

int s2/1
ip add 172.16.23.2 255.255.255.0
no sh


router ospf 100
network 172.16.2.0 0.0.0.255 area 1
network 172.16.12.0 0.0.0.255 area 1
network 172.16.23.0 0.0.0.255 area 1
end
copy r start



R3

conf t

int e0/0
ip add 172.16.3.254 255.255.255.0
no sh

int s2/0
ip add 172.16.23.3 255.255.255.0
no sh

int s2/1
ip add 172.16.34.3 255.255.255.0
no sh


router ospf 100
network 172.16.3.0 0.0.0.255 area 1
network 172.16.23.0 0.0.0.255 area 1
network 172.16.34.0 0.0.0.255 area 0
end
copy r start
----------------------------------------------------------------


R7

conf t

int e0/0
ip add 172.16.7.254 255.255.255.0
no sh

int s2/0
ip add 172.16.47.7 255.255.255.0
no sh

int s2/1
ip add 172.16.78.7 255.255.255.0
no sh


router ospf 100
network 172.16.7.0 0.0.0.255 area 0
network 172.16.47.0 0.0.0.255 area 0
network 172.16.78.0 0.0.0.255 area 2
end
copy r start



R8

conf t

int e0/0
ip add 172.16.8.254 255.255.255.0
no sh

int s2/0
ip add 172.16.78.8 255.255.255.0
no sh

int s2/1
ip add 172.16.89.8 255.255.255.0
no sh


router ospf 100
network 172.16.8.0 0.0.0.255 area 2
network 172.16.78.0 0.0.0.255 area 2
network 172.16.89.0 0.0.0.255 area 2
end
copy r start

R9

conf t

int e0/0
ip add 172.16.9.254 255.255.255.0
no sh

int s2/0
ip add 172.16.89.9 255.255.255.0
no sh


router ospf 100
network 172.16.9.0 0.0.0.255 area 2
network 172.16.89.0 0.0.0.255 area 2
end
copy r start

--------------------------------------------------------

R10

conf t

int e0/0
ip add 192.168.1.254 255.255.255.0
no sh

int s2/0
ip add 172.16.110.10 255.255.255.0
no sh


router rip
version 2
network 192.168.1.0
network 172.16.110.0
no auto-summary
end
copy r start

----------------------------------------------------------
R1

conf t

int e0/0
ip add 172.16.1.254 255.255.255.0
no sh

int s2/0
ip add 172.16.12.1 255.255.255.0
no sh

int s2/1
ip add 172.16.110.1 255.255.255.0
no sh


router rip
version 2
network 172.16.1.0
network 172.16.12.0
network 172.16.110.0
no auto-summary

router ospf 100
network 172.16.1.0 0.0.0.255 area 1
network 172.16.12.0 0.0.0.255 area 1
network 172.16.110.0 0.0.0.255 area 1

exit

router rip
redistribute ospf 100 metric 1

exit

router ospf 100
redistribute rip subnets

 

 

OSPF에서 경로를 재분배하는 방법은 여러 가지가 있습니다. 이를 통해 OSPF와 다른 라우팅 프로토콜 또는 정적 경로 간에 경로 정보를 교환할 수 있습니다. 아래는 OSPF에서 재분배를 설정하는 주요 방법과 사용 사례를 설명합니다.


1. 기본 명령어 형식

기본 형식:

redistribute [source-protocol] [options]
  • source-protocol: 재분배할 프로토콜 (e.g., static, connected, bgp, eigrp, rip 등)
  • options: 세부 조건을 지정 (e.g., metric, metric-type, route-map, subnets 등)

2. 재분배할 수 있는 경로 유형

OSPF로 재분배할 수 있는 경로는 다음과 같습니다:

(1) 정적 경로 재분배

정적 경로를 OSPF로 재분배합니다.

router ospf 1
 redistribute static subnets metric 10 metric-type 2
  • 사용 사례: 정적 라우팅으로 설정한 경로를 OSPF로 광고해야 할 때 사용.

(2) 직접 연결된 경로 재분배

라우터의 직접 연결된 경로를 OSPF로 재분배합니다.

router ospf 1
 redistribute connected subnets
  • 사용 사례: OSPF 네트워크에 직접 연결된 네트워크를 포함시켜야 할 때 사용.

(3) RIP 경로 재분배

RIP로 학습한 경로를 OSPF로 재분배합니다.

router ospf 1
 redistribute rip subnets
  • 사용 사례: 기존 네트워크가 RIP를 사용하고, OSPF로 전환하거나 OSPF와 RIP 간에 경로 정보를 교환해야 할 때 사용.

(4) BGP 경로 재분배

BGP로 학습한 경로를 OSPF로 재분배합니다.

router ospf 1
 redistribute bgp 100 subnets metric 20 route-map BGP_TO_OSPF
  • 사용 사례: 외부 네트워크(BGP)를 내부 네트워크(OSPF)로 광고해야 할 때 사용.

(5) EIGRP 경로 재분배

EIGRP에서 학습한 경로를 OSPF로 재분배합니다.

router ospf 1
 redistribute eigrp 1 subnets
  • 사용 사례: OSPF와 EIGRP를 사용하는 네트워크 간 경로를 공유할 때 사용.

(6) 기본 경로 재분배 (default route)

기본 경로를 OSPF로 재분배합니다.

router ospf 1
 default-information originate always
  • 옵션:
    • always: 라우터가 기본 경로를 가지고 있지 않아도 OSPF로 기본 경로를 광고.
  • 사용 사례: OSPF 네트워크에 기본 경로(0.0.0.0/0)를 광고해야 할 때 사용.

3. 주요 옵션

OSPF 재분배에서 자주 사용되는 옵션:

(1) metric

  • 재분배된 경로에 OSPF 비용(메트릭)을 설정.
redistribute static metric 5

(2) metric-type

  • OSPF 외부 경로의 타입을 지정:
    • 1: 외부 메트릭 + OSPF 내부 비용 합산.
    • 2: 외부 메트릭만 사용 (기본값).
redistribute static metric-type 1

(3) subnets

  • 클래스리스 서브넷 정보를 포함해 경로를 광고.
redistribute rip subnets

(4) route-map

  • 경로를 필터링하거나 속성을 조정.
redistribute bgp 100 route-map FILTER_ROUTES

(5) tag

  • 재분배된 경로에 태그 값을 추가해 식별.
redistribute eigrp 1 tag 100

4. 라우트 맵(route-map) 사용

재분배 과정에서 라우트 맵을 사용해 특정 경로만 선택적으로 재분배할 수 있습니다.

(1) 라우트 맵 정의:

route-map FILTER_ROUTES permit 10
 match ip address 10
 set metric 5
 set tag 200

(2) 라우트 맵을 OSPF 재분배에 적용:

router ospf 1
 redistribute rip route-map FILTER_ROUTES

5. 재분배 시 주의사항

  1. 루프 방지: 여러 프로토콜 간 재분배 시 루프가 발생할 수 있습니다. 태그(tag)를 사용하거나 필터링(route-map)을 설정해야 합니다.
  2. 메트릭 조정: 서로 다른 프로토콜은 서로 다른 메트릭을 사용합니다. 적절한 메트릭 변환이 필요합니다.
  3. 클래스풀/클래스리스: OSPF는 기본적으로 클래스풀 경로만 광고하므로, subnets 옵션을 사용해 클래스리스 경로를 포함해야 합니다.
  4. 확장성: 재분배가 많은 환경에서는 네트워크가 복잡해지고 안정성이 떨어질 수 있으므로 필요한 경로만 재분배해야 합니다.

이러한 방법을 조합하여 OSPF 재분배를 효과적으로 설정할 수 있습니다. 상황에 맞는 옵션과 필터링을 통해 안정적이고 최적화된 라우팅을 구현하세요!

 

 

 

RIP로 학습한 경로를 OSPF로 재분배 할때 왜 subnets만 쓰면 끝인거야?

 

 

 

 

RIP로 학습한 경로를 OSPF로 재분배할 때 subnets 옵션이 중요한 이유는 OSPF와 RIP의 클래스풀(Classful)클래스리스(Classless) 동작 방식 차이 때문입니다. 이를 이해하려면 OSPF와 RIP의 기본 동작과 subnets 옵션의 역할을 살펴봐야 합니다.


1. RIP와 OSPF의 경로 광고 차이

(1) RIP의 기본 동작

  • RIP 버전 1:
    • 클래스풀(Classful) 프로토콜입니다.
    • 네트워크를 광고할 때 네트워크 주소와 기본 클래스(A, B, C)에 따른 서브넷 마스크만 광고합니다.
    • 서브넷 정보가 포함되지 않으므로 서브넷팅된 경로를 전달할 수 없습니다.
  • RIP 버전 2:
    • 클래스리스(Classless) 프로토콜입니다.
    • 서브넷 정보를 포함하여 경로를 광고합니다.
    • 따라서 서브넷팅된 경로를 이해하고 전달할 수 있습니다.

(2) OSPF의 기본 동작

  • OSPF는 클래스리스(Classless) 프로토콜입니다.
  • 경로를 광고할 때 항상 서브넷 마스크 정보를 포함합니다.
  • 클래스풀(Classful) 정보는 무시하고, 네트워크와 서브넷 정보가 포함된 정확한 경로를 전달합니다.

2. subnets 옵션의 역할

subnets 옵션은 OSPF가 클래스풀뿐만 아니라 클래스리스 서브넷 경로도 포함하도록 만듭니다.

기본 동작:

  • subnets 없이 재분배:
    • OSPF는 클래스풀(Classful) 경로만 재분배합니다.
    • 클래스풀 네트워크는 기본 클래스(A, B, C)에 해당하는 네트워크만 포함되며, 서브넷 경로는 제외됩니다.
    • 예를 들어, RIP에서 192.168.1.0/24192.168.2.0/28을 학습했다면, OSPF는 192.168.0.0/16과 같은 클래스풀 경로만 광고합니다.
  • subnets 사용 시:
    • OSPF는 서브넷 정보가 포함된 클래스리스(Classless) 경로를 모두 재분배합니다.
    • 예를 들어, RIP에서 학습한 192.168.1.0/24192.168.2.0/28이 정확히 OSPF에 광고됩니다.

3. 왜 subnets만 추가하면 되는가?

RIP 버전 2는 이미 클래스리스(Classless) 정보를 포함하고 있으므로, OSPF가 이를 제대로 처리하려면 서브넷 정보를 포함하도록 명시적으로 지시해야 합니다.

  • OSPF는 기본적으로 클래스풀 방식으로만 동작하도록 설계되어 있기 때문에, subnets를 지정하지 않으면 서브넷 경로가 누락됩니다.
  • subnets 옵션은 OSPF에 클래스리스(Classless) 경로를 처리할 수 있도록 지시하는 역할을 합니다.

4. 예시

RIP에서 학습한 경로:

192.168.1.0/24
192.168.2.0/28

OSPF 재분배:

  • subnets 없이:
    • OSPF는 192.168.0.0/16 (클래스풀 경로)만 광고합니다.
    • 서브넷 경로 192.168.1.0/24와 192.168.2.0/28은 누락됩니다.
  • router ospf 1 redistribute rip
  • subnets 포함:
    • OSPF는 192.168.1.0/24와 192.168.2.0/28을 정확히 광고합니다.
  • router ospf 1 redistribute rip subnets

5. 결론

RIP는 클래스리스(Classless) 정보를 제공하지만, OSPF는 기본적으로 클래스풀(Classful) 동작을 수행합니다. subnets 옵션은 OSPF에 클래스리스 경로를 처리하도록 지시하여 서브넷 정보를 포함시킵니다. 따라서 RIP에서 학습한 경로를 OSPF로 올바르게 재분배하려면 subnets 옵션만 추가해도 충분합니다.

 

 

OSPF는 기본적으로 클래스풀 방식으로만 동작하도록 설계되어 있기 때문이라는 말이랑 ospf는 클래스리스 프로토콜이라는 말이랑 상충되지않아?
 

 

 

 

 

좋은 질문입니다! 겉으로 보기에는 "OSPF는 클래스리스 프로토콜"이라는 말과 "OSPF가 기본적으로 클래스풀 방식으로 동작한다"는 말이 모순처럼 보일 수 있습니다. 이를 제대로 이해하려면 OSPF의 광고 방식재분배 동작을 구분해서 살펴봐야 합니다.


1. OSPF는 클래스리스 프로토콜

OSPF는 클래스리스(Classless) 프로토콜입니다. 이를 통해 다음과 같은 특징을 가지고 있습니다:

  • 서브넷 정보 포함: OSPF는 항상 네트워크를 광고할 때 서브넷 마스크(CIDR 정보)를 포함합니다.
    • 예: 192.168.1.0/24를 광고하면 서브넷 마스크 /24도 함께 포함되어 다른 라우터가 정확히 동일한 서브넷 정보를 인식할 수 있습니다.
  • 비트 단위 서브넷팅 지원: OSPF는 클래스풀(Classful) 경로로 제한되지 않으며, /30, /28 등 다양한 서브넷 길이를 포함한 경로를 처리하고 광고할 수 있습니다.

즉, OSPF는 클래스풀(Classful) 구조에 제한되지 않으며, 클래스리스 경로를 기본적으로 처리하고 광고합니다. 이 점에서 OSPF는 클래스리스 프로토콜입니다.


2. OSPF 재분배 시 기본 동작은 클래스풀

하지만, OSPF가 다른 라우팅 프로토콜(RIP, BGP 등)에서 경로를 재분배할 때는 기본적으로 클래스풀 방식으로 동작합니다.

  • 기본적으로 OSPF는 클래스풀(Classful) 경로만 포함하려고 시도합니다.
    • 예: 192.168.1.0/24와 192.168.2.0/28이 RIP에서 학습된 경우, OSPF는 이를 192.168.0.0/16과 같이 기본 클래스(A, B, C)를 기반으로 통합하려고 합니다.
  • 왜 이런 제한이 있는가?
    • OSPF는 클래스리스 프로토콜이지만, 재분배 시에는 클래스풀 경로와의 호환성을 고려한 기본 동작을 수행합니다.
    • 이는 네트워크의 일부 장비가 클래스풀 프로토콜만 지원하는 환경에서도 OSPF가 정상적으로 동작할 수 있도록 설계된 안전장치입니다.

3. subnets 옵션이 필요한 이유

subnets 옵션은 OSPF 재분배 시 클래스리스 경로를 포함하도록 명시적으로 설정하는 역할을 합니다.

  • subnets를 지정하지 않으면, OSPF는 재분배되는 경로에서 클래스풀 네트워크만 포함하고, 서브넷 경로는 누락됩니다.
    • 예: 192.168.1.0/24와 192.168.2.0/28 → 192.168.0.0/16으로 광고.
  • subnets를 지정하면 OSPF가 클래스리스 경로를 포함해 정확한 서브넷 정보로 광고합니다.
    • 예: 192.168.1.0/24와 192.168.2.0/28 그대로 광고.

4. OSPF의 클래스풀/클래스리스 동작 비교

특성 OSPF 동작

네이티브 경로 광고 클래스리스 (서브넷 정보 포함).
재분배 시 기본 동작 클래스풀 (클래스풀 경로만 포함).
subnets 옵션 사용 시 클래스리스 (정확한 서브넷 경로 포함).

5. 결론

OSPF는 본질적으로 클래스리스 프로토콜이며, 네이티브 경로를 광고할 때 서브넷 정보를 포함합니다. 하지만, 다른 프로토콜에서 경로를 재분배할 때는 기본적으로 클래스풀 방식으로 동작합니다. 이로 인해 클래스리스 경로를 포함하려면 subnets 옵션이 필요합니다.

따라서 "OSPF는 클래스리스 프로토콜"이라는 말은 OSPF의 본질적인 동작을 설명하고, "OSPF가 재분배 시 클래스풀 방식으로 동작"한다는 말은 기본 설정에서의 동작 방식을 지칭하며, 이 둘은 서로 상충되지 않습니다.