Doctor Pepper

[네트워크 계층] 라우팅(Routing) (3) 본문

네트워크/네트워크 계층

[네트워크 계층] 라우팅(Routing) (3)

Doctor Pepper 2024. 12. 4. 17:56
728x90

 

1. 라우팅 프로토콜

네트워크 계층의 핵심 장비는 라우터로, 이는 서로 다른 네트워크를 연결하며 데이터 패킷을 목적지까지 전달하는 역할을 수행한다. 이를 최선 노력 패킷 전달 서비스(Best Effort Packet Delivery Service)라고 한다. 라우터는 이러한 역할을 수행하기 위해 라우팅 테이블을 유지 관리하며, 이를 참조하여 적절한 경로로 패킷을 전달한다.

2024.10.17 - [네트워크/네트워크 계층] - [네트워크 계층] 라우팅(Routing) (1)

 

[네트워크 계층] 라우팅(Routing) (1)

1. 라우터(Router) 라우터는 OSI 3계층에서 작동하는 네트워크 장비로, 서로 다른 네트워크 세그먼트 또는 전체 네트워크를 연결하여 패킷을 최종 목적지로 전달한다. 이는 3계층의 정보를 기반으

pettydream92.tistory.com

 

2024.11.23 - [네트워크/네트워크 계층] - [네트워크 계층] 라우팅(Routing) (2)

 

[네트워크 계층] 라우팅(Routing) (2)

1. 라우터가 경로 정보를 얻는 방법라우터는 네트워크 경로 정보를 수집하고 최적의 경로를 선정하여 라우팅 테이블을 생성한다. 이 과정은 직접 연결(Direct Connected), 정적 라우팅(Static Routing), 동

pettydream92.tistory.com

 

 

2. RIP(Routing Information Protocol)

 RIP는 제록스의 알토 연구소에서 이더넷 상에서 라우팅 프로토콜로 사용하기 위해 개발된 프로토콜이다. 이후 BSD 유닉스(Berkeley Software Distribution) 4.2 버전(1982년)에 Routed Daemon이라는 형태로 포함되면서 널리 확산되었다.

 

 IETF는 RIP을 표준화하여 RFC 1058을 통해 발표했으며, 기존 RIP와 구분하기 위해 이를 RIP-1이라고 명명했다.

거리 벡터 라우팅 프로토콜 - 목적지까지의 홉 수(Hop Count)를 척도(metric)로 사용하여 최적 경로(Best Route)를 선정함.
- 경로 계산 시 벨만-포드 알고리즘(Bellman-Ford Algorithm)을 사용함.
라우팅 정보 교환 방식 - UDP 520번 포트를 통해 라우팅 정보를 교환함.
- RIP-1 : 255.255.255.255로 브로드캐스트 전송함.
- RIP-2 : 224.0.0.9로 멀티캐스트 전송함.
- 30초마다 네트워크 토폴로지 변화와 관계없이 라우팅 정보를 전송하여 대역폭 사용이 비효율적임.
홉 수 제한 - 최대 15홉까지만 지원함.
- 16홉 이상의 경로는 도달 불가능(Unreachable)로 간주됨.

 

- 장단점

장점 - 설정이 간단하고 직관적으로 최적 경로를 구성할 수 있음.
- 네트워크 규모가 작고 복잡하지 않을 때 효율적으로 작동함.
단점 - 최적 경로를 결정하는 기준이 홉 수에 국한되어 대역폭이 더 좋은 경로를 선택하지 못할 수 있음.
- 16홉 이상의 네트워크는 지원 불가, 대규모 네트워크에는 부적합함.
- 주기적인 라우팅 정보 전송으로 인해 대역폭 낭비 발생함.

 

- RIP 현재

 RIP는 가장 오래된 라우팅 프로토콜 중 하나로, IPv6 지원을 위해 RIPng이 발표되었다. 그러나 제한 사항으로 인해 현대의 대부분 네트워크 구성에서는 RIP 대신 OSPF와 같은 프로토콜이 주로 사용된다.

 

3. EIGRP(Enhanced Interio Gateway Routing Protocol)

 EIGRP는 Cisco가 개발한 독자적인 거리 벡터 기반 라우팅 프로토콜로, IGRP(Interior Gateway Routing Protocol)의 개선된 버전이다. 1980년대 중반에 발표된 IGRP를 기반으로 하며, 최적 경로 계산에 DUAL (Diffusing Update Algorithm)을 사용한다.

