공부 중) 라우팅 프로토콜

Logging·2023년 2월 24일
0

개발새발쿼카발

목록 보기
7/7

💁🏻 Intro

어쩌다가 보니, 라우팅 공부하게 되었는데,
생각보다 복잡한 부분도 많으면서 공부 안한 내 자신에 대해 반성하게 되었다.

이번에 정리하는 라우팅들은 ISP 업체에서 사용하고 있는 부분이며, 스위치나 라우터 장비를 다룰때 필수적으로 알아야할 것 같다.

먼저 라우팅은 정적/동적 라우팅으로 크게 두가지로 나뉜다.

정적 라우팅은 동적 라우팅과 다르게 미리 경로를 셋팅하는 라우팅으로 네트워크 설계할 때 쉽고 빠르게 할수 있다는 장점이 있지만, 네트워크 장애 대응하기엔 적절하지 않다고 생각한다.

그래서 ISP 업체에서는 동적라우팅 기반으로 대규모의 네트워크 망 구성을 한다.

아래서부터는 동적 라우팅에 대한 부분을 정리해보았다.

동적라우팅

동적 라우팅은 크게 IGP / BGP 로 나눔


1) BGP (Border Gateway Protocol)

  • AS간 연결

  • 정책을 적용할 수 있는 라우팅 프로토콜

  • 주기적으로 자신 정보를 전송하지 않음

  • 최초 BGP 연결 과정에서 모든 정보를 주고 받으면 이후부터 정보 변경 발생시, Triggerd Update


2) ISIS

  • IS (Intermediate System) : 네트워크 정보를 수집하고 원하는 목적지로 가기 위한 효율적인 경로 배정
  • 주로 Area 나눌 때 사용하는 라우팅
  • Area를 Level 1, Level 2 로 두가지 타입으로 나눔
    . Level 1에 속해있는 라우터는 자신이 속해있는 동일한 Area 정보만 알고 있음
    . 다른 라우터와 데이터 주고 받기 위해선 DefaultGW를 Level2로 잡아야함
  • OSPF와 동일하게 Link State Routing Protocol
  • OSPF 와의 차이점
    1) 한 Area에 라우터를 많이 수용 가능
    . ISIS는 Area를 두개로만 나눠서 그러니깐...
    2) TLV (type, lable, value) 필드를 활용하여 다양한 프로토콜을 쉽게 수용할 수 있음
    . OSPF는 이미 정해진 IP 프로토콜과 OSPF의 규정에 따른 헤더/포맷으로 전달됨
    . OSPF는 IP 데이터만 처리함
    3) Area 경계 라우터 많은 정보를 가지고 있음
    . Level1&2 라우터에는 두개의 Area 정보를 가지고 있어야하면 관리가 필요함

3) OSPF(Open Shortest Path First)

  • Link State Routing Protocol
  • Area 나누기 위해 사용되는 프로토콜
  • 토폴로지 변화를 빠르게 파악할 수 있음
  • 패킷 종류 :
    1) Hello
    . 인접한 라우터에게 보내는 메세지이면서 연결성 판단 및 네이버 관계 유지하는데 사용
    . 네이버 맺은 후 일정 주기마다 hello 패킷 전송
    2) DBD
    . LSA를 DB에 저장하는데, 저장된 정보를 LSA 요약된 정보를 알려줌
    . 네이버 간 LSA를 교환하기 전에 자신의 link state DB에 있는 요약된 LSA 목록을 상대방에게 알려주기 위해 사용됨
    3) LSR (Link State Request)
    . 네트워크에 대한 LSA를 요청할때 사용되는 패킷
    4) LSU (Link State Update)
    . 네트워크의 상태가 변했을 대 라우팅 정보 전송할때 사용
    5) LSA (Link State Advertisement)
    . OSPF가 사용하는 패킷 형태의 라우팅 정보
    . 라우팅 정보를 이웃 라우터들에게 전송
    . LSD(Link State Database)에 저장되고 최적 경로 계산한 후 라우팅 테이블에 적용

MPLS (Multi-Protocol Label Switching)

  • label 기반 고속 데이터 전송하기 위한 프로토콜
    . IP routing 과 다르게 패킷에 Label 추가하여 label 정보확인하여 라우터는 포워딩 반복하여 목적지까지 데이터 전송
  • 구조도

. routing protocl를 이용해서 경로 정보를 교환하고 best path로 선출된 경로먼 라우팅 테이블에 저장
. label exchange protocol은 라우팅 테이블에 내려간 경로 정보에 label 부여하고 이웃해 있는 장비로 label 정보 교환
1) 패킷에 label 붙임
2) 다음 라우터의 label로 변경
3) 마지막에 label pop

  • MPLS를 사용하면 MPLS VPN이 제공됨
    . VRF 생성하여 통신하기 때문에 다른 경로랑 섞이지 않음 (CE-PE)

기타등등


MPLS TE (Traffic Engineering)

  • OSPF 와 ISIS 활용해서 필요한 경로 계산

  • Control 과 Data 부 완전 분리 (스위치 부하 줄일 수 있음 -> data만 포워딩 함)

  • 기능 : FRR(Fast ReRouting) -> 장애 발생시 트래픽을 신속하게 우회
    1) Link Protection : 미리 우회경로 구간에 대한 MPLS TE ERR용 라벨 할당 받은 후, 사용할 준비
    2) Node Protection :Next Hop 라우터에 장애 발생시 패킷을 다른 링크로 우회
    3) Path Protection : 터널 경로상 장애 발생시, 전체 경로를 다른 터널로 우회 , 주 터널의 시작 점 (헤드엔드)에서 설정

VRRP (Virtual Redundancy Routing Protocol)

  • 게이트웨이 이중화 구성

    -> 이중화 목적 : failover / load balancing

  • Failover 목적으로 Master/Slave 장비 간의 전환을 위해 사용

  • 동작 과정 :
    1) 두 장비간 VIP 소유하고 있느냐 -> Master/Slave 장비 구분
    2) Master 장비는 VRRP Advertisement packet을 가상 그룹에 반복적으로 전송
    3) 일정시간 패킷이 수신되지 않으면 master가 죽었다고 판단
    4) slave는 자신이 master가 되기 위해 VRRP Advertisement packet과 GARP Packet 전송

BFD (Bidirectional Forwading Detection)

  • 포워딩 평면간에 양방향 전송경로를 이용하여 오류를 감지하기 위한 프로토콜
  • 라우팅 포워딩/제어 엔진이 분리되어 있는 시스템에서 포워딩 엔진에 BFD 프로토콜 구현
    -> 기존 라우팅에서는 포워딩쪽에서 사용해서 라우터 부하 증가 (정보 추가)
    -> 수 초안에 오류 감지 못함
  • SONET의 오류감지와 복구시간을 향상시키도록 설계
  • 동작 과정 :
    1) BFD 세션 시작
    2) 주기적으로 BFD control packet 전송
    3) 요청을 못받으면 장애 판단
    4) BFD 세션 종료

VxLAN

  • VLAN 확장 개념

  • VLAN 증가 시 물리적 포트 증가 하는 비효율성 발생

  • VTEP이라는 인터페이스 활용


참고
[네트워크] VLAN Trunk 간단 개념 (tistory.com)
https://white-polarbear.tistory.com/39

profile
개발새발쿼카발로 기록중💾

0개의 댓글