본문 바로가기
기타/인턴활동

네트워크 기초 교육 - 3주차(Router동작, Router Protocol, NAT, DHCP )

by Royal! 2021. 6. 23.
728x90
반응형

Router

- OSI7 Layer에서 네트워크 계층(L3)에서 동작

- 논리적으로 분리된 망, 혹은 물리적으로 분리된 망 사이를 지나야하는 패킷에게 경로를 제공

 

Routing

- 적절한 경로로 네트워크를 연결하는 것

- Routing Tabl을 활용하여 Routing한다.

Routing Table

- 목적지까지 정확하고 최단거리 경로 검색

- Router는 자신이 가지고 있는 Routing Table상의 정보를 가지고 Packet을 Routing한다.

 

Routing Table이 가지고 있는 소유정보 4개

- 목적지의 네트워크 주소(Destination Address)

- 목적지의 네트워크로 Packet을 보내기 위한 자신의 Interface

- 목적지의 네트워크에 Packet을 보낼 때의 다음 경로 주소

- 목적지의 최적 경로를 선택하기 위한 값


IGP(Interior Gateway Protocol)

- RIP, IGRP, EIGRP, OSPF

 

RIP : 관리자가 일일이 경로를 지정하지 않아도 알아서 Packet이 길을 찾아 나가는 다이나믹 라우팅 프로토콜(Dynamic Routing Protocol)의 방식 중 디스턴스 벡터(Distance Vector)라우팅 방식 프로토콜로 오로지 거리(Hop/라우터 1대를 의미)와 방향을 기준으로 데이터가 담긴 Packet을 전달하는 Protocol

 

 

특징

- AS(Autonomous System,자율시스템)내부를 구성하는 내부용 라우팅 프로토콜(IGP)

- 경로를 설정하는 기준의 거리(Hop)카운트로서 최대 15개까지 허용

 

장점

- 소규모 네트워크에서 효율적이다

- 구성이 간편하다

- 표준 라우팅 프로토콜로 모든 제조사에서 지원한다

 

단점

- 홉 수가 16개 이상이면 네트워크를 찾지 못하며 데이터를 보내지 못하기 때문에 대규모 네트워크에서는 한계가 있다

- 전체 경로를 담은 라우팅 테이블을 주기적으로 Broadcast함에 따라 전체 네트워크 트래픽을 유발해 시스템에 부하↑

- Default 라우팅 테이블 업데이트 주기가 30초, Hop의 Down등 정보가 늦게 전달되어 잘못된 경로로 무한 루프가 발생할 수 있다.

 

RIP에는 2가지 버전이 있다

VLSM(Variable Length Subnet Masking, 가변 길이 서브넷 마스크) : 서브넷의 서브넷이다. 이미 나누어진 서브넷에서 필요한 만큼의 길이로 가변의 프리픽스(Prefix)를 통해 다시 한번 더 서브넷을 나눌 수 있다

 

동작과정

- 매 30초 마다 RIP 응답메세지(RIP Packet)를 Broadcast한다. 

- 상대에게 수신된 네트워크 정보를 제외한 모든 네트워크 정보를 상대에게 알려준다

- 수신한 Router는 자신의 Routing Table을 재작성한다

- 다중 경로를 지원한다. 네트워크 송신지와 수신지 사이에서 비용이 동일하지 하지 않은 경로를 6개까지 유지 가능


IGRP/EIGRP

 

IGRP(Interior Gateway Routing Protocol)

- 내부 게이트웨이 라우팅 프로토콜 (Cisco가 개발한 거리벡터 내부 게이트웨이 프로토콜)

- IGRP는 RIP의 제약 조건(최대 Hop수 16개 이상 X)을 부분적으로 극복하기 위해 개발

- IGRP는 최대 Hop수 255이며 Routing Table Update를 90초마다 Broadcast한다.

 

장점 

- 중간 규모의 네트워크에 적합

- 댜양한 요소에 대해 계산 후 최적의 경로 설정

- 운영 및 설정이 간단하다

