스위칭
라우팅이란 다양한 방법으로 경로 정보를 얻고 그 정보 중 최적의 경로로 생각되는 경로를
라우팅 테이블에 올려 유지하는 방법이다.
이런 최적 경로 정보를 유지하는 것은 라우터에 패킷이 들어왔을 때 라우터가 최선의
경로로 패킷을 빨리 포워딩하는 것을 도와주기 위해서다.
패킷이 들어와 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩(전달)하는 작업을 스위칭이라고 한다.
이 그림을 보자. 라우팅 테이블과 패킷 스위칭에 대한 그림이다.
10.1.1.9 ip가 목적지인 패킷이 라우터로 들어온 경우, 라우터는 도착지 ip와 가장 가깝게 매치되는 경로 정보를 찾는다.
롱기스트 프리픽스 매치 기법을 이용해 갖고 있는 경로 정보 중 가장 가까운 경로를 선택한다.
※ 롱기스트 프리픽스 매치란 라우터가 패킷을 포워딩할 때 자신이 갖고 있는 라우팅 테이블에서 가장 좋은 항목을 찾는 알고리즘이다. 이런 작업을 라우터가 수행하는 것을 롱기스트 프리픽스 매칭이라 부른다.
라우팅 테이블과 도착지 정보가 매치되는 정보는 10.0.0.0/8, 10.1.0.0/16, 10.1.1.0/24이다.
10.1.1.0/24 정보를 최선의 정보로 인식하여 Eth2 인터페이스 쪽으로 패킷을 내보낸다.
라우팅, 스위칭 우선순위
위에 설명한 것처럼 라우팅 테이블은 가장 좋은 경로 정보만 모아놓은 핵심정보이다.
일반적인 경로 정보를 모아놓은 토폴로지 테이블에서 좋은 경로 정보의 우선순위는 경로 정보를 받은 방법과 거리를 기준으로 정한다.
관리자를 통한 경로 학습의 우선순위가 높다.
동일한 방식에서는 코스트가 낮은 쪽이 우선순위가 높다.
코스트가 낮다는 건 해당 경로를 통해 패킷을 전송하는 데 필요한 비용이 낮을수록 해당 경로가 우선적으로 선택된다는 것을 의미한다.
목적지 네트워크 정보가 동일한 서브넷을 사용하는 경우, 정보를 얻은 소스에 따라 가중치를 정하게 된다.
이 가중치 값을 라우팅 정보의 분류와 마찬가지로 크게 3 가지로 나눌 수 있다.
- 내가 갖고 있는 네트워크(다이렉트 커넥티드) → 우선순위 가장 높음.
- 직접 연결되어 있기 때문에 가장 빠르고 안정적.
- 내가 경로를 직접 지정한 네트워크(스태틱 라우팅) → 두번 째로 우선순위 높음.
- 관리자가 직접 경로를 설정하는 것이기 때문에 다이나믹보다 더 높은 우선순위.
- 경로를 전달받은 네트워크(다이나믹 라우팅) → 우선순위 낮음.
- 네트워크 상황에 따라 경로를 동적으로 결정하기 때문에 우선순위 낮음. 이런 유연성을 가지려면 어느 정도의 신뢰도나 예측성을 희생할 수 있다.
우선순위와 가중치에 대해 다시 한 번 쉽게 설명하겠다.
라우팅할 때 가중치(혹은 기본 디스턴스)는 경로를 선택하는 데 매우 중요한 역할을 한다.
가중치는 라우팅 프로토콜이 특정 경로를 선택할 때 그 경로의 신뢰도를 나타내는 숫자이다.
낮은 값일수록 더 신뢰할 수 있는 경로로 간주된다.
이 표는 시스코 장비 기준 라우팅별 가중치 값을 표로 나타낸 것이다.
시스코는 네트워크 장비와 관련된 다양한 제품과 기술을 제공하는 세계저긴 기업이다. 장비들은 주로 네트워크 인프라를 구축하고 관리하는 데 사용된다.
기본 디스턴스가 낮을 수록 해당 경로가 더 높은 우선순위를 가지는 것이다.
이 표에서 볼 수 있듯 낮은 가중치를 가진 장비를 라우터가 먼저 선택한다.
만약 경로 정보를 얻은 소스가 같아 가중치 값이 동일한 경우에는 코스트 값으로 우선순위를 정한다.
코스트 값까지 동일한 경우에는 ECMP(Equal-Cost Multi-Path) 기능으로 동일한 코스트 값을 가진 경로 값 정보를 모두 활용해 트래픽을 분산한다.
라우팅 설정 방법
라우터가 경로를 얻을 수 있는 라우팅에 대해선 간단히 알아보았으니 이제 라우팅 우선순위와 각 라우팅 설정 방법에 대해 좀 더 알아보자.
1. 다이렉트 커넥티드
목적지가 다이렉트 커넥티드라면 라우터는 L2 통신(ARP 요청을 직접 보내는)으로 목적지에 도달한다.
외부 네트워크로 통신하려면 다이렉트 커넥티드 외에 스태틱 라우팅이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 적절한 라우팅 정보가 있어야 한다.
ip 주소를 잘못 설정하거나 서브넷 마스크를 정상 범위보다 크거나 작게 설정하면 다이렉트 커넥티드 라우팅 정보가 잘못 입력되는데, 외부 네트워크와 단절된 독립된 네트워크가 되거나 특정 네트워크와 통신할 수 없는 상태를 만든다.
2. 스태틱 라우팅
R1에서 20.20.20.0/24로 통신하기 위한 스태틱 라우팅 설정
R1 라우터에서 R2 라우터로 통신하려면 R1 라우터에 20.20.20.0/24로 가는 정보를 알려주어야 한다.
R1 라우터 입장에서 R2 라우터로 보내려면 연결된 인터페이스인 1.1.1.2로 보내면 된다.
스태틱 라우팅은 관리자가 수동으로 경로를 설정하는 방식이다.
관리자는 목적지 네트워크와 해당 네트워크로 가는 다음 홉(다음 라우터)을 직접 설정하여 라우팅 테이블에 추가한다.
이 경로는 관리자가 설정한대로 고정되어 있기 때문에 네트워크의 변화에 대응하지 못하고 유지보수가 필요하다.
하지만 특정 요구사항을 충족시키거나 보안상의 이유로 사용될 수 있다.
※ 추가적으로 알면 좋은 것!
디폴트 라우팅
- 회사 내가 아닌 네트워크 규모가 매우 커지거나 인터넷 연결을 해야 하는 상황에선 스태틱 라우팅을 처리하는 데 어려움이 있다.
- 디폴트 라우팅을 사용하면 문제를 쉽게 해결할 수 있다.
- 디폴트 라우팅이란 목적지 주소의 서브넷 마스크가 모두 0인 스태틱 라우팅이다. ex) ip route 0.0.0.0 0.0.0.0 1.1.1.1
- 인터넷으로 향하는 경로나 자신에게 경로 정보가 없는 경우엔 마지막까지 대체 경로로 디폴트 라우팅을 사용한다.
3. 다이나믹 라우팅
다이나믹 라우팅에선 자신이 광고할 네트워크를 선언해줘야 한다.
IT 환경을 구축 시 SPoF(Single Point of Failure: 단일 장애점)을 없애기 위해 2개 이상의 경로를 유지하는데, 스태틱 라우팅만으로 구성 시 한 홉이 넘어간 네트워크 상태가 변경될 때 신속하게 대응이 불가하다.
관리자의 직접적인 개입 없이 라우터끼리 정보를 교환해 경로 정보를 최신으로 유지한다,
중간 경로에 문제가 발생하더라도 대체 경로를 찾는 작업을 자동으로 수행한다.
다이나믹 라우팅 프로토콜로 RIP, OSPF, IS-IS, IGRP, EIGRP, BGP 등이 있다.
정리하자면
- 다이렉트 커넥티드: 간단한 설정과 빠른 네트워크 연결 상태 반영이 필요할 때.(복잡한 라우팅 필요 X인 경우)
- 스태틱 라우팅: 고정된 경로, 보안 강화, 소규모 네트워크 관리가 필요할 때(경로가 변하지 않는 고정된 경로.수동제어)
- 다이나믹 라우팅: 대규모 네트워크, 빈번한 경로 변경, 최적의 경로 선택이 필요할 때.(트래픽 패턴 변동이 심한 환경)
라고 할 수 있다.
역할에 따른 분류
일반적으로 라우팅 프로토콜은 유니캐스트 라우팅 프로토콜(단일 송신자에서 단일 수신자로 데이터 전달을 말한다.
유니캐스트 라우팅 프로토콜을 분류하는 방법은 여러가지인데 주로 사용하는 역할과 동작 원리에 따라 구분한다.
인터넷에는 AS(Autonomous System)라는 자율 시스템이 존재하는데 SKT,KT,LG U+ 같은 인터넷 사업자가 한 개 이상의 AS를 운영한다.
AS란 인터넷에서 고유한 식별자를 가지며 독립적으로 관리되는 네트워크의 집합이다.
역할과 동작 원리에 따라 구분
- IGP: AS 내에서 사용하는 라우팅 프로토콜
- EGP: AS 간 통신에 사용하는 라우팅 프로토콜
- AS 내부의 연결은 효율성이 중요하지만 다른 AS와의 연결은 효율성보다 조직 간 정책이 더 중요
동작 원리에 따른 분류
IGP 라우팅 프로토콜은 동작 원리에 따라 크게 디스턴스 벡터와 링크 스테이트 벡터로 나뉜다.
1. 디스턴스 벡터(Distance Vector)
- 각 라우터는 목적지까지의 거리(홉 카운트)와 방향(인접 라우터) 정보만을 저장한다.
- 라우터들은 주기적으로 라우팅 테이블을 교환하여 자신의 정보를 업데이트 한다.
- 거리와 방향 정보만을 이용하기 때문에, 간단하고 메모리를 절약할 수 있다.
- 주기적인 업데이트로 인해 대역폭 낭비가 발생할 수 있고, 최대 홉 카운트 제한이 있어 대형 네트워크에는 적합하지 않다.
2. 링크 스테이트 벡터(Link State Vector)
- 각 라우터는 네트워크 토폴로지 정보를 모두 가지고 있다.
- 링크 상태 광고(Link State Advertisement)를 통해 토폴로지 정보를 교환한다.
- SPF(Shortest Path First) 알고리즘을 통해 최적의 경로를 계산한다.
- 모든 경로 정보를 가지고 있기 때문에, 빠른 수렴 시간(Convergence Time)을 가진다.
- 메모리 소모가 많고, CPU 부담이 크다.
이 책에서 많은 정보를 얻고 공부중이다. IT에서 일하는 것이 꿈이라면 읽는 것을 추천한다.
AWS를 공부하는 사람의 입장에서 네트워크는 빼놓을 수 없는 정말 중요한 소양이라 생각한다.
'Network' 카테고리의 다른 글
NAT란 무엇일까? (46) | 2024.08.09 |
---|---|
프록시의 구조와 작동원리 (37) | 2024.07.28 |
라우터/L3 스위치: 3계층 장비 -1 (24) | 2024.07.04 |
HTTP와 HTTPS는 무슨 차이? (1) | 2024.05.12 |
스위치: 2계층 장비 (0) | 2024.04.29 |