라우터란?
- 지능을 가진 경로 배정기
- 외부의 어떤 인터넷 사이트를 찾아가는 데이터가 있다면 라우터는 이 데이터를 목적지까지 가장 빠르고 효
율적인 길을 스스로 찾아 안내해줌.
- 라우터가 하는 일은 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 |