[Network] 라우터에 대한 개념 정리
카테고리: Network
7. 라우터만 알면 네트워크 도사?
1. 라우터를 한마디로 말하자면…
네트워크를 하는 사람이 가장 자주 만나는 장비는 라우터이다.
인터넷을 사용하기 위해서, 서로 다른 네트워크 간 통신하기 위해서, 그리고 브로드캐스트 영역을 나눠주기 위해서이다.
라우터란, 한마디로 지능을 가진 경로 배정기라고 할 수 있다.
지능을 가진 경로 배정기란 말은 라우터는 자신이 가야 할 길을 자동으로 찾아서 갈 수 있는 능력을 가진 것을 말한다. 즉 외부의 어떤 인터넷 사이트를 찾아가는 데이터가 있다면 라우터는 이 데이터를 목적지까지 가장 빠르고 효율적인 길을 스스로 찾아 안내해 주는 능력을 가지고 있다.
2. 라우터는 무슨 일을 할까요?
라우터는 두가지 일을 하는데 하나는 Path Determintation(경로 결정)이고, 또 하나는 Switching이다.
경로 결정이란, 데이터 패킷이 목적지까지 갈 수 있는 길을 검사하고 어떤 길로 가는 것이 가장 적절한지를 결정한다.
스위칭이란, 경로가 결정되면 그쪽으로 데이터 패킷을 스위칭한다.
라우터는 어떻게 가장 좋은 길을 찾아가는 걸까? 라우터가 가장 좋은 길을 찾는 데는 라우팅 알고리즘, 즉 라우팅 프로토콜이 사용된다.
라우팅 알고리즘을 위해서 라우팅 테이블이란 것을 만들어서 관리한다. 즉, 라우팅 테이블에는 어디로 가려면 어떻게 가라는 지도 정보가 들어있다.
이러한 라우팅의 기능을 위해서 PC처럼 CPU도 가지고 있고, 메모리도 가지고 있고, 또 인터페이스도 가지고 있다.
📌내용 정리📌
- 라우터는 경로 결정과 스위칭을 하는 장비이다.
- 가장 좋은 경로를 결정하기 위해 라우팅 알고리즘을 사용한다.
- 라우팅 알고리즘은 라우팅 테이블을 만들어서 관리한다.
3. 라우터는 어떻게 생긴 녀석일까요?
4. 라우팅 프로토콜과 라우티드 프로토콜
TCP/IP와 IPX, AppleTalk 등 우리가 아는 모든 프로토콜은 전부 라우티드 프로토콜이다.
라우티드 포토콜이란, 말 그대로 라우팅을 당하는, 즉 라우터가 라우팅을 해주는 고객을 뜻한다.
라우팅 프로토콜은 고객을 안전하고 빠르게 전달해주는 기사라고 볼 수 있다. 즉 라우터에 살면서 라우티드 프로토콜들에게 목적지까지 가장 좋은 길을 갈 수 있게 해주는 역할을 한다.
라우팅 프로토콜에는 RIP(Routing Information Protocol), IRGP(Interior Gatway Routing Protocol), OSPF(Open Shortes Path First), EIGRP(Enhanced Interior Gateway Routing Protocol) 등이 있다.
라우팅 프로토콜은 다른 말로는 ‘라우팅 알고리즘’이라고도 한다. 라우팅 알고리즘은 자신의 라우팅 테이블을 가지고 있으면서 자기가 찾아갈 경로에 대한 정보를 이곳에 기억해둔다. 어디가 가장 빠르고 안전한 길인지.
즉, 라우팅 테이블은 운전기사(라우팅 프로토콜)가 있으면서 어떤 길이 좋은 길인지 메모해 두는 이정표 같은 것이라고 생각하면 된다.
또, 어떤 알고리즘을 사용하는가에 따라서 라우팅 테이블 내용은 달라지게 된다. 왜냐하면 운전기사별로 메모하는 버릇이 다를 테니까 말이다.
라우팅 테이블에는 주로 목적지, 그리고 그 목적지까지의 거리, 그리고 어떻게 가야 하는가 등의 내용이 들어있다. 라우팅 테이블은 시간이 지나면서 계속 업데이트 된다.
📌내용 정리📌
- 라우티드는 자동차에 타는 승객이고, 이 자동차를 운전하는 것이 라우팅 프로토콜이다. 자동차는 라우터이다.
- 자동차의 운전기사는 자기가 가는 목적지에 대한 이정표를 가지고 있는데, 이를 라우팅 테이블이라고 한다.
5. 스태틱 라우팅 프로토콜과 다이나믹 라우팅 포로토콜
라우팅 프로토콜을 구분할 때 스태틱과 다이나믹 라우팅 프로토콜로 구분한다.
스태틱은 말 그대로 한 번 정해놓으면 죽으나 사나 정해진 그대로 수행하는 프로토콜을 말하고, 다이나믹은 상황에 따라서 그때그때 변화가 가능한 프로토콜이다.
스태틱 라우팅 프로토콜의 경우는 라우터에 사람이 일일이 경로를 입력해주는 것이다. 가장 빠르고 좋은 길을 찾아서 말이다. 그럼 라우터는 사람이 입력해 준대로 데이터를 보내기만 하면 된다.
그리고, 아무 생각 없이 데이터를 넘기기만 하면 되니까 라우터 입장에서 봤을 때는 생각할 게 별로 없다. 시키는 대로 하기 때문에 따로 이정표도 많이 가지고 있을 필요도 없다.
즉, 라우터 자체에는 부담이 들지 않아 라우팅하는 속도도 빨라지고 라우터의 성능이 좋아지게 된다. 물론 메모리도 적게 든다. 그리고 사람이 경로를 알려주는 방식이기 때문에 다이나믹 라우팅 방식처럼 라우터들끼리 라우팅 테이블을 교환할 필요도 없다. 따라서 네트워크의 대역폭을 그만큼 절약할 수 있다. 그리고 외부에 자신의 정보를 알리지 않기 때문에 보안에도 강하다.
그러나 단점도 있다.
사람이 일일이 목적지별로 경로를 넣어줘야 하기 때문에 귀찮고, 입력해준 경로에 문제가 생기면 큰일이 발생한다.
다이나믹 라우팅 프로토콜의 경우에는 문제가 생겨도 자동으로 판단하고 그때그때 가장 좋은 길을 찾아내는 방식이다.
하지만, 라우터가 할 일이 많아지기에 라우터에 부담을 준다. 예를 들어, 어떤 길이 가장 빠른 길인지 계산을 해야 하고, 또 시간이 지날 때마다 바뀐 정보는 없는지 계속 확인해 봐야 하며, 이정표도 계속 업데이트 해야 한다.
일반적으로 이야기하는 RIP, IGRP, OSPF EIGRP 등이 이런 다이나믹 라우팅 프로토콜에 해당한다.
일반적인 라우팅 환경에서는 여러 가지 상황에 자동으로 대응할 수 있는 장점이 있고, 또 자동으로 가장 좋은 길을 찾아가는 다이나믹 프로토콜을 주로 사용한다.
하지만 어떨 때는 라우팅 성능을 높이기 위해 스태틱을 사용하기도 한다. 또 라우터가 선택할 수 있는 경로가 오직 하나뿐일 때는 다이나믹 프로토콜을 쓸 필요가 없을 수도 있다.
📌내용 정리📌
- 라우팅 프로토콜에는 ‘스태틱 라우팅’과 ‘다이나믹 라우팅’이 있다.
- 스태틱 라우팅은 정해진 길만을 가기에 일일이 구성을 해줘야 하고, 문제가 생겨도 해결할 수 없다.
- 다이나믹 라우팅은 알아서 길을 찾아가는 장점이 있는 대신 라우터가 할 일이 많아진다.
6. 라우팅 테이블에 대한 이야기
라우팅 테이블이란 라우터가 어떤 경로를 찾을 때 사용하는 것이고, 이것은 사용하는 라우터의 프로토콜에 따라 달라지며, 항상 최적의 경로를 찾아 라우팅 테이블에 유지한다.
라우터에게 가장 중요한 것은 무엇일까? 그것은 바로 '라우팅 테이블'이라고 불리는 지도이다.
지도란, 여러 가지 정보를 종합해서 얻어낸 네트워크에 대한 지도이다. 즉 어떤 목적지에 가기 위해서 어떤 경로를 이용해서 가야 된다는 써놓은 정보이다.
라우터는 전원을 켜는 그 순간부터(라우팅 프로토콜에 대한 세팅은 이미 되어 있다고 가정) 라우팅 테이블을 만들기 시작해서 어떤 패킷이 길 안내를 요청하면 라우팅 테이블을 보고 길을 안내해준다.
그렇다면 전원이 꺼지는 경우에는 어떻게 될까?
라우터에서 라우팅 테이블에 대한 정보가 모두 지워지게 되고 전원이 켜지면 다시 만들어진다.
📌내용 정리📌
- 라우터는 라우팅 테이블이라는 경로에 대한 지도 정보를 유지하고 있다.
- 라우팅 테이블은 RAM에 정보가 올라가기 때문에 파워가 꺼지면 전부 지워져 버린다. 다시 파워를 켜면 수초 또는 수분 만에 다시 만들어진다.
7. AS, 그리고 내부용과 외부용 라우팅 프로토콜
AS는 ‘Autonomous System’의 약자로, 하나의 네트워크 관리자에 의해서 관리되는 라우터들의 집단이라고 생각하면 된다.
또 어떤 의미로는 하나의 관리 규정 아래서 운융되는 라우터의 집단 또는 하나의 관리 전략으로 구성된 라우터 집단 등으로, 쉽게 말하면 한 회사나 기업, 또는 단체의 라우터 집단이라고 생각하면 된다.
예를 들어 어떤 기업이 네트워크를 구축하게 되면 그 네트워크 안에는 여러 대의 라우터가 올 수 있다. 이 기업에 소속된 모든 라우터들은 그 기업의 네트워크 관리자에 의해 관리를 받게 되는데, 이런 그룹이 바로 AS가 됩니다.
또, KT, 데이콤과 같은 ISP 업체들도 자신들의 가진 라우터가 한두 대가 아닐 것이다. 이렇게 ISP들이 보유하고 있는 라우터 그룹이 하나의 AS가 된다.
라우터들을 다시 AS라는 그룹으로 묶어주는 이유는 라우터가 가지는 정보를 효율적으로 관리하고 인터넷 서비스를 좀 더 간편하게 제공하기 위해서다.
즉, AS 안에 있는 라우터들은 자신의 AS에 속해 있는 라우터에 대한(물론 자신들 내부의 네트워크 정보) 정보만 알고 있으면 된다. 그러다가 외부, 즉 AS 밖으로 나갈 때는 그 AS에 있는 문지기 라우터(ASBR:Autonomous System Boundary Router)에게 정보를 물어봐서 밖으로(인터넷) 나가는 것이다.
문지기 라우터는 자신의 AS와 인접해 있는 다른 AS에 대한 정보를 가지고 있으면서 자기 AS에서 밖으로 나가는 라우터나 외부 AS에서 자기 AS쪽으로 들어오는 라우터에게 정보를 제공한다.
이런 시스템 때문에 라우터들은 인터넷에 접속하더라도 전 세계의 모든 네트워크에 대한 정보를 다 가지고 있을 필요가 없고, 단지 자신이 속한 AS에 대한 정보만 가지면 된다.
이때 라우터가 AS 내부에서 사용하는 라우팅 프로토콜을 Interior Routing Protocol 또는 Interior Gateway Protocol(IGP)이라고 하고 AS 간에, 즉 AS 외부에서 서로 라우팅 정보를 주고받기 위해 라우터가 사용하는 프로토콜을 Exterior Routing Protocol 또는 Exterior Gateway Protocol(EGP)이라고 한다.
Interior Routing Protocol의 예로는 RIP, IGRP, EIGRP, OSPF 등이 있고, Exterior Routing Protocol의 예로는 RGP, BGP 등이 있다.
따라서 본사와 지사 간에 라우터를 설치할 경우에는 RIP나 OSPF등 IGP를 사용하고, 본사의 라우터가 인터넷 서비스 업체와 연결을 해서 인터넷을 사용할 경우는 BGP 같은 EGP를 사용한다.
📌내용 정리📌
- AS 안에서는 Interior Routing Protocol, 즉 내부용 라우팅 프로토콜을 사용한다.
- AS와 AS간의 통신에는 라우터에서 BGP 같은 Exterior Routing Protocol, 즉 외부용 라우팅 프로토콜을 사용한다.
8. 라우터 구성의 시작
라우터를 실제 설치할 때는 여러가지 방법이 있다.
- 첫번째. 콘솔 케이블을 이용한다
- 두번째. 원격지에서 모뎀을 이용해 구성한다.
- 세번째. IP 주소가 세팅된 다음에 네트워크를 통해서 접속하는 텔넷을 이용한 구성
- 네번째. 네트워크 관리 시스템이 있는 곳에서 사용하는 NMS를 이용한 구성
- 다섯번째. 미리 구성된 파일을 저장했다가 나중에 라우터로 다운로드하는 TFTP 서버를 이용한 구성
9. 라우터의 중요한 몇 가지 모드
- RXBOOT 모드 : 라우터의 패스워드를 모르는 경우나 라우터의 이미지 파일(IOS)에 문제가 생긴 경우에 복구를 위해 사용한다.
- 셋업 모드 : 라우터를 처음 구매해서 파워를 켰거나 라우터에 구성 파일이 없는 경우 라우터가 부팅하면서 자동으로 들어가는 모드이다.
- 유저 모드 : 주로 테스트, 즉 현재 상태를 볼 수 있다. 핑을 해본다든지, 아니면 트레이스 등을 해볼 수 있다.
- 프리빌리지드 모드 : 모든 라우터의 명령이 가능핟. 구성을 볼 수도 있고 변경할 수도 있다.
- 구성(Config) 모드 : 라우터의 구성 파일을 변경하는 경우에 사용하는 모드이다. 프리빌리지드 모드에 있어야 해당 모드에 들어갈 수 있다.
10. 라우터 안에는 어떤 것들이 살까요?
-
인터페이스
– 네트워크와 라우터에서 직접 연결되는 부분이다.
– 허브나 스위치와 연결하는 이더넷 인터페이스 또는 DSU나 CSU와 연결하는 Serial가 이것이다. -
램
– 라우터를 운용하는 운용 시스템이 올라가게 된다.
– 램은 파워가 꺼지면 모두 지워지기 때문에 운용체제도 파워가 켜진 다음에 램 위로 올라오게 된다. – 운영체제를 IOS(Internetwork Operating System)를 사용한다.
– 운영체제가 올라가고 그 다음은 라우팅 테이블이 올라간다.
– 구성파일이 올라간다. (라우터의 주소, 라우팅 프로토콜, 보안 등)
– ARP 캐시나, 패스트 스위칭에 대한 캐시를 가지고 있다. -
NVRAM(Non Volatile RAM)
– 전원을 끈 상태에서도 정보가 날아가지 않는 램을 뜻한다.
– 구성 파일을 백업하는 용도로 사용한다. -
Flash 메모리
– 운영체제인 IOS(Internetwork Operating System)는 플래시 메모리에 저장된다.
– 전원이 꺼져도 데이터가 지워지지 않는 곳이다.
– NVRAM과 다른 점은 NVRAM에 비해서 플래시 메모리는 용량이 크다. -
ROM
– 라우터의 가장 기본적인 내용이 들어간다.
– 기본적인 IOS가 들어가있다.
11. 내가 가진 라우터의 현재 정보는 모두 이곳에!
12. 라우터 셋업 모드
13. 라우터에 명령을 입력하는 두 번째 방법
14. 스태틱(Static) 라우팅을 이용한 구성
스태틱 라우팅 프로토콜은 라우터 운영자가 직접 경로를 입력해 주기 때문에 라우터는 라우팅하는데 머리를 쓰지 않아 빠르게 라우팅이 가능하다.
또한, 라우팅 테이블도 적게 사용한다는 장점이 있는 반면에 운영자가 입력해준 경로에 문제가 생겨도 다른 길을 자동으로 찾아내지 못하고 다시 운영자가 수정해줄 때까지 기다린다는 단점이 있다.
따라서, 스태틱 라우팅 프로토콜은 갈 수 있는 경로가 하나밖에 없는 Stub 라우팅용으로 많이 사용됩니다.
Stub 네트워크란, 오직 하나의 경로만은 통해서 외부 망과 연결된 네트워크를 말한다.
대표적인 Stub 네트워크를 하나 예로 들어본다면 게임방이다.
15. 스태틱 라우팅만 알면 디폴트 라우트는 식은 죽 먹기
스태틱 라우팅과 같은 계열이면서 우리가 일상 네트워크 환경에서 가장 많이 사용하는 디폴트 라우트(Default Route)를 알아보자.
디폴트 라우트란, 경로를 찾아내지 못한 모든 네트워크들은 모두 이곳으로 가라고 미리 정해 놓은 길이다. 즉, 여러 가지 라우팅 프로토콜에 의해서 길을 다 찾아간 다음에 그래도 길을 못 찾은 네트워크가 있다면 무조건 이곳으로 가라고 말해준다.
디폴트 라우트는 정말로 많은 곳에서 사용한다.
먼저 인터넷을 사용하는 라우터이다. 가장 많이 사용하는 인터페이스쪽으로 디폴트 라우트를 잡아놓으면 다른 경로에서 해당 네트워크를 못 찾을 때는 무조건 인터넷쪽 인터페이스에 가보게 되는 것이다.
두 번째는 Stub 네트워크에 있는 라우터이다. Stub 네트워크에 있는 라우터는 갈 수 있는 경로가 하나밖에 없으니까 그 하나의 길만 디폴트 라우트로 만들어 놓으면 계속 그 길로만 다니게 된다.
디폴트 라우트를 만드는 방법은 2가지가 있다.
첫 번째는 디폴트 네트워크를 이용한 방법이다.
두 번째는 스태틱 명령을 이용한 방법이다.
16. 라우터의 구성 명령에 대한 버전별 정리
17. 디스턴스 벡터(Distance Vector)와 링크 스테이트(Link State)
라우팅 프로토콜은 ‘스태틱 라우팅 프로토콜’과 ‘다이나믹 라우팅 프로토콜’로 나눌 수 있다.
다이나믹 라우팅 프로토콜도 역시 AS(Autonomous System) 안에서 사용되는 IGP(Interior Gateway Protocol)와 AS 간에 사용되는 EGP(Exterior Gateway Protocol)가 있다.
디스턴스 벡터 알고리즘과 링크 스테이트 알고리즘은 라우팅 테이블을 어떤 식으로 관리하는가에 따른 분류이다.
디스턴스 벡터 알고리즘은 말 그대로 디스턴스(Distance, 거리)와 벡터(Vector, 방향)만을 위주로 만들어진 라우팅 알고리즘이다.
따라서 라우터는 목적지까지의 모든 경로는 자신의 라우팅 테이블 안에 저장하는 것이 아니라 목적지까지의 거리와 그 목적지까지 가려면 어떤 인접 라우터를 거쳐서 가야 하는지에 대한 방향만을 저장한다.
따라서 인접 라우터들과 주기적으로 라우팅 테이블을 교환해서 자신의 정보에 변화가 생기지 않았는지를 확인하고 관리한다.
이러한 디스턴스 벡터 알고리즘은 한 라우터가 모든 라우팅 정보를 가지고 있을 필요가 없기 때문에 라우팅 테이블을 줄일 수 있어서 메모리를 절약하고, 또 라우팅의 구성 자체가 간단하며, 여러 곳에서 표준으로 사용되고 있다는 장점이 있다.
반면에 라우팅 테이블에 아무런 변화가 없더라도 정해진 시간마다 한 번씩 꼭 라우팅 테이블의 업데이트가 일어나기 때문에 트래픽을 쓸데없이 낭비하고, 라우팅 테이블에 변화가 생길 경우 이 변화를 모든 라우터가 알때까지 걸리는 시간(Convergence Time)이 너무 느리다.
라우팅의 테이블의 변화가 생기면 이웃 라우터와 전달, 전달, 전달, 전달 이렇게 일어나기 때문에 라우팅 테이블의 변화를 알아채는 데 걸리는 시간이 길어진다.
뿐만 아니라 이렇게 느린 업데이트 때문에 RIP의 경우 최대 홉 카운트가 15를 넘지 못하게 되어있다. 즉 라우터 15개를 넘어서 있는 네트워크는 인식하지 못한다.
이와 같은 여러 가지 단점 때문에 디스턴스 벡터 알고리즘은 커다란 네트워크에는 적용하지 못한다. 다만 작은 규모의 네트워크에 적용할 경우에는 구성의 편리와 메모리의 절약 등의 장점을 살릴 수 있다.
대표적인 디스턴스 벡터 알고리즘에는 RIP(Routing Information Protocol)와 IGRP(Interior Gateway Routing Protocol)가 있다.
링크 스테이트(Link State) 알고리즘은 조금 다르다.
즉 이 알고리즘은 한 라우터가 목적지까지의 모든 경로 정보를 다 알고 있다고 생각하면 된다.
링크 스테이트 알고리즘은 먼저 링크에 대한 정보(어디에 어떤 네트워크가 있고, 거기까지 가려면 어떤 라우터를 통해야 한다는 정보)를 토폴러지 데이터베이스로 만들게 된다.
이렇게 만들어진 토폴로지 데이터베이스를 가지고 라우터는 SPF(Shortest Path First)라는 알고리즘을 계산하게 된다.
SFP는 말 그대로 어디로 가야 가장 빨리갈 수 있는가를 계산하는 것이다. 이 계산 결과를 가지고 라우터는 SPF 트리를 만들게 된다.
SFP 트리란, 출발지에서 목적지까지를 마치 나뭇가지처럼 펼처놓은 후 가장 빠른 경로를 찾아가는 방식이다.
링크 스테이트 알고리즘은 한 라우터에서 목적지까지의 모든 경로를 알고 있기 때문에 중간 링크의 변화가 생겨도 이를 알아내는 데 걸리는 시간이 짧다.
또한 이웃 라우터들과 라우팅 테이블을 교환하는 과정에서도 모든 라우팅 테이블을 교환하는 디스턴스 벡터 방식과는 달리 라우팅 테이블의 교환이 자주 발생하지 않고, 또 교환이 일어나는 경우에도 테이블에 변화가 있는 것만을 교환하기 때문에 트래픽 발생을 줄일 수 있다.
다만, 모든 라우팅 정보를 관리해야 하기 때문에 메모리를 많이 소모하게 되고, 또 SPF 계산 등 여러 가지 계산을 해야 하기 때문에 라우터 CPU가 일을 많이 해야 한다.
따라서 링크 스테이트 알고리즘은 커다란 네트워크에 설치되는 고용량 라우터에 설치되는 것이 바람직하다. 대표적인 알고리즘으로는 OSPF(Open Shortest Path First) 라우팅 프로토콜이 있다.
18. 라우터의 패스워드 구성
19. 시스코 라우터의 친구 찾기 CDP
CDP(Cisco Discover Protocol)은 시스코 라우터와 스위치에서 직접 연결된 시스코 장비를 찾아내느 기능이다.
CDP는 Data Link 계층에서 올라가는 프로토콜이다. 따라서 상위 네트워크 계층에 어떤 프로토콜이 올라가는가에 상관없이 실행이 가능하다.
즉, TCP/IP, IPX, AppleTalk 등에 상관없이 CDP는 수행이 가능하다.
20. 텔넷(Telnet)을 이용한 장비 접속
텔넷은 기본적은 TCP/IP 위에 올라가는 프로그램이기 때문에 당연히 라우터나 스위치에는 TCP/IP가 설치되어 있어야 하고 IP 주소를 알고 있어야 한다.
21. 핑(Ping)과 트레이스(Trace)
핑과 트레이스는 라우터를 구성한 후 네트워크의 연결에 이상이 없는지를 테스트하기 위해 만든 프로그램이다.
즉 출발지에서 목적지까지 연결에 이상이 없는지, 그리고 이상이 있다면 어디에서 이상이 발생했는지를 핑과 트레이스를 이용해서 찾아낼 수 있다.
출발지에서 목적지뿐만 아니라 중간에 거친 경로에 대한 정보와 소요 시간까지도 확인해 볼 수 있는 것이 Trace 이다.
🐢 현재 공부하고 있는 후니의 쉽게 쓴 CISCO 네트워킹 - 진강훙 저자
의 책을 학습하며 기록 및 정리를 하기위한 내용들입니다. 🐢
감사합니다.😊
댓글남기기