다중 프로토콜 지원 IP, IPX, AppleTalk 등 다양한 네트워크 계층 프로토콜 라우팅 가능함.
프로토콜 번호 IGRP를 위해 지정된 IP 프로토콜 번호 88번 사용함.
빠른 수렴 속도 최적 경로 변경 시 네트워크의 빠른 안정화 가능함.
로드 밸런싱 기능 동일하지 않은 비용 값을 갖는 경로(unequal-cost paths)에 대한 로드 밸런싱 지원함.
VLSM 지원 가변 길이 서브넷 마스크(Variable Length Subnet Mask, VLSM)를 지원하여 네트워크 설계 유연성 제공함.
부분적 갱신 전체 라우팅 정보를 주기적으로 전송하지 않고, 변경된 정보만 갱신하여 네트워크 대역폭 효율성 증대됨.

 

- EIGRP 최적 경로 선정

 EIGRP는 최적 경로에 대한 척도로 대역폭, 부하, 지연, 신뢰성, MTU를 사용하여 최적 경로를 선정한다. 이 척도는 K 상수를 사용한 계산식으로 표현된다.

 

 대부분의 경우, K2, K4, K5 값은 0으로 설정된다. 그에 반해 K1과 K3 값은 1로 설정되어, 결과적으로 (대역폭 + 지연) × 256이 최종 계산 결과로 사용된다. 이 방식은 라우팅 프로토콜에서 경로 선택 시 대역폭과 지연을 반영하여, 최적 경로를 선택하는 데 중요한 역할을 한다.

 

 대역폭 값은 출발지에서 목적지까지의 경로 상에 위치한 모든 라우터 인터페이스 중 가장 낮은 대역폭을 기준으로 계산된다. 이는 다음 공식과 같다.

 

 지연 값은 패킷이 목적지에 도달하기까지 거치는 모든 라우터 인터페이스의 지연 시간 합을 기준으로 계산된다. 이 값은 지연 시간 총합을 10으로 나눈 값으로 산출되며, 다음 공식을 통해 구할 수 있다.

 

- 장단점

장점 설정이 간단하며 직관적임.
빠른 수렴 속도와 효율적인 네트워크 자원 활용
다양한 경로 비용을 고려한 로드 밸런싱 가능함
단점 Cisco 독점 프로토콜 : 특정 벤더에 종속되어 표준화되지 않은 비표준 프로토콜이라는 제한.
계층적 네트워크 설계 필요 : 네트워크 대역을 요약 가능한 IP 주소로 설계해야 함.

SIA(Stuck in Active) 문제 : 잘못된 네트워크 설계로 인해 경로 갱신이 지연되거나 멈출 위험 존재.

 

- 현황

 EIGRP는 높은 효율성과 다양한 기능에도 불구하고 Cisco 장비에 종속적이라는 이유로, 다른 표준화된 프로토콜(OSPF 등)에 비해 상대적으로 적게 사용된다.

 

4. OSPF(Open Shortest Path First)

 OSPF는 단일 자율 시스템(AS) 내에서 SPF(Shortest Path First) 알고리즘, 또는 다익스트라(Dijkstra) 알고리즘을 사용하는 링크 상태(Link State) 기반 라우팅 프로토콜로, IETF 워크그룹에 의해 IP 네트워크용 동적 라우팅 프로토콜로 개발되었다.

OSPF 버전 - OSPF 버전 2 (IPv4): 1998년, RFC 2328에 의해 정의됨.
- OSPF 버전 3 (IPv6): 2008년, RFC 5340에 의해 정의됨.

 

 IS-IS와 같은 다른 IGP 라우팅 프로토콜이 존재하지만, OSPF는 가장 광범위하게 사용되는 IGP 프로토콜로, 주로 기업 네트워크에서 활용된다.

 

- OSPF 라우팅 프로토콜 동작

이웃 라우터 탐색 헬로우 패킷(Hello Packet)을 교환해 OSPF 라우터 간 이웃 관계(Adjacency)를 형성함.
라우팅 정보 교환 이웃 라우터 간 링크 상태 광고(LSA, Link State Advertisement)를 통해 링크 정보를 교환하며, 이를 링크 상태 데이터베이스(LSDB)에 저장함
SPF 알고리즘 계산 LSDB에 저장된 정보를 기반으로 SPF 알고리즘을 실행하여 최적 경로를 결정하고 라우팅 테이블을 생성함.
상태 유지 주기적으로 헬로우 패킷을 교환하여 인접 라우터의 상태를 확인함.

 

- OSPF 패킷 종류