- 다중 경로 Routing(멀티패스 Routing)을 지원한다

 

단점

- 국제 표준이 아니다

- 계산 과정이 복잡하다


EIGRP(Enhanced Interior Gateway Routing Protocol)

- EIGRP는 디스턴스 벡터(Distance Vector)인 IGRP를 발전시켜 만든 Routing Protocol(Advanced Distance Vector)

- 기존에는 Cisco 전용 Protocol이었으나 2016년부터 국제표준으로 지정

- Router 내 대역폭과 처리 능력의 이용뿐 아니라 토폴로지(망 구성 방식)가 변경뒤 일어나는 불안정한 Routing을 최소화 하는데 최적하된 고급 거리 라우팅 프로토콜

 

특징 

- IGRP의 Matric방식을 그대로 사용하여 최적의 경로를 탐색한다

- 라우팅 정보 전송을 위해 포트번호 88번을 사용한다

- Link-state 라우팅 프로토콜 처럼 네트워크 변화에 즉시 Update를 해준다

 

장점

- 경로 학습 방식이 Distance Vector이기 때문에 Link-state에 비해 비교적 리소스 발생이 적다

- 네트워크 변화에 즉각적으로 반응, 문제가 생기면 최적의 경로로 재설정해 준다

 

단점

- 중소규모 네트워크는 문제가 없지만 대규모 네트워크에서는 SIA혀낭이 발생하여 관리가 힘들다

 

IGRP vs EIGRP


Link-state란?

Link-state Routing Protocal은 이웃을 맺은 Router들에게 Routing Update를 보내면서 최적의 경로를 찾는 것

최종 목적은 모든 라우터가 같은 link-state database(LSDB)를 가지게 하는 것이다

 

link-state Router는 모든 상세 정보를 모든 Router에 전파(Flooding)하고 이 정보를 RAM 안에 LSDB라고하는 데이터 구조체에 저장하고 각 Subnet에 대한 최선의 경로를 계산하는데 사용한다.


OSPF

관리자가 일일이 경로를 지정하지 않아도 알아서 Packet이 길을 찾아 나가는 Dynamic Routing Protocol 방식중 

Link state를 확인하여 최단 경로를 찾는 알고리즘을 바탕으로 Packet을 전달하는 Protocol

 

최단 경로를 선택하기위해 Link-state의 Dijkstra(다익스트라)의 SPF(Shortest Path First)알고리즘을 사용한다

 

동작과정

 

 

장점

- 빠른 재수렴(Fast Reconvergence) : 네트워크의 모든 Router간에 정보를 주고 받는데 걸리는 시간을 컨버전스 타임

이 컨버전스 타임이 빠르다.

- 부분 갱신(Partial Update) : link-state의 변화시에만 라우팅 정보를 전송하므로 리소스 낭비 방지

- 홉 카운트 제한이 없어 네트워크 크기에 제한이 없다

- Area단위로 구성되어 네트워크를 안정되게 운영가능하다

( 특정 Area에서 발생하는 상세한 라우팅 정보가 다른 Area로 전송되지 않아 큰 규모에서 안정되게 운영 가능)

- Classless 지원

 

단점

- 계층적 구조를 반드시 따라야 하며, 설정이 어렵다


EGP(Exterior Gateway Protocol)

 

BGP

글로벌 네트워크는 최종적으로 AS라는 집단(EX - 하나의 인터넷 회선 사업자가 가지고 있는 모든 라우터들의 그룹)끼리 상호 통신을 하게 된다. 이 AS들 끼리 서로 라우팅 경로를 주고 받으며 통신을 가능하게 하는 것이 BGP다.

 

하나의 도메인 안에서 사용되는 OSPF와 같은 IGP와 다르게 BGP는 상이한 도메인(EX - 다른 ISP업체)간에 라우팅 정보 교환이 주목적이다

 

특징

- 하나의 AS를 하나의 Hop으로 계산

- 무한 루프에 빠지지 않는 라우팅을 보장

- 신뢰성 있는 TCP 기반의 연결을 통해 라우팅 정보 교환

 

장점

