라우팅
라우팅(routing)은 네트워크상에서 주소를 이용하여, 통신 데이터를 목적지까지 보낼 최적의 경로를 선택하는 과정을 말한다. 이 과정을 능동적으로 수행하는 장치를 라우터(Router)라고 하며, 경로 선택을 위한 데이터베이스(목록)를 라우팅 테이블(Routing Table)이라고 한다. 라우팅 테이블은 목적지 네트워크 주소와 라우터의 출구 포트 정보, 최적 경로 산출을 위한 메트릭(metrics) 등의 정보를 포함한다. 즉, 라우팅은 경로 산출에 필요한 라우팅 테이블을 작성하기 위한 일련의 동작을 모두 포함하여 의미한다.[1]
목차
라우팅 알고리즘[편집]
라우팅 알고리즘(Routing Algorithm)은 라우팅과 같은 의미이며, 정확성(correctness), 단순성(simplicity), 견고성(robustness), 안정성(stability), 공정성(fairness), 최적성(optimality)과 같은 요구사항이 필요하다.[2]
글로벌 라우팅[편집]
글로벌 라우팅(Global Routing)은 모든 라우터가 모든 완전한 토폴로지와 링크의 비용 정보를 알고 있으며, 다른 라우터로의 최소비용경로를 계산하여 테이블을 갱신한다. 모든 라우터가 전체 네트워크에 대한 정보를 공유해야하며, 그러므로 한 라우터가 새로운 정보를 알게되면 모든 라우터에게 전파한다.
분산 라우팅[편집]
분산 라우팅(Decentralized Routing)은 라우터는 물리적으로 연결된 이웃(physically-connected neighbors), 이웃과의 연결 비용(link costs to neighbors)에 대한 정보를 알고 있다. 또한, 계산의 반복과정, 이웃 노드와의 정보교환이 필요하다.
정적 라우팅[편집]
정적 라우팅(Static Routing)은 라우터에 관리자가 고정적인 형태로 라우팅 테이블을 등록하는 기법이다.(예 : 최단 경로 라우팅 기법, 플러딩(flooding) 기법, 흐름 기반 라우팅 넷째 수준 기법 등) 별도의 프로토콜이 필요없으며, 테이블 유지를 위한 대역폭 소모가 없다.
동적 라우팅[편집]
동적 라우팅(Dynamic Routing)은 라우터끼리 네트워크 정보를 주고받으면서 라우팅 테이블을 자동으로 작성하는 기법이다. 구성 형태나 트래픽의 상태의 변화에 따라 라우팅 결정을 동적으로 반영하며, 거리 벡터 라우팅 기법과 링크 상태 라우팅 기법으로 구분한다.
디폴트 라우팅[편집]
디폴트 라우팅(Default Routing)은 라우팅 테이블에 등록되어 있지 않는 주소를 갖는 패킷들을 디폴트 라우터에서 지정된 경로로 전송한다. 네트워크에서 주소가 식별되지 않는 모든 패킷은 디폴트 라우터로 전송한다.[3][4]
라우팅 프로토콜[편집]
라우팅 프로토콜은 패킷이 목적지까지 가는 방법을 결정해주는 프로토콜이다. 라우팅 정보 프로토콜(RIP), 최단 경로 우선 프로토콜(OSPF), 내부 게이트웨이 라우팅 프로토콜(IGRP), 경계 게이트웨이 프로토콜(BGP) 등이 있으며 라우팅 테이블을 참조해 가장 좋은 길로 패킷을 전송시킨다. 라우팅 프로토콜은 스태틱(Static)과 다이나믹(Dynamic)프로토콜로 구분된다. 스태틱 라우팅은 정적으로 라우팅을 관리하는 것을 말한다. 즉 사람이 직접 경로를 결정해 주고, 라우터는 입력받은 경로로만 패킷을 전송시키는 방법을 의미한다. 스태틱 라우팅은 라우팅 테이블을 교환하지 않고 라우팅이 가능하기 때문에 네트워크 대역폭을 절약할 수 있다. 또한, 외부에 자신의 경로를 알리지 않기에 보안에도 강하다. 하지만 경로에 문제가 생길 경우 대처하기 어렵다는 단점이 존재한다. 다이나믹 라우팅은 이와 반대로 자동으로 경로가 결정되는 프로토콜이다. 즉 라우터가 판단하여 가장 효율적인 방법으로 패킷을 전송시키는 방법이다.
라우팅 정보 프로토콜[편집]
라우팅 정보 프로토콜(Routing Information Protocol; RIP)은 최소 홉수(Hop Count)를 파악하여 라우팅하는 프로토콜이다. 거리와 방향으로 길을 찾아가는(Distance Vector) 다이나믹 라우팅 프로토콜이다. 라우팅 정보 프로토콜은 '최단 거리' 즉, 라우팅 되는 홉수가 가장 적은 경로를 택하여 라우팅하는 프로토콜로, 라우팅 테이블(Routing Table)에 인접 라우터 정보를 저장하여 경로를 결정한다. 최대 홉수는 15로, 거리가 짧기 때문에 내부용(IGP)으로 많이 이용하는 프로토콜이다. 직접 연결된 라우터는 홉으로 계산하지 않고, 30초 주기로 디폴트 라우팅(default routing)을 업데이트하여 인접 라우터로 정보를 전송한다. 또한, 4~6개까지 로드밸런싱이 가능하다는 특징이 있다. 주로 UDP 세그먼트에 캡슐화되어 사용한다. 라우팅 정보 프로토콜은 단순 홉을 카운트하여 경로를 결정하기 때문에 경로의 네트워크 속도는 판단하지 않는다. 그 때문에 비효율적인 경로로 패킷을 전달할 가능성이 있다. 또한, 거리 벡터(Distance Vector) 알고리즘으로 네트워크 변화에 대처하는 시간(컨버전스 타임)이 느리다는 단점이 있다.
최단 경로 우선 프로토콜[편집]
최단 경로 우선 프로토콜(Open Shortest Path First; OSPF)은 최저 COST(최소 시간) 경로를 최적 라우팅 결로로 결정한다. 가장 대표적인 링크 상태 프로토콜로, 최단 거리 우선 알고리즘(Shortest Path First; SPF)을 통해 라우팅 테이블을 생성한다. 주로 내부 게이트웨이 프로토콜(Interior Gateway Protocol; IGP)로 대규모 기업망에서 사용된다. 특히 아레아(Area)라는 개념을 사용하여 전체 네트워크를 작은 영역으로 나눠 효율적으로 관리하는 방식을 택한다. 각 아레아는 백본 아레아(Backbone Area)에 연결되어 있다. 또한, 라우팅 정보 프로토콜이 30초마다 업데이트되어 정보를 전송시켜주는 반면에 최단 경로 우선 프로토콜은 링크 상태에 변화가 있을 시 즉각적으로 플러딩(Flooding)을 해주기 때문에 컨버전스 타임이 매우 빠르다. 최단 경로 우선 프로토콜은 헬로(HELLO) 패킷을 보내 인접 라우터들을 찾는다. 최단 경로 우선 프로토콜은 라우터 간에 공유하는 라우터 ID를 통하여 헬로 패킷을 전송하게 되는데, 이때 브로드캐스트(255.255.255.255)가 아닌 멀티캐스트 주소(224.0.0.5)로 전송한다. 헬로 패킷 안에는 DR, BDR을 결정하기 위한 우선순위(Priority) 필드가 존재한다. 최단 경로 우선 프로토콜 라우터는 헬로 패킷 송수신을 통하여 이웃 관계를 유지한다. 또한, VLSM(Variable Length Subnet Mask)을 지원하기 때문에 IP 주소를 효율적으로 사용할 수 있고 라우팅 테이블을 줄일 수 있다.
내부 게이트웨이 라우팅 프로토콜[편집]
내부 게이트웨이 라우팅 프로토콜(Interior Gateway Routing Protocol; IGRP)은 내부 라우팅 프로토콜(IGP)로, 라우팅 정보 프로토콜과 같은 거리 벡터 라우팅 프로토콜 중의 하나이다. 내부 게이트웨이 라우팅 프로토콜은 모든 라우터에서 전부 사용할 수 있는 프로토콜이 아니다. 시스코에서 만들어낸 프로토콜이기 때문에 시스코 라우터만 사용이 가능하다. 라우팅 정보 프로토콜은 최대의 홉수로 가장 빠른 경로를 찾는 라우팅 프로토콜이지만, 내부 게이트웨이 라우팅 프로토콜은 라우팅 정보 프로토콜과 달리 5가지 요인(대역폭, 지연, 신뢰성, 부하, MTU)으로 가장 빠른 경로를 찾는다. 대역폭(Bandwidth)에서 기본적인 단위는 Kbps이며, 이것은 하드웨어적으로 속도를 맞추어 통신하는 방식이 아니다. 라우팅 정보 프로토콜에서 홉 수는 적지만 대역폭이 작아 통신에 어려움이 있으면, 홉수로만 빠른 경로를 찾음으로써 빈번한 오류가 있다. 하지만, 내부 게이트웨이 라우팅 프로토콜은 대역폭으로 찾는 방식이므로 홉수보다는 그 구간의 속도를 계산하여 가장 빠른 경로를 찾는 곳에 중점을 두고 있다. 지연(delay) 시간 단위는 마이크로 초(Micro second)이며, 라우터 포트에 연결된 회선의 종류와 설정된 대역폭 값에 따라서 지연값을 계산하게 되어있다. 수동으로도 지연 값을 집어 넣어줄 수는 있지만 지연 값 보다는 다른 변숫값을 바꾸는 방법이 더 유용하기 때문에 대부분은 디폴트 값을 그대로 사용한다. 신뢰성(Reliability)은 케이블이나 전용선 등 전송 매체를 통해 패킷을 보낼 때 생기는 에러율을 나타내는 수치이다. 즉, 패킷이 목적지까지 도착까지 에러가 발생한 패킷의 비율이다. 킵 얼라이브(Keep alive)를 이용해서 출발지와 목적지 사이 경로의 신뢰도를 측정할 수 있다. 단위는 0~255 사이의 정수로 표시되는 255가 가장 신뢰성이 좋은 것이고 숫자가 낮아지면 신뢰도는 떨어진다. 이때, 측정값은 자동으로 계산되는 값이다. MTU(Maximum transmission Unit)는 최대전송유닛의 크기를 말하며, 단위는 바이트(byte)이다. 내부 게이트웨이 라우팅 프로토콜의 홉수는 라우팅 정보 프로토콜에서 15개의 홉수를 기본값 100, 최대값 255로 두고 있다. 이것은 광범위한 네트워크망에서도 사용을 가능하게 하려고 만든 값이다. 내부 게이트웨이 라우팅 프로토콜의 단점으로는 서브넷 마스크값이 붙지 않기 때문에 라우팅 정보 프로토콜과 같이 VLSM을 할 수 없다. 또한, 내부 게이트웨이 라우팅 프로토콜은 시스코 라우터에서만 가능한 프로토콜이며, 90초에 한 번씩 라우팅 테이블이 업데이트가 발생한다.[5]
경계 게이트웨이 프로토콜[편집]
경계 게이트웨이 프로토콜(Border Gateway Protocol; BGP)은 외부 라우팅 프로토콜(EGP)로 관리 도메인(AS)과 관리 도메인 간 사용되는 라우팅 프로토콜이다. 정해진 정책에 의하여 최적 라우팅 경로를 수립하며, 거리 벡터 방식의 라우팅 프로토콜로 다른 IGP보다 컨버전스는 느리지만, 대용량의 라우팅 정보를 교환할 수 있는 프로토콜이다. TCP 포트 179번을 통하여 인접 라우터들과 이웃 관계를 성립하며, 이웃 라우터 간에는 유니캐스트 라우팅 업데이트를 실시한다.[6]
라우팅 방식 | 거리 벡터 | 링크 상태 | 경로 벡터(Path Vector) |
---|---|---|---|
업데이트 | 인접 라우터 | 아레아 내 모든 라우터 | 경계 게이트웨이 프로토콜 이웃(BGP neighbor) |
업데이트 시점 | 일정 주기 | 링크 변화 발생 시 | 링크 변화 발생 시 |
경로선택 | 벨만-포드 알고리즘 | 다익스트라 알고리즘(Dijkstra Algorithm) | 정책기반 |
메트릭 | 홉수 | 홉수, 대역폭, 지연 등 다양 | 경로 |
대표 프로토콜 | 라우팅 정보 프로토콜, 내부 게이트웨이 라우팅 프로토콜 |
최단 경로 우선 프로토콜, 강화된 내부 게이트웨이 라우팅 프로토콜 (Enhanced Interior Gateway Routing Protocol; EIGRP) |
경계 게이트웨이 프로토콜 |
분류 | IGP | IGP | EGP |
라우터[편집]
라우터(router)는 한 네트워크에서 다른 네트워크로 패킷을 이동시키는 과정과 네트워크 안의 호스트에게 패킷들을 전달하는 하드웨어 장치이다.
기능[편집]
- 경로 설정 : 데이터 패킷이 출발지부터 목적지까지 갈 수 있는 경로를 검사하고 어떤 경로로 가는 것이 최선인지 결정한다.
- 스위칭 : 경로 설정이 결정될 경우 데이터 패킷 스위칭 작업을 한다.[8]
종류[편집]
네트워크에서 쓰이는 위치나 규모에 따라 라우터의 종류가 달라질 수 있다. 다만 라우터의 기본적인 기능은 모두 같다. 라우터의 기능에 있어서 차이점은 처리할 수 있는 패킷 및 트래픽의 숫자에 따라서 다음과 같이 구분된다.
- 코어 라우터 : 인터넷 서비스 제공자(ISP)의 랜이나 여러 개의 ISP 네트워크를 서로 연결한다.
- 센터 라우터 : WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결한다. 또, 인터넷 서비스 제공자와 기업의 네트워크와 연결할 때에도 쓰인다.
- 엣지 라우터 : 지점, 영업소의 네트워크를 WAN 회선에 연결하여 회사의 본점의 라우터에 접근한다.
- 원격 라우터 : 랜과 WAN을 중계한다. WAN 라우터라고도 부른다.
- 브로드밴드 라우터 : 가정이나 작은 규모의 기업에서 브로드밴드 급의 인터넷에 접속할 때 쓰인다.
- 핫스팟 라우터 : 휴대용 핫스팟에서 인터넷에 접속할 때 쓰인다.
- ISP 라우터 : 인터넷을 제공하는 제공자에 의해 접속할 때 쓰이는 라우터이다.[9]
각주[편집]
- ↑ Just Blue, 〈라우팅 (Routing)〉, 《네이버 블로그》, 2011-08-11
- ↑ Proneer, 〈라우팅 알고리즘(Routing Algorithm)〉, 《티스토리》, 2008-01-25
- ↑ 최현호, 〈네트워크 계층과 라우팅 기법〉, 《한경대학교》, 2011
- ↑ 수겸, 〈컴퓨터네트워크 8장〉, 《티스토리》, 2013-07-15
- ↑ Zenis, 〈IGRP〉, 《티스토리》, 2012-09-09
- ↑ 무미닝, 〈(네트워크) 라우팅 프로토콜 (RIP, OSPF, BGP)〉, 《네이버 블로그》, 2017-05-23
- ↑ 행복한 부자, 〈인터넷/라우팅 프로토콜 (RIP/OSPF/BGP)〉, 《다음 블로그》, 2013-12-05
- ↑ 더욱 더 친절해진 초록양파, 〈라우터와 라우팅테이블이란〉, 《티스토리》, 2018-11-14
- ↑ 〈라우터〉, 《위키백과》
참고자료[편집]
- 차재복, 〈Routing 라우팅, 루팅, 중계방식〉, 《정보통신기술용어해설》
- 〈라우팅〉, 《위키백과》
- Just Blue, 〈라우팅 (Routing)〉, 《네이버 블로그》, 2011-08-11
- 더욱 더 친절해진 초록양파, 〈라우터와 라우팅테이블이란〉, 《티스토리》, 2018-11-14
- 최현호, 〈네트워크 계층과 라우팅 기법〉, 《한경대학교》, 2011
- Proneer, 〈라우팅 알고리즘(Routing Algorithm)〉, 《티스토리》, 2008-01-25
- 무미닝, 〈(네트워크) 라우팅 프로토콜 (RIP, OSPF, BGP)〉, 《네이버 블로그》, 2017-05-23
- 〈라우터〉, 《위키백과》
- Zenis, 〈IGRP〉, 《티스토리》, 2012-09-09
- 행복한 부자, 〈인터넷/라우팅 프로토콜 (RIP/OSPF/BGP)〉, 《다음 블로그》, 2013-12-05
- 수겸, 〈컴퓨터네트워크 8장〉, 《티스토리》, 2013-07-15
같이 보기[편집]