패킷 유형 설명
헬로우 패킷
(Hello Packet)
- 이웃 라우터들과의 인접 관계(Adjacency Information)를 수립하고 유지함
DBD 패킷
(Database Description Packet)
- OSPF의 링크 상태 데이터베이스의 요약 정보로 상대방과 링크 상태 정보를 교환할 때 이용함
LSR 패킷
(Link State Request Packet)
- 상대 라우터로부터 받은 DBD 정보 중 자신에게 없는 요약 정보가 있으면 그 정보에 대한 상세 정보를 다시 상대에게 요청하는 링크 상태 요청 패킷임
LSU 패킷
(Link State Update Packet)
- 상대로부터 LSR을 수신한 후에 관련 링크 상태 정보인 LSA를 전달하기 위해 사용되는 패킷임
- 11가지의 LSA 타입이 있으며, 이중 LSA 1부터 LSA 7까지를 주로 이용하고 나머지 LSA는 Opaque LSA 등으로 MPLS VPN 같은 OSPF의 확장 기능을 위해 사용함
LSAck 패킷
(Link State Acknowledge Packet)
- 상대 라우터로부터 LSU 패킷을 정상적으로 수신했음을 알려주는 패킷임

 

- OSPF 장점

링크 상태 기반 라우팅 OSPF는 네트워크 전체 상태를 데이터베이스로 관리하여 대규모 네트워크 환경에서도 최적 경로를 유지할 수 있음.
빠른 수렴 속도 RIP, IGRP와 달리 트리거 업데이트를 사용하여 라우팅 테이블을 빠르게 갱신함.
VLSM 및 CIDR 지원 가변 길이 서브넷 마스크(VLSM) 및 클래스 없는 주소(CIDR)를 지원함.
계층적 설계 가능 OSPF는 영역(Area) 개념을 도입하여 라우팅 테이블 크기를 줄이고 네트워크 관리를 효율적으로 만듬.
표준 프로토콜 IS-IS 및 RIP와 마찬가지로 모든 벤더 장비에서 호환됨.

 

- OSPF 메트릭(비용)

OSPF는 경로의 비용(Cost)을 메트릭으로 사용하며, 이는 라우터 인터페이스의 대역폭에 따라 결정된다.

  • Cisco 장비 기본 비용 계산

 

- 문제점 및 해결

기가비트 이더넷과 패스트 이더넷처럼 대역폭이 다른 인터페이스가 동일한 비용으로 계산될 수 있다.

→ 이를 해결하려면 참조 대역폭(reference bandwidth) 값을 변경해야 한다.

Router(config) # ospf auto-cost reference-bandwidth reference-bandwidth

 

- OSPF 관련 용어

DR (Designated Router) 특정 네트워크에서 대표로 동작하는 라우터.
BDR (Backup Designated Router) DR의 백업 역할을 수행.
ABR (Area Border Router) 여러 영역을 연결하는 라우터
ASBR (Autonomous System Boundary Router) 다른 AS와 연결하는 라우터.
Backbone Area OSPF 영역 구조에서 중앙 영역으로 동작.

 

OSPF는 이러한 구조적 설계와 표준 호환성 덕분에 대규모 네트워크 설계의 필수 요소로 사용된다.

 

5. IS-IS(Intermediate System To Intermediate System)

 IS-IS는 Digital Equipment Corporation(DEC)이 DECnet Phase V의 일부로 개발한 라우팅 프로토콜로, 1992년 ISO 표준 ISO 10589:2002에 따라 중간 시스템(라우터) 간 라우팅을 위해 설계되었다. 이는 CLNS(Connectionless-mode Network Service) 기반의 데이터그램 라우팅을 목적으로 만들어졌으며, OSI(Open Systems Interconnection) 프로토콜 스택의 일부로 사용되었다.

 

- IS-IS와 OSPF의 비교

 IS-IS와 OSPF는 링크 상태(Link-State) 기반 라우팅 프로토콜로, 최적 경로 계산에 다익스트라(Dijkstra) 알고리즘을 사용하며 아래와 같은 공통점을 가진다.

  • 헬로우 패킷을 사용하여 이웃 관계를 설정
  • VLSM(가변 길이 서브넷 마스크) 지원
  • 라우팅 업데이트 시 인증 방식 제공
