bxm's IT Story
네트워크 interview 본문
## 1. OSI 7계층 및 TCP/IP 4계층
개념 : 국제 표준화 기구인 ISO에서 지정한 것으로, 네트워크에서의 통신이 이루어지는 과정을 7개의 계층으로 나눔.
장점 :
1 | - 통신이 이루어지는 과정을 단계별로 파악이 가능하다. |
2 | - 통신에 문제가 발생할 시, 해당 Layer만 트러블슈팅하면 되므로 유지보수에 강점이 있다. |
<<Layer 1 물리 계층>>
개념 : 데이터를 전기적인 신호인 0과 1로 변환하여 전송하는 역할을 수행하는 계층
장비 : 허브, 리피터
프로토콜 : 이더넷
<<Layer 2 데이터링크 계층>>
개념 : 직접적으로 연결된 노드간 물리적인 전송을 담당, 오류제어, 흐름제어 등을 수행하는 계층
세부적으로 나누면 MAC(Media Access Control)과 LLC(Logical Link Control)의 서브 Layer로 나눌 수 있음.
MAC | 매체의 종류와 특성에 따라 발생하는 문제를 집중적으로 해결해주는 프로토콜 |
LLC(802.2) | 흐름제어, 에러제어 등 각종 제어행위를 수행 |
장비 : L2 스위치, 브릿지
프로토콜 : 이더넷, 프레임릴레이, L2F
Ethernet(이더넷) | - 네트워크에 연결된 기기들간에 고유한 MAC 주소를 통해 데이터를 주고 받을 수 있게 해주는 프로토콜 - DIX(Digital Equipment + Intel + Xerox) 3사가 개발하여 미국의 표준 기구인 IEEE에 등록되고, 이후 미국 표준화 기구인 ISO에 등록되었다. - CSMA/CD 프로토콜을 사용한다. - 프레임 구조는 아래와 같다. |
<<Layer 3 네트워크 계층>>
개념 : IP 주소를 저장하고, 패킷을 최적의 경로를 통해 전달하는 계층
장비 : 라우터, L3 스위치
프로토콜 : IP, ICMP, ARP, RARP
IP | - 각 장치를 나타내는 IP 주소를 가리킴 |
ICMP | - IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 |
ARP | - IP 주소를 이용해, 상대방의 MAC 주소를 알아오는 프로토콜 (요청 : 브로드캐스트 // 응답 : 유니캐스트) |
RARP | - MAC 주소를 이용해, 상대방의 IP 주소를 알아오는 프로토콜 (요청 : 브로드캐스트 // 응답 : 유니캐스트) |
GARP | - 네트워크 상의 다른 장비들의 ARP 캐시 테이블을 갱신 또는 중복방지를 위해 수행 - 자신의 존재를 알리기 위해 사용 - 송신자 IP와 수신자 IP가 같음 |
<<Layer 4 전송 계층>>
개념 : 보내는 데이터의 용량과 속도, 목적지 등을 처리하며, 데이터의 전송을 담당하는 계층
프로토콜 : TCP, UDP
TCP | - 연결 지향 // 신뢰성 O // 순서대로 받음 |
UDP | - 비연결 지향 // 신뢰성 X // 순서대로 받지는 않음 |
* 3-Way-Handshake(세션 초기화 및 시작)
1. 클라이언트 -> 서버 : 접속을 요청하는 SYN 패킷을 보냄. 클라이언트는 SYN을 보내고, SYN/ACK 응답을 기다리는 'SYN_SENT' 상태가 된다. 2. 서버 -> 클라이언트 : 클라이언트로부터 SYN 요청을 받고, 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고, 클라이언트가 ACK로 응답하기를 기다린다. 서버는 'SYN_RECEIVED' 상태가 된다. 3. 클라이언트 -> 서버 : ACK를 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 된다. 이때의 서버 상태가 'ESTABLISHED'이다. |
* 4-Way-Handshake(세션 종료)
1. 클라이언트 -> 서버 : 연결을 종료하겠다라는 'FIN flag' 전송. 이때 클라이언트는 'FIN-WAIT' 상태 2. 서버 -> 클라이언트 : FIN flag를 받은 후, 일단 확인메세지 'ACK' 전송. 이때 자신의 통신이 끝날 때까지 기다리는데 이 상태가 'CLOSE_WAIT'이다. 3. 서버 -> 클라이언트 : 서버가 연결을 종료할 준비가 되면, 연결 해지를 위한 준비가 되었음을 알리기 위해 클라이언트에게 'FIN flag' 전송. 서버의 이 상태가 'LAST-ACK'이다. 4. 클라이언트 -> 서버 : 클라이언트가 해지 준비가 되었다는 'ACK'를 확인했다는 메시지를 보낸다. 이 상태가 'TIME-WAIT'이다. |
<<Layer 5 세션 계층>>
개념 : 2대 이상의 기기, 컴퓨터, 서버간에 통신을 하기 위해서 필요한 세션을 만드는 계층 (커넥션 확립/절단)
<<Layer 6 표현 계층>>
개념 : 데이터를 통신에 맞는 형식으로 압축, 암호화를 수행하는 계층
<<Layer 7 응용 계층>>
개념 : 사용자가 직접 눈으로 보고 실제로 작업을 하는 계층 (응용프로그램)
프로토콜 : FTP(20,21), TELNET(23), SMTP(25), HTTP(80)
현재 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로토콜로 실제 대다수 프로그램은
TCP와 IP로 통신하고 있다.
네트워크 액세스 (Layer 1) |
- 물리 계층 + 데이터링크 계층에 해당 - 물리적인 주소로 MAC 사용 - LAN, 패킷망 등에 사용 |
인터넷 (Layer 2) |
- 네트워크 계층에 해당 - 통신 노드 간의 IP 패킷을 전송하는 기능과 라우팅 기능을 담당 - IP, ARP, RARP 등 |
전송 (Layer 3) |
- 전송 계층에 해당 - 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당 - TCP, UDP 등 |
응용 (Layer 4) |
- 세션 계층 + 표현 계층 + 응용 계층에 해당 - TCP/UDP 기반의 응용 프로그램을 구현할 때 사용 - FTP, HTTP, SSH 등 |
## 2. Well-known 포트 번호
20[TCP] 21[TCP] |
FTP (File Transfer Protocol) |
TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜 20 : 데이터를 전송하는데 사용하는포트 21 : 접속시에 사용되는 명령 포트 |
22[TCP] | SSH (Secure SHell) |
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜 |
23[TCP] | Telnet | 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜 |
25[TCP] | SMTP (Simple Mail Transfer Protocol) |
인터넷에서 이메일을 보내기 위해 이용되는 프로토콜 |
53[TCP/UDP] | DNS (Domain Name System) |
호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발 |
69[UDP] | TFTP (Trivial File Transfer Protocol) |
FTP와 마찬가지로 파일을 전송하기 위한 프로토콜이지만, FTP보다 더 단순한 방식으로 파일을 전송 |
80[TCP/UDP] | HTTP (HyperText Transfer Protocol) |
W3(WWW) 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. |
110[TCP] | POP3 (Post Office Protocol version 3) |
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용되는 응용 계층 프로토콜 |
143[TCP] | IMAP 4 (Internet Message Access Protocol 4) |
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용되는 응용 계층 프로토콜 |
443[TCP] | HTTPS (HTTP + SSL[Secure Socket Layer]) |
HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발한 넷스케이프 웹 프로토콜이며, 전자 상거래에서 널리 쓰인다. |
## 3. 네트워크 기본 용어 및 지식
LAN (Local Area Network) | - 근거리 통신 망을 의미 - 학교, 회사, 연구소 등 한 건물이나 일정 지역 내에서 컴퓨터나 단말기들을 고속 전송 회선으로 연결하여 프로그램 파일 또는 주변장치를 공유할 수 있도록 한 네트워크 형태 |
VLAN (Virtual LAN) | - 물리적 배치와 상관없이, 논리적으로 LAN을 구성할 수 있는 기술 - (라우터를 사용해 물리적으로 Network 영역을 구분하는 것이 아니라), VLAN을 사용하면 '논리적으로' Network(Boradcast Domain)를 나눌 수 있다. |
Routing | - 송신지에서 목적지로 데이터가 전달될 수 있도록 수 많은 경로 중 하나를 선택하여 이동하는 기능 - 패킷을 목적지까지 전달할 수 있도록 하려면 라우터는 해당 목적지에 대한 경로 정보를 알고 있어야 하며, 이 정보에 따라 패킷을 전달한다. |
* VLAN의 장점 및 포트
VLAN을 사용하면 얻을 수 있는 장점 | 1) 하나의 스위치로 마치 여러대의 스위치를 사용하는 것처럼 사용 가능 (스위치 사용 절약 // 라우터 인터페이스 절약 ==> 효율적) 2) 서로 다른 VLAN간 라우터를 통해서만 통신이 이루어지므로 보안성 강화 |
Access 포트 | - 1개의 포트에 1개의 VLAN Frame만 흘러다닐 수 있도록 경우 - 해당 포트는 자신이 속한 VLAN 네트워크 Frame만을 전송 |
Trunking 포트 | - 1개의 포트에 여러개의 VLAN Frame이 흘러다닐 수 있도록 하는 경우 - 쉽게 얘기하면 여러 개의 VLAN을 실어나르는 포트 |
* VTP (Vlan Trunking Protocol)
VTP 개념 : 'Cisco 전용 프로토콜'로 2개 이상의 스위치들이 VLAN 설정 정보를 교환할 때 사용하는 프로토콜 | |
1) VTP Server | - VLAN 생성/삭제/이름 수정 가능 - 다른 스위치에게 VTP 정보 전송 - 다른 스위치에게서 받은 정보를 자신의 정보와 일치시킴. --> 다른 스위치에 중계 - 스위치의 'Default 모드' 이다. |
2) VTP Client | - VLAN 생성/삭제 불가능!!! - 다른 스위치에게 VTP 정보 전송 - 다른 스위치에게서 받은 정보를 자신의 정보와 일치시킴. --> 다른 스위치에 중계 |
3) VTP Transparent | - VLAN 생성/삭제 가능 - 다른 스위치에게 [자신의 VTP 정보는 전송 X] + [받은 VTP 정보는 전송 O] - 다른 스위치에게서 받은 정보를 자신의 정보와 일치시키지 않음. (개무시함) |
* L3 스위치를 사용하는 이유
SVI(Switched Virtual Interface) 를 사용하여 VLAN 도메인을 가상 인터페이스로 동작시킴.
이에 따라, 다수의 VLAN과 해당 VLAN에 다수의 End-Device가 속해있다면, 라우터와 스위치 사이에서의 과도한 트래픽으로 인한 병목 현상을 막을 수 있다.
## 4. STP(Spanning Tree Protocol)
개념 : 부하 분산을 위해 스위치들간 연결되어 있음에도 Loop가 발생하지 않게 해주는 스위치의 프로토콜
* STP를 설정하지 않으면 생기는 문제점
1 | 스위치에 'Boradcast 프레임'이 들어오면, 스위치는 해당 프레임을 같은 VLAN 상에 있는 모든 포트로 Flooding함. |
2 | 앞, 뒤의 스위치들에게 전송을 하여, Broadcast 프레임의 Loop가 발생함. (Broadcast Storm; 브로드캐스트 폭풍) |
3 | 동일한 MAC 주소를 다른 인터페이스에게 받으며 MAC Address 테이블이 계속 변하는 'MAC 테이블 불안정 현상'이 발생함. |
4 | Loop가 발생하게 되면, 받은 프레임을 받고 또 받고 하다가 해당 프레임을 사용하는 프로그램이 제대로 동작하지 않을 수 있음. (Layer 3의 패킷 TTL과 다르게, Layer 2에서의 프레임은 소멸되지 않음.) |
* STP 동작 원리
1. Root 스위치 (루트 스위치) |
스위치들이 2초 마다 주고 받는 35 Byte의 'BPDU' 값 중 8 Byte인 'Bridge ID (Priority 2바이트 + MAC주소 6 Byte)'를 통해 루트 스위치를 선출 - Priority 기본값 : 32,768 (16진수 8000) // 0~66,535의 값을 가지며, 낮을 수록 우등하다. - Priority 값이 같다면, 스위치의 MAC 주소가 낮은 것이 루트 스위치로 선출 |
2. Root 포트 (루트 포트) |
다음 3가지 조건을 통해 루트 포트를 선출한다. (1의 조건이 같다면 2... // 2가 같다면 3...) 1) 루트 스위치로 가는 Path Cost가 가장 낮은 포트 (이더넷-100//패스트-19//기가-4//TenG-2) 2) Path Cost가 동일하다면, 인접 스위치의 브릿지 ID가 낮은 포트를 선출 3) (EtherChannel이 아니고선 거의 해당되지 않지만), 인접 스위치의 포트 ID(128.XX)가 낮은 포트 |
3. Designated 포트 (지정 포트) |
루트 스위치의 모든 포트는 '지정 포트(DP)'로 지정한다. 또한, 나머지 스위치에서는 루트 포트를 제외하고, Segment(스위치들간의 경로)당 1개씩을 선출하는데 역시 뽑는 우선순위 과정이 있다. 1) 루트로 가는 Path Cost가 가장 낮은 포트 2) 인접이 아닌 자기 자신(스위치)의 브릿지 ID가 낮은 포트 3) 자기 자신의 포트 ID가 더 낮은 포트 |
4. Alternated 포트 (대체 포트) |
루트 포트, 지정 포트도 아닌 포트는 '대체 포트(AP)' 가 된다. 이 포트는 항상 'Blocking' 상태로 유지 된다. 만약 인접 포트에 문제가 생긴다면 루트 포트나 지정 포트로의 변환이 가능하며, Max Age 20초 + Forward Delay 30초 = 50초가 지나면 Forward 상태가 된다. |
* STP 4단계 (Blocking -> Listening -> Learning -> Forwarding)
1. Blocking (Alternated Port) |
- 데이터 프레임 송수신 X - BPDU 송신 X / 수신 O - 만약 Alternated Port(대체 포트) --> Root Port(루트 포트), Designated Port(지정 포트)가 되면 'Max Age 타이머'인 '20초' 후 Listening 상태가 된다. |
2. Listening (15초) |
- 데이터 프레임 송수신 X - BPDU 송신 O / 수신 O |
3. Learning (15초) |
- 데이터 프레임 송수신 X - BPDU 송신 O / 수신 O - Forward를 통해 받은 MAC 주소를 통해 'MAC 주소 테이블'을 채움. |
4. Forwarding | - 데이터 프레임 송수신 O - BPDU 송신 O / 수신 O |
## 5. HSRP(FHRP의 종류 중 하나)
* FHRP(First Hop Redundancy Protocol)
개념 : '게이트웨이 이중화 프로토콜'이라고 표현
목적 : 게이트웨이를 이중화하여 내부 네트워크 -> 외부 네트워크로 전송되는 트래픽에 대한 가용성 확보가 목적이다.
1 | PC와 같은 End-device에서는 라우팅 프로토콜을 구동하지 않기에, 게이트웨이에 장애가 발생시 자동으로 우회가 불가능 |
2 | FHRP가 설정되는 위치는 End-Device <---> L3 장비 사이에서 결정 |
3 | FHRP 설정은 실제 IP 주소가 할당된 Interface에서 명령어를 입력 |
*HSRP(Hot Standby Redundancy Protocol)
개념 : FHRP의 종류 중 하나로, 'Cisco 전용'이다. (Hello 타임 : 3초 // Hold 타임 : 10초)
버전 :
Version 1 | 그룹 범위 : [ 0 - 255 ] | 멀티캐스트 224.0.0.2 사용 | - Virtual MAC 주소 = 0000.0c07.ac[NN] NN이 16진수이므로, 8bit! (256개) - (만약 그룹 번호가 10번이라면, 0000.0c07.ac[0a]가 된다.) |
Version 2 | 그룹 범위 : [ 0 - 4,095] | 멀티캐스트 224.0.0.102 사용 | - Virtual MAC 주소 = 0000.0c9f.f[NNN] NN이 16진수이므로, 12bit! (4,096개) - (만약 그룹 번호가 10번이라면, 0000.0c9f.f[00a]가 된다.) |
Active 장비 선출 조건 :
우선순위 1 | HSRP Priority 값이 높은 장비 (기본값 : 100 // 범위 1~255) STP와 다르게 높을수록 우등하다. |
우선순위 2 | Priority 값이 동일하다면, IP 주소가 더 높은 장비 |
## 6. Distance Vector vs Link-state
Distance Vector | Link-State | |
Acknowledge | X | O |
Update | Triggerd Update + 주기적인 Update (Ack가 없으므로, 얘가 받았나 안받았나를 모름!! 그래서 주기적으로 계속 또 보냄 |
Triggerd Update (상대방이 받았나 못받았나를 확인 가능!) |
Database | Full DB Update (Ack가 없으므로, 어떤 라우팅 정보가 있는지 없는지를 몰라서 그냥 다 던짐 |
Partial DB Update (Ack를 받으므로, 무엇을 못 받았는지 알기 때문에 만약 10개의 Update중 1개의 Ack가 오지 않으면, 그것만 보내주면 된다.) |
Select Path | Best Path -> Update (라우터가 만약 100대라면, Best Path를 계속 계산하면서 던지기 때문에 100번을 계산함 ㅋㅋ) |
Update -> Best Path (모든 라우터들의 DB가 동일함!! 이거 엄청 중요함!! 모두 똑같아야함!! 그래서 Update가 들어오면 자기가 계산하기 전에 Update 내용을 전체 망에 다 뿌림. 그리고 모든 라우터들의 DB를 동일하게 만들고 계산을 함.) |
Convergence Time | 느림 (일일이 계산하면서 Update) |
빠름 (DB에 Update 정보를 모은 뒤 계산) |
Filtering, Summary | 유연함 (Distance Vector는 전체 토폴로지를 모르기 때문에 옆에 놈이 던져주는걸 그냥 다 신뢰함. 그래서 모든 장비가 자기가 가지고 있는걸 맘대로 줄 수 있음.) EX. 10.1.1.0/24를 가지고있는데, 이걸 Summary 시켜서 10.0.0.0/8 다 가지고 있어!! 하면 옆에 놈은 또 믿음. 왜냐하면 토폴로지를 모르기에 그래서 모든 장비가 필터링과 서머리를 다 할 수 있다. |
제한됨 (모든 라우터들의 라우팅 정보가 '동일'해야 하므로, 누구한테는 10.0.0.0/8을 전달하고, 누구한테는 10.1.1.0/24를 전달하고 이런걸 못함.) |
## 6-1. RIP(Routing Information Protocol)
개념 : Distance Vector 라우팅 방식 프로토콜로, 거리(Hop / 라우터 1대를 의미)와 방향만을 기준으로 데이터가 담긴 패킷을 전달하는 프로토콜
RIP Version 1 | RIP Version 2 |
classful (특정 네트워크 정보 전송시 서브넷 마스크 길이를 알려주는 기능 X) |
Classless (특정 네트워크 정보와 함께 서브넷 마스크 길이까지 같이 전송 O) |
VLSM(가변 길이 서브넷 마스킹) X | VLSM(가변 길이 서브넷 마스킹) O |
Boradcast 사용 | Multicast 224.0.0.9 사용 |
보낼 때 사용 | 보낼 때 // 받을 때 둘 다 사용 |
* 세부 정보
동작 원리 | 1) 30초마다 RIP 패킷을 브로드캐스트한다. 2) 상대에게 수신한 네트워크 정보를 제외한, 나머지 모든 네트워크 정보를 상대에게 알려준다. 3) 수신한 라우터는 자신의 라우팅 테이블과 비교하여 더 짧은 Hop을 받으면 업데이트한다. |
Metric | Hop Count (최대 15) |
AD값 | 120 (복수의 라우팅 프로토콜이 동작하는 상황에서의 최적 경로를 결정하는 값; 낮을 수록 우등) |
장점 | 1) 표준 라우팅 프로토콜로 호환성이 좋다. 2) 비교적 구성이 간편하고, 소규모 네트워크 상에서 '메모리 등의 자원을 적게 사용'하므로 효율적 3) Cisco 라우터의 경우 4~6개의 경로에 대한 로드밸런싱이 가능 |
단점 | 1) 홉 수가 16이상이면 네트워크를 찾지 못함. --> 대규모 네트워크에서 부적합 2) 속도, 거리 지연등을 고려 X --> 경로 산정에 비효율적일 수 있음. 3) 전체 경로의 주기적인 브로드캐스트 --> 전체 네트워크에 트래픽 유발 4) 라우터간 30초 간격으로 경로 업데이트 --> 경로 재계산으로 인해 몇 개의 라우터만 거쳐도 엄청 느려짐. (Slow-Convergence) 5) 경로를 이동하던 중 홉의 Down --> 무한 Loop 가능성 |
무한 루프 방지 | Split-horizen 네트워크 정보를 받은 곳으로는, 해당 네트워크에 대한 라우팅 업데이트를 다시 보내지 않음. |
Route Poisoning - 장애가 발생하면 홉 카운트를 16으로 해서 주변에 전송, 자신의 해당 네트워크를 '언리쳐블' 설정함.(업데이트 또한 받지 않음) - 인접 라우터는 이 경로에 대한 라우팅 업데이트 그대로 진행, '언리쳐블'이 들어오면 홉 수를 16으로 바꿈 (이 경로에 대한 업데이트 무시) |
|
holddown timers 라우터가 특정 연결 구간의 Fail 신호를 전달 받은 후, 해당 경로를 라우팅 테이블에서 바로 제거하지 않고, 특정 시간동안 그 정보의 사실을 확인하기 위해 기다리는 것. |
## 6-2. OSPF (Open Shortest Path First)
개념 : Link-state 라우팅 방식 프로토콜로, 링크 상태를 확인하여 최단 경로를 찾음. (다익스트라 알고리즘 사용)
이웃 전제 조건 | 1) 동일 Area에 포함 되어야함. 2) 동일한 Hello 및 Dead Interval 값을 가져야함 |
동작 원리 | 1) OSPF가 설정된 라우터간, 멀티캐스트 224.0.0.6을 통해 'Hello 패킷'을 주고 받아 이웃 관계를 요구 2) 위의 과정에서 DR과 BDR의 주소를 알게 되고, 멀티캐스트 224.0.0.6을 통해, 자신이 가지고 있는 링크 정보를 LSA에 담아 DR과 BDR에게 전달 (LSU : Link-State Update) 3) DR에 LSA가 도착하면, BDR은 타이머를 재고 DR이 이 정보들을 다른 라우터에게 전달하는 것을 기다림. 4) 각 라우터들은 DR로부터 전송받은 LSA를 LSD(Link-State Database)에 저장. 5) LSA 교환이 끝난 후, (SPF/다익스트라 알고리즘)을 통해 목적지까지의 최적 경로를 계산한 뒤에 라우팅 테이블에 저장 6) 이 모든 과정이 끝난 후 주기적으로 Hello 패킷을 전송하여 라우터 정상 동작을 알림 |
Metric | Path Cost (100,000,000 / 대역폭) |
AD값 | 110 |
장점 | 1) 부분 갱신(Partial Update) : 링크 상태의 변화시에만 라우팅 정보를 전송하므로 리소스의 낭비를 방지(멀티캐스트) 2) Fast-Convergence : 변화가 생기면 바로 해당 정보를 전파하기에, 즉시 변경된 라우팅 정보를 반영하여 빠른 컨버전스 타임(라우팅 정보를 주고받는 시간)을 가짐. 3) Area 개념을 사용 : OSPF 네트워크를 더 작은 영역으로 나눈 다음 관리를 하기에, 효율적인 라우팅 관리가 가능 4) Stub Area : 내부 라우터에게 외부 경로에 대한 정보를 차단하고 기본 라우팅만 전달하기에 라우팅 테이블의 크기가 대폭 감소하여 네트워크 안정성 보장 5) 대규모 네트워크 : RIP과 달리 Hop Count 제한이 없어 네트워크 크기 제한 X |
단점 | 1) 다른 라우팅 프로토콜보다 설정이 복잡 2) Best Path 계산 및 유지를 위해 CPU 등의 자원을 많이 이용하여 부담을 준다. |
* DR과 BDR
라우팅 테이블 정보의 전달 과정에서 DR과 BDR에게 건네주고, 그 이후에 넘겨받는 구조이다.
선출 과정 :
1 | 라우터의 우선순위는 기본 1로 설정(참여하지 않게 하려면 0으로 설정; 0은 참여하지 않음.) |
2 | 어떤 라우터가 이보다 높은 우선순위를 갖는다면, 그 라우터가 DR이 되고, 그 다음이 BDR로 선정 |
3 | 우선 순위가 같다면 Router-ID(관례상 Loopback IP)가 높은 라우터가 DR로 선정 |
4 | DR, BDR 선출 이후 우선순위가 높은 라우터가 네트워크에 추가 --> 이미 위의 선출과정이 끝났으므로 다음 선출때 참여가 가능 |
* OSPF LSA 7 Type
개념 : OSPF가 사용하는 '패킷 형태'의 라우팅 정보
타입 | 이름 | 생성하는 라우터 | 내용 | 전달 범위 |
Type 1 | Router LSA | 모든 라우터 | 자신의 Link-state 정보 | 소속 Area |
Type 2 | Network LSA | DR | DR과 연결된 라우터 정보 | 소속 Area |
Type 3 | Network Summary LSA | ABR | 다른 Area 정보 (네트워크 정보) |
소속 Area |
Type 4 | ASBR Summary LSA | ABR | ASBR의 위치 (ASBR ID 포함) |
소속 Area |
Type 5 | AS External LSA | ASBR | 외부 네트워크 정보 | 해당 AS |
Type 7 | NSSA(Not-So-Stubby Area) External LSA |
NSSA ASBR | 외부 네트워크 정보 | 해당 AS |
## 6-3. EIGRP (Enhanced Interior Gateway Routing Protocol)
개념 : 'Cisco 전용'으로 Distance Vector + Link-state 방식이 합쳐진 프로토콜이며, 'DUAL' 알고리즘을 사용한다.
(최적의 경로인 'Successor' 선출 후 백업 경로인 'Feasible Successor'를 선출)
이웃 전제 조건 | 1) 동일한 AS Number 2) 동일한 K상수와 가중치 |
동작 원리 | 1) 'Hello 패킷'을 인접 Router끼리 서로 교환한 후, 이웃 관계를 맺고 Neighbor Table을 생성 2) 'Update 패킷'을 통해 라우팅 정보를 교환하여 Topology table 생성 3) 'Topology 테이블 정보'를 종합하여 라우팅 경로를 계산하고, Best Path를 라우팅 테이블에 저장 |
Metric | 대역폭 + 지연 |
AD값 | 내부 90 // 외부 170 |
장점 | 1) OSPF에 비해서 설정이 단순 2) Metric 값이 다른 다수개의 경로를 동시에 사용할 수 있다. (백업 경로) 3) Unequal Cost 부하 분산 가능. (로드 밸런싱) |
단점 | 1) 국제 표준이 아니고 Cisco 전용이기에 호환성 문제가 있다. 2) 대규모 네트워크에서는 관리가 힘들다. (SIA 현상이 발생한다.) |
## 7. NAT & PAT // 공인 IP & 사설 IP
* NAT & PAT
패킷을 전송하기 전에 내부 네트워크의 등록되지 않은 개인 (내부 로컬) 주소를, 외부 네트워크의 등록 된 공개 (내부 전역) 주소로 매핑하는 데 사용되는 프로토콜 | ||
NAT (Network Access Translation) |
- 내부 네트워크 주소와, 외부로 변환되는 주소가 1:1로 매칭되는 것 - 막대한 보안성 강화를 안겨준다. 내부의 사설 IP가 공인 IP가 되어서 나가므로!! |
|
PAT (Port Address Translation) |
- 1개의 공인 IP 주소와, 여러 개의 사설 IP 주소를 물리는 것이다. (10.1.1.1:1040, 10.1.1.1:1041 이런식으로 앞의 사설 IP 주소는 같지만, 뒤에 포트 번호만 다르게 써나가는 것) - IP 주소를 절약할 수 있고, 우리가 주변에서 볼 수 있는 공유기가 이 PAT을 이용한 통신을 한다. |
* 사설 IP & 공인 IP
사설 IP | - 네트워크 안에서 사용되는 주소 - 하나의 네트워크 안에서 유일 - 가정이나, 소규모 사무공간에서 공유기 / 라우터 등의 장비가 하나의 공인 IP를 할당 받고 NAT방식을 통해 여러 컴퓨터가 나누어 쓰는 방식 |
공인 IP | - 전세계적으로 ICANN이라는 기관이 국가별로 사용할 IP 대역을 관리하고, 우리 나라는 인터넷 진흥원(KISA) 에서 우리나라 내에서 사용할 주소를 관리 - 전 세계에서 유일 |