1. OSPF
1-1. OSPF란
1-2. OSPF의 구조
1-3. OSPF 라우팅 경로 구하기
2. OSPF 설정
2-1. OSPF 라우팅 프로세스 활성화
2-2. Router ID 설정
2-3. 각 인터페이스의 네트워크 등록
2-4. OSPF 작동확인
3. 암호 기술
3-1. 다중 단일 문자 치환
3-2. 전치기법
1. OSPF
1-1. OSPF란
OSPF(Open Shortest Path First)는 계층화 된 라우팅 프로토콜이다.
• IGP(Internal Gateway Protocol)
- AS(Autonomous System)내부에 사용한다.
• Area에 의해 효율적인 라우팅 정보 관리가 가능하다.
- Backbone area(Area0)을 통해 연결된다.
- Area0에 연결되지 못하면 Virtual link를 통해 연결한다.
- Area 내에서 LSA를 교환한다.
• Link의 cost를 기반으로 경로를 배정한다.
- Hop 제한이없다.
- Dijkstra의 SPF 알고리즘을 바탕으로 경로가 선택된다.
- link cost = 기준대역폭 / 실제대역폭
• VLSM을지원한다.
• ABR : Area Border Router
• IR : Internal Router
• ASBR : Autonomous System Boundary Router
1-2. OSPF의 구조
● 라우터의 구분
- IR ( Internal Router )
: Area 내부 라우터이다.
- ABR ( Area Border Router )
: Area를 연결하는 라우터이다.
- ASBR ( Autonomous System Boundary Router )
: AS와 연결하는 외부 연결 라우터이다.
- DR(Designated Router)
: Link stat 정보를 취합, 관리하는 라우터이다.
: IR과 DR 간에 link stat 정보를 주고 받는다.
- BDR(Backup DR)
: DR이 죽으면 작동하는 예비 DR이다.
● Neighbor, Adjacency
- OSPF는 neighbor 간에 라우팅 정보를 공유한다.
- 라우터 간에 이런 adjacency를 위한 조건이 필요하다.
OSPF의 Neighbor(네이버)와 Adjacency(인접관계)는 동일한 의미가 아니다.
네이버는 동일 area에 위치해있어 라우팅 정보가 같은 관계이고, 인접관계는 직접 연결되어 직접 통신을 하는 관계이다.
- 네이버 라우터 중에 인접관계인 라우터와 LSA를 교환한다.
- 이를 통해 모든 라우터가 동일한 링크 정보를 유지한다.
- 인접관계는 DR(BDR)과 IR 간에 이뤄진다.
● Point to Point
HDLC, PPP등의 Serial 링크가 이와 같은 형태이다.
DB / BDR을 선출하지 않는다.
OSPF Hello 및 LSU 패킷은 Multicast 224.0.0.5를 이용한다.
- '나와 같은 라우팅 프로토콜을 쓰는 기기만 받아라' 라는 뜻이다.
- Hello Packet : 10초마다 보낸다.
- Dead Interval : 40초간 응답이 없으면 대상이 죽었다고 판단한다.
● Multiaccess Network
이더넷 등의 LAN 링크가 이와 같은 형태이다.
DR / BDR을 선출한다.
- Priority가 기준이 된다.
- 가장 높은 router id가 DR이 된다. (router id 1위: DR, 2위: BDR)
모든 라우터는 DR / BDR과만 인접관계가 된다.
DR과 통신할 때는 멀티캐스트 224.0.0.6으로 보내고 멀티캐스트 224.0.0.5로 받는다.
1-3. OSPF 라우팅 경로 구하기
하나의 area에 위와 같이 라우터가 구성되어있을 때, 다음과 같이 트리를 구성해볼 수 있다.
위의 트리는 각각의 라우터와 인접관계인 기기와 코스트를 트리형태로 나타낸 것이다.
위의 트리를 이용해 다음과 같이 각 목적지에 대해 cost가 가장 낮은 경로로 라우팅 테이블을 구성할 수 있다.
Dst : 목적지
G : 패킷을 내보내는 경로 ( C : 인접관계로 직접 연결된 상태)
Metric : 목적지까지의 코스트
2. OSPF 설정
2-1. OSPF 라우팅 프로세스 활성화
명령어 : router ospf [process‐id]
ex) router ospf 1
- 프로세스 ID에 대한 제약은 거의 없다.
- 프로세스 ID를 같게 할 수도, 다르게 할 수도 있으며 이에 대한 기술적인 이유는 없다.
2-2. Router ID 설정
Router ID는 OSPF를 사용하는 라우터를 식별하기 위한 식별정보이다.
명령어 : router-id [ID]
ex) router-id 1.1.1.1
- 설정하지 않을 시 인터페이스 IP 중 가장 높은 IP가 ID로 사용된다.
- Router ID가 인터페이스의 상태에 따라 달라지는 것을 방지한다.
- 로컬 루프백 인터페이스에 큰 IP를 할당해 ID로 사용할 수도 있다.
- 반드시 필요한 과정은 아니다.
● Priority
- 높은 우선순위를 가진 라우터가 DR, BDR로 선정된다. (1위: DR, 2위: BDR)
- 우선순위는 인터페이스에 지정된다. ex) (config‐if)# ip ospf priority 100
- 우선순위가 동일하면 1. 높은 루프백 IP, 2. 가장 높은 IP를 가진 라우터 가 DR이나 BDR로 선정된다.
2-3. 각 인터페이스의 네트워크 등록
명령어 : network [인터페이스 IP] [와일드 카드 마스크] [area]
ex) network 2.2.2.1 0.0.0.0 area 0
- RIP 라우팅 설정 때에는 네트워크 주소 IP를 적었으나 OSPF 에서는 연결되어있는 인터페이스 주소 IP를 적는다.
- 와일드 카드 마스크 부분에 0.0.0.0으로 표기하면 라우터가 알아서 할당한다.
- 첫 area는 반드시 0번 부터 할당한다.
이후 RIP 라우팅 설정 때와 동일하게 passive-interface [인터페이스] 명령어를 입력하는데, RIP에서는 라우팅 정보를 공유하지 말라는 이유였지만 OSPF에서는 hello 패킷을 보내지 말라는 이유로 설정한다.
2-4. OSPF 작동확인
show ip route ospf
: show ip route 명령어로 전체 라우팅 상태를 확인하거나, show ip route ospf로 ospf 라우팅에 의한 정보만 확인할 수 있다.
show ip ospf int [인터페이스]
: OSPF가 작동하고 있는 인터페이스의 정보를 확인할 수 있다. ex) Router ID, Area ID, Hello packet 설정 등
show ip ospf neighbor
: 네이버의 상태 정보를 표시한다.
- Full / : 서로 인접관계이다.
- Full / DR : 서로 인접관계이며 네이버가 DR이다.
- Full / BDR : 서로 인접관계이며 네이버가 BDR이다.
다음과 같이 OSPF 라우팅 환경을 구현할 수 있다.
라우터를 설정할 때 먼저 router-id가 설정된 라우터가 있다면 가장 먼저 DR을 선언하여 DR이 될 수 있으며, 이후 더 우선순위가 높아보이는 router-id가 연결되어도 변경되지 않는다.
이때 모든 라우터를 껐다가 키면 정상화될 수 있으나 굳이 필요한 작업은 아니다.
3. 암호 기술
3-1. 다중 단일 문자 치환
단순 단일 문자 치환 방법을 개량한 방법이다.
Vigenere 방법 (표참조)
단어 하나를 키워드로 설정한 후 평문에 한 글자씩 매치하여 암호문을 도출한다. 이때 키워드가 평문보다 짧은 경우 키워드를 연속적으로 매치한다.
키워드 : xyz
평문 : abcdef
인 경우 암호문은 xzbace가 된다.
● 다중 단일 문자 치환 암호 방법의 공통점
- 하나의 단일 문자 치환 규칙 집합을 사용한다.
- 주어진 변환에 사용될 규칙은 키에 의해 결정된다.
● 특징
- 하나의 평문자가 변경될 수 있는 경우의 수가 여러 개 존재한다.
- 문자 빈도 수에 대한 정보가 불분명해진다
● 단점
- 평문 구조에 대한 정보가 모두 은폐되지는 않는다.
- 단일 문자나 다중 문자로 암호화되었는지 아는 것은 쉽다.
- 키워드의 길이를 유추할 수 있다.
3-2. 전치기법
전치기법은 평문자의 순서를 바꾸는 기법이다.
rail fence 기법
평문이 있다면 공백을 지운 후, 문장을 n줄로 나누어 배열하고 왼쪽부터 세로로 읽어 암호문을 작성한다.
여기서 n을 깊이라고 하며, n줄로 배열된 문자는 반드시 한 행의 문자의 갯수가 같도록 맞아 떨어져야 한다. 공백이 발생할 경우 임의의 문자를 삽입해 채운다.
깊이: 3
평문 : restaurant
인 경우
rest
aura
ntaa
이므로 암호문은 raneutsrataa가 된다.
'일일 정리' 카테고리의 다른 글
EIGRP, 비밀키 암호(원리, DES) (0) | 2025.02.11 |
---|---|
OSPF - default route 설정, 고전 암호, PHP 반복문 for (0) | 2025.02.07 |
동적 라우팅 - RIP, 암호의 개념과 고전 암호 (0) | 2025.02.05 |
정적 라우팅 - Default 라우팅, 리눅스 시스템 시간 관리, 라우터 구현 (0) | 2025.02.04 |
라우터의 이해와 설정 (Static), 서버 실습 (0) | 2025.02.03 |