운영 계층 - OSPF : IP 상위 계층에서 동작하는 고유의 프로토콜 사용
- IS-IS : OSI 네트워크 계층 기반으로 IP가 아닌 별도의 데이터그램 구조 사용
라우팅 영역 - IS-IS는 OSI 프로토콜의 특성을 반영하여 Area를 정의하며, Level 1(Intra-area), Level 2(Inter-area), Level 1-2(Both)의 세 가지 레벨 구조로 설계가 가능함.
확장성 - IS-IS는 태생적으로 OSI 기반이지만 IETF가 RFC 1142를 통해 인터넷에서 사용할 수 있도록 확장하였으며, 이를 Integrated IS-IS(RFC 1195)라고 함.
- 이는 IP 데이터그램의 라우팅을 지원하는 방식으로 개선된 형태임.

 

 

- 주요 동작 방식

  • IS-IS 라우터는 네트워크 토폴로지 데이터를 데이터베이스로 저장한다.
  • 각 라우터는 도달 가능한 IP 서브넷에 대한 트리를 생성한다.
  • SPF(Shortest Path First) 연산을 통해 최적 경로를 계산한다.
  • 계산된 경로를 통해 IP 트래픽을 전달한다.

 

- IS-IS의 특징

계층적 설계 라우팅 영역을 레벨 1, 2, 또는 1-2로 구분하여 대규모 네트워크 환경에 적합함
비-IP 기반 동작 라우팅 정보 전달 시 별도의 OSI 네트워크 계층 데이터그램 사용함
확장성 IETF에 의해 인터넷 프로토콜(IP) 환경에서도 사용 가능하도록 표준화됨

 

 IS-IS는 IP 라우팅뿐만 아니라 OSI 프로토콜 기반 네트워크에서의 데이터그램 전달을 위해 강력한 확장성과 설계 유연성을 제공한다. OSPF와 비교해 특정 환경에서는 더 나은 성능과 유연성을 발휘할 수 있어, 특히 ISP와 같은 대규모 네트워크에서 많이 활용된다.

 

6. BGP(Border Gateway Protocol)

 BGP는 여러 AS(Autonomous System)를 경유하여 라우팅 정보를 전달하는 EGP(Exterior Gateway Protocol)로, 내부 라우팅 프로토콜인 IGP(Interior Gateway Protocol)와는 다른 특성을 갖는다.

라우팅 정보 구조 - 해당 정보를 전파한 오리진(Origin) AS 정보
- 정보가 전파된 AS 경로(Path) 정보를 포함하여, 다중 AS 경로에서 라우팅 결정에 활용됨.
역사와 발전 - BGP는 과거의 EGP를 대체하기 위해 1994년에 개발되었으며, 현재는 BGP Version 4(RFC 4271)를 사용함.
- 초창기 RFC 1771에서 시작된 BGP는 지속적인 업데이트를 통해 기능이 향상되었으며, CIDR(Classless Inter-Domain Routing)루트 어그리게이션(Route Aggregation)을 지원함.
통신 방식 - BGP는 유니캐스트 방식으로 라우팅 정보를 교환하며, 신뢰성을 위해 TCP 포트 179를 사용함.
- IGP와 달리 단순 메트릭 기반이 아닌 정책 기반 라우팅을 수행함.

 

- 정책 기반 라우팅의 중요성

 BGP는 정책적 라우팅 프로토콜로, 단순히 코스트나 비용값에 기반하지 않고 AS의 정책과 연계된 상대방의 정책을 고려해야 한다.

  • 특정 경로를 선호하기 위해 AS Prepend를 설정할 때, 상대방 ISP의 정책에 따라 효과가 달라질 수 있다.
  • ISP의 정책을 모를 경우, 설정이 무효화되거나 의도와 다른 결과를 초래할 수 있다.

 

- 관리의 중요성

 

  • Cisco는 BGP 설정의 중요성을 강조하며, 단일 ISP와 연계된 사이트의 관리자가 BGP에 익숙하지 않을 경우 정적 라우팅을 사용할 것을 권장한다.
  • 이는 BGP 설정 오류가 전 세계 인터넷망에 큰 영향을 미칠 수 있기 때문이다.

 

 BGP는 단순한 IGP를 넘어 다수의 AS를 포함한 글로벌 네트워크를 연결하며, 복잡한 정책 기반 라우팅을 가능하게 하는 중요한 프로토콜이다. 이를 정확히 이해하고 관리하는 것이 안정적인 네트워크 운영의 핵심이다.

 

7. 라우팅 결정 프로세스

 데이터그램을 목적지까지 전달하기 위해서는 포워딩할 데이터그램라우팅 테이블이 필요하다. 라우팅 결정 프로세스는 다음과 같이 진행된다.