- BGP 회선 장애 시 우회경로 생성

- 최적의 외부 Routing 경로 생성(가장 짧은 AS(자율시스템)-Path)설정

- IGP(RIP, IGRP, OSPF, EIGRP)등과 재분배 가능

 

단점

- BGP ISP 연결은 가능하나 Load Balancing 설정이 어렵다

- 장비에 BGP Update를 위한 CPU와 Memory 사용이 많다


Static Routing vs Dynamic Routing

 

Static - 직접 Routing Table을 설정하여 Router 이동 경로를 지정(next-hop ip 또는 next-hop을 사용해서 경로 지정)

Dynamic - 장비가 스스로 경로를 설정


NAT 

사설 IP를 공인 IP 주소로 변환 시켜주는 경우 많이 사용한다

 

장점

- IP 주소 절약 → 하나의 공인 IP에 여러 대의 호스트가 인터넷에 접속 할 수 있다

 

- 네트워크 보안 → NAT 동작 특성상 IP를 숨길 수 있다. EX - 공유기 등 외부로 트래픽이 나갈 때는 사설 IP가 공인 IP주소로 바뀌므로 공격자가 라우터 안 쪽에 있는 사설 IP를 모르기 때문에 최종 목적지로 공격이 어려워진다

 

- 효과적인 주소 할당 

 

동작원리

1 - Packet Header에 출발지와 목적지 주소를 기록한다. 출발지는 자신의 사설 IP를 입력

EX) Source IP : 10.0.0.1  / Destination IP : 200.100.10.1

 

2 - 기본 Gateway(공유기)에서는 외부로 나가는 Packet을 인식하면 출발지 IP 주소를 게이트웨이 자신의 공인 IP로 변경한다. 이 때 별도의 NAT Table에 보관

EX) Source IP : 10.0.0.1 → 150.150.0.1 (기록하여 변경) / Destination IP : 200.100.10.1

 

3 - 웹 서버에서 수신한 데이터를 처리 후 응답하여 보내는 Packet에 출발주소/목적지 IP 주소를 아래와 같이 기록하여 보낸다. 특히 이 때 목적지의 IP주소는 호스트의 기본 게이트웨이 공인 IP주소가 된다

EX) Web Server Source IP : 200.100.100.1 / Destination IP : 150.150.0.1

 

4 - 호스트의 기본 게이트웨이에서 웹 서버가 보낸 Packet을 받으면 기록해두었던 NAT Table을 참조하여 최종 목적지인 호스트의 사설IP주소로 변경하여 해당 호스트에 Packet을 전달한다

EX) Source IP : 200.100.10.1 / Destination IP : 150.150.0.1 → 10.0.0.1

 

만약 사설 네트워크 한 대의 호스트가 아닌 여러 대의 호스트가 같은 목적지와 통신하고자 할 때 되돌아오는 패킷의 최종 목적지가 어디가 되어야 하는지 모르는 혼선이 생긴다. 이를 해결하기 위해서는 별도의 추가 포트를 설정하여 Packet을 구분하는 PAT(또는 NAPT)방식을 이용한다.

 

주소 할당 방식에 따른 NAT 종류

- StaticNAT(1:1 NAT)

공인IP 주소와 사설 IP주소가 1:1로 매칭되는 방식. 이 경우 구성 특성상 공인 IP 주소의 절약 효과는 없다.

주로 포트포워딩을 목적으로 사용한다.

 

- DynamicNAT(N:N NAT)

여러 개의 공인 IP 주소 대비 사설IP 갯수가 더 많을 경우. 즉 내부의 네트워크 호스트의 숫자가 많을 경우 사용한다

 

