본문 바로가기
네트워크

라우팅

by violetoz 2014. 2. 12.

라우터란?

 

- 지능을 가진 경로 배정기

- 외부의 어떤 인터넷 사이트를 찾아가는 데이터가 있다면 라우터는 이 데이터를 목적지까지 가장 빠르고 효

율적인 길을 스스로 찾아 안내해줌.

- 라우터가 하는 일은 Path Determination 과 Switching

- 라우터에 들어가는 OS를 IOS라고 한다.

인터페이스 : 라우터에 나와있는 접속 가능한 포트. Ethernet(내부네트워크와 연결) 과

                    Serial(외부 네트워크와 연결이 있다.

 

 

라우팅 프로토콜과 라우티드 프로토콜

 

라우팅 프로토콜 : 라우터에 살면서 라우티드 프로토콜들에게 목적지까지 가장 좋은 길을 갈 수 있게 해주는

                            역할. RIP,IGRP, OSPF, EIGRP 등

 

- 라우티드 프로토콜 : 라우팅을 당하는 프로토콜. TCP/IP,IPX등

 

 

라우팅 테이블

- 목적지, 목적지까지의 거리, 어떻게 가야 하는가의 내용이 담겨져 있는 테이블

- show route table : 라우팅 테이블 보는 명령어

- RAM에 저장이 되기 때문에 전원이 꺼지면 모두 삭제, 전원이 켜지면 다시 생성

- 라우팅 테이블을 관리하는 방식에는 디스턴스-벡터 알고리즘과 링크 스테이트 알고리즘

   있다.

 

-> 라우팅 프로토콜: 운전기사, 라우티드 프로토콜 : 고객, 라우팅 테이블 : 운전기사가 메모해두는 이정표

 

 

스태틱 라우팅 프로토콜과 다이내믹 라우팅 프로토콜

 

- 스태틱 라우팅 프로토콜 : 사용자가 일일이 경로 입력

                                   장점 : 라우팅 속도가 빠르고 라우터의 성능이 좋아짐

                                   단점 : 귀찮다. 입력해준 경로가 잘못될 경우 하나하나 

                                              수정

 

- 다이내믹 라우팅 프로토콜 : 라우터가 알아서 경로 설정 (RIP, OSPF, IGRP, EIGRP 등)

                                   장점 : 여러 가지 상황에서 자동으로 대응

                                   단점 : 라우터에 부담.                                           

 

 

 

AS, 내부용 프로토콜(IGP), 외부용 프로토콜(EGP)

 

- AS는 네트워크 관리자에 의해서 관리되는 네트워크 집단

   ->라우터가 가지는 정보를 효율적으로 관리하고 인터넷 서비스를 좀더 간편하게 하기 위해서

   ASBR : AS밖으로 나갈 때 거치는 문지기 라우터

 

IGP(interior Gateway Protocol) : AS 내부에서 사용하는 프로토콜(RIP, IGRP, OSPF등)

 

- EGP(Exterior Gateway Protocol) : AS 외부에서 사용하는 프로토콜(EGP, BGP등)

 

 

 

스태틱 라우팅, 디폴트 라우팅

 

- 스태틱 라우팅 : 운영자가 직접 경로 지정. 경로가 하나밖에 없는 stub 라우터용으로 많이 사용

                       

- 디폴트 라우팅 : 경로를 찾아내지 못한 모든 네트워크들은 모두 이곳으로 가라고 미리 정해놓은 길

                    

 

디스턴스 벡터(Distance Vector)와 링크 스테이트(Link State)

 

- 라우팅 테이블을 어떤 식으로 관리 하느냐에 따라 나뉘어 진다.

 

디스턴스 벡터 : 목적지까지의 거리와 그 목적지까지 가려면 어떤 인접 라우터(Neighbor Router)

                        를 거쳐야 하는 가만 저장 따라서 인접 라우터들과 주기적으로 라우팅 테이블을 교환

                        해서 자신의 정보에 변화가 생기지 않았는지 확인 (RIP, IGRP)

 

                       장점 : 한 라우터가 모든 라우팅 정보를 가지고 있을 필요가 없기 때문에 라우팅 테이블을

                            줄일 수 있어 메모리를 절약, 구성이 간단

                       단점 : 아무런 변화가 없더라도 정해진 시간마다 라우팅 테이블의 업데이트가 일어나기 때문

                            에 트래픽 낭비. 컨버젼스 타임이 오래 걸린다.

                            컨버전스 타임으로 인해 루핑이 발생 가능

                    

                       루핑 방지법 : 최대 홉 카운트, Hold down Timer(외부에서 해당 네트워크에 대한 라우팅

                         경로 정보를 받았을 때 원래 가지고 있던 메트릭 값보다 크면 무시)

                        스플릿 호라이즌(라우팅 정보가 들어온 곳으로는 같은 정보를 내보낼 수 없다. 두 라우트간

                        에만 루핑 방지), 라우트 포이즈닝(메트릭 값을 16으로 변경), 포이즌 리버스

 

 

링크 스테이트 : 한 라우터가 목적지까지의 모든 경로 저보를 다 알고 있다. (OSPF)

                      링크에 있는 정보를 토폴러지 데이터베이스로 만들어 SPF라는 알고리즘을 계산

                     SPF : 어디로 가야 가장 빨리 갈 수 있는가를 계산하는 알고리즘

           

                     장점 : 중간에 링크의 변화가 생겨도 이를 알아내는데 걸리는 시간이 짧다.

                             라우팅 테이블의 교환이 자주 일어나지 않고, 일어나더라도 교환된 것만 전달

                              트래픽 발생을 줄임

                     단점 : 메모리를 많이 소비, 라우터 CPU가 많은 일을 함

 

 

 

RIP 프로토콜

 

- 라우팅 프로토콜, 디스턴스 벡터 프로토콜, IGP 프로토콜

- 가장 구성이 쉽고 가장 단순

- 최적 경로를 찾아가는 방법 : 홉 카운트(라우터를 몇 번 거쳐서 목적지에 도달하는가)

- 디폴트 라우팅 업데이트 주기 : 30초

- 소규모 네트워크에서 많이 사용

 

장점 : 표준 프로토콜, 메모리를 적게 사용

단점 : 홉 카운트만을 가지고 경로 결정을 하기 때문에 회선 속도를 보지 않는다.

         최대 홉 카운트가 15이므로 16개부터는 갈 수 없다.

         VLSM 지원 안함

 

VLSM(Variable Length Subnet Mask) : IP주소의 효율적 이용을 위해 한 라우터에 접속되는 네트워

크마다 서로 다른 서브넷 마스크를 줄 수 있도록 만든 규칙 

 

 

IGRP 프로토콜

 

- 라우팅 프로토콜, 디스턴스 벡터 프로토콜, IGP 프로토콜

- 시스코에서 만든 프로토콜

- 최적 경로를 찾아가는 방법 : Bandwidth, Delay, Reliabilty, Load, MTU

- 디폴트 라우팅 업데이트 주기 : 90초

- 최대 홉 카운트 : 255

- VLSM 지원 안함

 

 

 

OSPF 프로토콜

 

- 라우팅 프로토콜, 링크 스테이트 프로토콜, IGP 프로토콜

- 컨버젼스 타임이 빠르다.

Area 라는 개념 사용 : 전체 OSPF 네트워크를 작은 영역으로 나누어 관리 하기 때문에 빠른 업데이트 가능

  -> 백본 Area 는 Area0, 백본 Area를 중심으로 구성

VLSM 지원

- 네트워크에 변화가 생길 때만 정보가 멀티캐스트로 전달

- 토폴로지에 따라 동작이 바뀜 : Broadcast Multiaccess, Point-to-Point, NBMA(Non Broadcast Multiaccess)

- 최적 경로를 찾아가는 방법

   -> 라우터는 주위에 있는 OSPF 라우터들을 찾아서 Hello Packet을 보냄 (멀티캐스트)

   -> Hello 패킷을 받은 OSFP 라우터들은 자신의 Neighbor 리스트에 추가(Inint 과정) 후 송신 라우터에게 유니

       캐스트로 자신들의 정보를 보냄

   -> 송신 라우터는 받은 정보를 Neighbor 리스트에 저장

  

Hello 패킷

- Router ID, Hello/Dead intervals, Neighbors, Area-ID, DR IP address, BDR IP address, Authentication

  password, Stub area flag

 

빨간색으로 표시한 부분이 일치해야 이웃으로 인정

Router ID는 보통 Loopback 인터페이스를 사용 -> IP주소의 높낮이에 상관 없이 무조건 Loopback 인터페이스

                                                                     가 라우터 ID가 된다.

 

DR과 BDR

 

- OSPF 세그먼트에서는 각 라우터들이 DR, BDR 에게만 자신의 Link State 를 전송(트래픽을 줄이고 일치성 관

리)

- 이 정보를 받은 DR은 이 정보를 모두 관리하면서 링크의 상태를 항상 일치 시켜줌

- BDR 은 DR이 하는일을 감시하다가 DR이 고장이 나거나 오류가 생기면 BDR이 DR 이 됨. BDR을 다시 선출

- 모든 라우터가 반드시 DR,BDR과 Link state를 일치 해야 함(Adjacency라고 함)

 

DR과 BDR 선출 과정

 

1. Piriority 가 높은 쪽(디폴트 Piriority는 0)

2. Router ID가 높은 쪽

-> 어떤 라우터를 DR,BDR 로 선출되지 않게 하려면 Piriority를 0으로 셋팅

 

 

OSPF링크의 변화가 생길 시

 

- 새로 OSPF라우팅이 구성되면 새 라우터는 자신의 정보를 LSA에 담아 DR,BDR에게 전송

- DR은 자신이 받은 정보를 다른 OSPF라우터들에게 재전송 BDR은 타이머를 세팅하고 감시

 

 

 

네트워크 접근 제어 액세스 리스트

 

- 네트워크에 접근하게 해줄지를 미리 정해놓은 리스트

- 보안을 위해 사용

- 리스트의 종류 : 스탠더드 액세스 리스트, 익스텐디드 액세스 리스트

- Host Unreachable :  액세스 리스트에 걸려서 못 들어가는 경우 라우터에 출력되는 메시지 내용

 

스탠더드 액세스 리스트  : 출발지 주소만을 참고

익스텐디드 액세스 리스트 : 출발지, 목적지, 프로토콜, 포트 등 여러가지를 참고

 

 

액세스 리스트의 4가지 규칙

 

1. 액세스 리스트는 윗줄부터 하나씩 차례로 수행

2. 액세스 리스트의 맨 마지막 Line에 "Permit Any" 를 넣지 않을 경우 디폴트로 어느 액세스 리스트와도

   매치되지 않은 나머지 모든 Address 는 Deny 된다.

3. 액세스 리스트의 새로운 Line은 항상 맨 마지막으로 추가되므로 access-list line의 선택적 추가나 제거가

   불가능

4. interface 에 대한 액세스 리스트의 정의가 되어 있지 않은 경우 결과는 permit any가 된다.

 ->2번은 액세스 리스트가 정의되어 있을 시, 4번은 액세스 리스트가 정의되어 있지 않을 시 

 

 

 

HSRP 프로토콜

 

- 장애 대비를 위한 기능

- 시스코에서 만든 프로토콜

- 2개의 라우터

VIP(Virtual IP)를 디폴트 게이트웨이로 셋팅한 다음 그 주소에 대해서 active라우터와 standby라우터의 역

  할을 두어 처음에는 active라우터가 역할을 수행하다가 active에 에러가 발생시 standby라우터가 active

  라우터가 되어 그 역할을 대신한다.

이중화 라고도 한다.

 

 

 

폴트 톨러런트와 로드 밸런싱

 

- 폴트 톨러런트 : 이중 구조, HSRP와 같은 기능을 하는 구조

로드 밸런싱 : 로드 분산, active-standby가 아닌 active-active로 하여 두 회선으로 동시에 전송

                    하나의 링크가 끊어지면 다른 링크로 이전. 이 때는 폴트 톨러런트와 로드 밸런싱을 겸하게 됨

 대부분의 로드 밸런싱은 폴트 톨러런트가 가능하나 폴트 톨러런트는 로드 밸런싱이 안 되는 경우도 있다.

 

 

 

 

NAT(Network Address Translation) 

 

- 한 쪽 네트워크의 IP주소가 다른 네트워크로 넘어갈 때 변환이 되어서 넘어가는 것

- NAT 를 쓰는 이유

   -> 내부의 네트워크에는 비공인 IP주소를 사용하고 외부 인터넷으로 나가는 경우에만 공인 IP 주소를 사용

       하고자 하는 경우

   -> 기존에 사용하던 ISP에서 새로운 ISP 로 바꾸면서 내부 전체의 IP를 바꾸지 않고 기존의 IP주소를 그대로

       사용하고자 하는 경우

   -> 두 개의 인트라넷을 서로 합하려다 보니 두 네트워크의 IP가 서로 겹치는 경우

   -> TCP 로드 분배가 필요한 경우

 

NAT 의 종류

 

Symmetric NAT : 목적지에 따라 다른 공유기의 외부 IP:Port를 가진다(ex, NAT-PAT)

 

Cone NAT : 목적지에 관계 없이 외부 IP:Port 가 변하지 않는다(ex, 1:1 NAT)

 

<출처 : http://www.nexpert.net/75>

[출처] 라우터란?|작성자 정보 보안


'네트워크' 카테고리의 다른 글

Node.js 시작하기  (0) 2014.04.08
윈도우 소켓프로그래밍 C++ 기본 소스  (1) 2014.02.14
congestive collapse 대충 컨제스티브 컬랩스  (0) 2014.02.11
소켓 IO overlapped CallBack  (0) 2013.05.22
IOCP 구현  (0) 2013.05.22