목적지 IP 주소 추출 - 데이터그램에서 목적지 IP 주소(D)를 확인함.
호스트 라우팅 확인 - 라우팅 테이블에 32비트 호스트 라우팅 정보가 존재한다면, 지정된 다음 홉(Next Hop)으로 데이터그램을 전달하고 프로세스를 종료함.
네트워크 프리픽스 연산 - 목적지 주소 D에서 네트워크 프리픽스(N)를 계산함
직접 연결된 네트워크 확인 - N직접 연결된 네트워크(Connected Network)와 일치하면 해당 네트워크로 데이터그램을 전달함.
- 이때, 데이터그램을 캡슐화하기 위해 물리적 주소를 매칭해야 하며, 예를 들어 이더넷에서는 ARP(Address Resolution Protocol)를 사용함
라우팅 테이블 확인 N이 라우팅 테이블에 존재하면 테이블에 명시된 다음 홉으로 데이터그램을 전달함
디폴트 라우팅 확인 N이 라우팅 테이블에 없을 경우, 라우팅 테이블에 명시된 디폴트 라우트(Default Route)를 통해 데이터그램을 전달함.
전달 불가 시 폐기 위의 모든 조건에 해당하지 않을 경우, 데이터그램을 폐기하고 에러 메시지(목적지 도달 불가)를 반환함.

 

8. 라우팅 테이블의 생성과 가장 긴 프리픽스 매치

라우팅 테이블을 생성하고 유지하기 위해 다음과 같은 3가지 처리가 필요하다.

다양한 라우팅 프로토콜의 처리 라우터가 하나의 라우팅 프로토콜을 사용할 수도 있지만, 대부분의 네트워크에서는 두 가지 이상의 라우팅 프로토콜들(RIP, IGRP, EIGRP, IS-IS, OSPF, BGP)을 동시에 사용하며, 라우터는 이를 처리함
라우팅 테이블 라우팅 프로세스로부터 라우팅 정보를 받고, 포워딩 프로세스로부터 패킷을 라우팅하기 위한 요청에 응답함
포워딩 프로세스 패킷 포워딩 결정을 하기 위해 라우팅 테이블에 정보를 요청함

 

- 최적 경로 결정 과정

  • 라우터는 여러 라우팅 프로토콜로부터 전달받은 경로 정보 중 가장 낮은 메트릭 값을 가진 경로를 선택하여 라우팅 테이블에 등록한다.
  • 동일한 프리픽스에 대한 경로 정보가 여러 프로토콜에서 제공될 경우, AD(Administrative Distance) 값이 가장 낮은 경로를 선택한다.

 

- AD 값에 따른 경로 신뢰도(Cisco 기준)

Route Source Default Administrative Distance Value
Connected(직접 연결) 0
Static(정적 라우팅) 1
Enhanced Interior Gateway Routing Protocol(EIGRP)
요약 라우트
5
BGP(External Border Gateway Protocol) 20
Internal EIGRP 90
IGRP 100
OSPF 110
IS-IS(Intermediate System - Intermediate System) 115
RIP(Routing Information Protocol) 120
EGP(Exterior Gateway Protocol) 140
ODR(On Demand Routing) 160
External EIGRP 170
Internal BGP 200
알려지지 않음 255
  • AD 값이 255인 경우 해당 경로는 신뢰할 수 없다고 판단되며, 라우팅 테이블에 등록되지 않는다.

 

- CEF와 가장 긴 프리픽스 매치

 

  • Cisco 라우터에서는 CEF(Cisco Express Forwarding)를 사용해 패킷 처리 성능을 높이고, 라우팅 테이블을 FIB(Forwarding Information Base)로 변환해 관리한다.
  • 패킷 포워딩 시에는 Longest Prefix Match 규칙에 따라 프리픽스 길이(비트 수)가 가장 긴 경로를 선택한다.

 

Router # show ip route
...
D     192.168.32.0/26  [90/25789217]  via  10.1.1.1
R     192.168.32.0/24  [120/4]  via  10.1.1.2
O     192.168.32.0/19  [110/229840]  via  10.1.1.3
목적지: 192.168.32.1 - 192.168.32.0/26 범위가 가장 긴 프리픽스(26비트)로 매칭됨.
- 따라서 데이터그램은 10.1.1.1로 전달됨
목적지: 192.168.32.100 - 192.168.32.0/24가 가장 긴 프리픽스(24비트)로 매칭됨.
- 데이터그램은 10.1.1.2로 전달됨

 

728x90