- PAT(Port Address Translation 또는 NAPT(Network Address Port Translation)(1:N NAT)

공인 IP주소 1개에 사설 IP 여러 개가 매칭되는 시스템이다. PAT 방식은 사설 네트워크 내 각 호스트에 임의의 포트번호를 지정하여 사설IP와 해당 포트번호를 공인IP주소와 해당 포트번호를 매칭/치환하는 방식이다. 포트를 지정하는 이유는 Packet을 내부 네트워크 내에 있는 목적지에 올바르게 보내기 위해서다

7575, 22 포트를 향해 Packet을 전달

 

패킷의 방향에 따른 NAT 구분

 

- SNAT(Source Network Address Translation)

내부에서 외부로 나가는 Packet의 출발지 IP 주소를 변경하는 것으로 SourceNAT, SNAT 혹은 IP 마스커레이드라고 한다. 즉, 인터넷으로 나가는 Packet의 출발지 IP주소를 게이트웨이의 공인 IP주소로 바꿔주는 방식 대표적으로 인터넷 공유기가 있다.

 

- DNAT(Destination Network Address Translation)

외부에서 내부로 들어오는 Packet에 있는 목적지 IP주소를 변경하여 최종적으로 내부에 있는 호스트에 Packet이 도달할 수 있도록 하는 것. 대표적 장비로 방화벽, Load Balance가 있다.

 

- Twice NAT

출발지 주소와 목적지의 주소가 모두 바뀌는 방식. 다른 두 지점 간 연결을 위한 중간 네트워크 허브 구조를 이용할 시 사용

 

- Hairpin NAT 또는 NAT Loopback


DHCP(Dynamic Host Configuration Protocol) - RFC 2131 표준

호스트의 IP주소와 각종 TCP/IP Protoco의 기본 설정을 클라이언트에게 자동적으로 제공해주는 Protocol이다. TCP/IP Protocol에는 IP, NETMASK, Gateway, DNS 같은 것들이 있다. 이런 정보를 DHCP Server가 가지고 있다 클라이언트로 부터 요청이 올 시 자신이 가지고 있는 정보를 주는 것이다.

 

DHCP 통신 흐름(DORA)

- Discover(Client) : 클라이언트가 DHCP 서버를 찾기 위한 Packet을 말하며, Broadcast로 전송하며 LAN상에서 DHCP가 있는지 찾는다.

- Offer(Server) : 서버가 Discover Packet으 받았으면 자신이 임대해줄 수 있는 네트워크 정보와 함께 자신의 IP를 전달

- Request(Client) : 클라이언트가 전달 받은 네트워크 정보를 사용하겠다고 DHCP에게 전달하는 Packet. Offer에서 DHCP 서버의 IP를 전달 받았으니 이번에는 Broadcast가 아닌 DHCP 서버에게만 Packet을 전달

- Ack(Server) : Request를 전달받은 DHCP가 최종적으로 승인을 내리고 네트워크 정보를 임대해준다.


DHCP는 IP주소를 줄 때 임대(Lease), 갱신(Renewal), 반환(Release) 개념이 존재

- 임대(Lease) : DORA 과정을 통해 IP를 받는 과정. 기본 설정을 할 수 있다. 예를 들어 유동인구가 많은 카페에서 임대 시간을 4시간, 5시간으로 설정하면 더 이상 제공할 주소가 없어진다. 윈도우의 ipconfig/renew가 임대과정이다.

 

- 갱신(Renewal) : 가지고 있는 IP를 갱신한다는 뜻. 예를 들어 2시간 임대 설정돼 있으면 2시간 간격으로 DORA발생으로 불필요한 트래픽이 발생한 것. 따라서 임대 시간이 되기 전 갱신을 시도한다. 해당 클라이언트의 정보를 알기 때문에 유니캐스트 통신을 시도하며 2번의 갱신 시도가 실패로 끝나면 반환한다.

 

- 반환(Release) : 갱신 과정에 모두 실패하여 임대 시간이 지났거나, IP주소를 더 이상 사용할 필요가 없을 때 IP를 반환한다. 만약 임대 시간이 지난 후에도 DHCP 서버와 클라이언트간의 통신이 이루어지지 않으면 반환으로 처리하다.

ipconfig/release 명령어가 반환 과정을 거친다.

 

장점

- IP 충돌 방지

 

단점

- DHCP 서버가 다운되면 IP 할당이 제대로 이루어지지 않는다.

728x90
반응형